From 6f7381c75dd163746e5fdaba44e767f57d97da21 Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Tue, 3 Apr 2018 18:09:54 -0500 Subject: [PATCH] Initial Commit --- .eslintrc.js | 43 + .gitignore | 42 + README.md | 23 + app/build/bundle.js | 6293 ++++++++++++++++++++++++ app/build/main.css | 56 + app/index.html | 16 + app/src/actions/actions_plc.js | 30 + app/src/actions/actions_tags.js | 46 + app/src/assets/electron.png | Bin 0 -> 1998 bytes app/src/assets/react.png | Bin 0 -> 49030 bytes app/src/assets/webpack.png | Bin 0 -> 8579 bytes app/src/components/Controls.js | 260 + app/src/components/Header.js | 76 + app/src/components/Main.js | 101 + app/src/components/Permissives.js | 74 + app/src/components/Settings.js | 155 + app/src/components/TagsIndex.js | 130 + app/src/global.css | 53 + app/src/reducers/index.js | 15 + app/src/reducers/reducer_plc.js | 15 + app/src/reducers/reducer_taghistory.js | 29 + app/src/reducers/reducer_tags.js | 21 + app/src/renderer_process.js | 45 + main_process.js | 74 + package.json | 63 + tagList.json | 105 + webpack.config.js | 60 + 27 files changed, 7825 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/build/bundle.js create mode 100644 app/build/main.css create mode 100644 app/index.html create mode 100644 app/src/actions/actions_plc.js create mode 100644 app/src/actions/actions_tags.js create mode 100644 app/src/assets/electron.png create mode 100644 app/src/assets/react.png create mode 100644 app/src/assets/webpack.png create mode 100644 app/src/components/Controls.js create mode 100644 app/src/components/Header.js create mode 100644 app/src/components/Main.js create mode 100644 app/src/components/Permissives.js create mode 100644 app/src/components/Settings.js create mode 100644 app/src/components/TagsIndex.js create mode 100644 app/src/global.css create mode 100644 app/src/reducers/index.js create mode 100644 app/src/reducers/reducer_plc.js create mode 100644 app/src/reducers/reducer_taghistory.js create mode 100644 app/src/reducers/reducer_tags.js create mode 100644 app/src/renderer_process.js create mode 100644 main_process.js create mode 100644 package.json create mode 100644 tagList.json create mode 100644 webpack.config.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..f423366 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,43 @@ +module.exports = { + "env": { + "browser": true, + "es6": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:react/recommended" + ], + "parser": "babel-eslint", + "parserOptions": { + "ecmaFeatures": { + "experimentalObjectRestSpread": true, + "jsx": true + }, + "sourceType": "module" + }, + "plugins": [ + "react" + ], + "rules": { + "indent": [ + "error", + "tab" + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "double" + ], + "semi": [ + "error", + "always" + ], + "no-console": "off", + "react/prop-types": [0], + "no-case-declarations": "off" + } +}; \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57252c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# +*-lock.json + +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +dist/* diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec2e2b6 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# node-ethernet-ip-electron + +A basic electron app to read values from a PLC. + +![mainWindow](readingTag.gif) + +## Install +``` bash +# Clone the repository +$ git clone https://github.com/patrickjmcd/node-ethernet-ip-electron + +# Go into the repository +$ cd node-ethernet-ip-electron + +# Install dependencies +$ npm install +``` + +## Develop +Just run this command to start developing with hot reloading. +``` bash +$ npm start +``` diff --git a/app/build/bundle.js b/app/build/bundle.js new file mode 100644 index 0000000..8d1a979 --- /dev/null +++ b/app/build/bundle.js @@ -0,0 +1,6293 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "build/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./app/src/actions/actions_plc.js": +/*!****************************************!*\ + !*** ./app/src/actions/actions_plc.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.PLC_DATA_RECEIVED = exports.INITIALIZE_PLC = exports.SET_PLC_IPADDRESS = undefined;\nexports.setPlcIpAddress = setPlcIpAddress;\nexports.ipcPlcInitializeSend = ipcPlcInitializeSend;\nexports.ipcPlcDetailsReceived = ipcPlcDetailsReceived;\n\nvar _electron = __webpack_require__(/*! electron */ \"electron\");\n\nvar SET_PLC_IPADDRESS = exports.SET_PLC_IPADDRESS = \"SET_PLC_IPADDRESS\";\nvar INITIALIZE_PLC = exports.INITIALIZE_PLC = \"INITIALIZE_PLC\";\nvar PLC_DATA_RECEIVED = exports.PLC_DATA_RECEIVED = \"PLC_DATA_RECEIVED\";\n\nfunction setPlcIpAddress(ipAddress) {\n\treturn {\n\t\ttype: SET_PLC_IPADDRESS,\n\t\tpayload: ipAddress\n\t};\n}\n\nfunction ipcPlcInitializeSend(ipAddress, tagList) {\n\t_electron.ipcRenderer.send(\"plc:initialize\", ipAddress, tagList);\n\treturn {\n\t\ttype: INITIALIZE_PLC,\n\t\tpayload: true\n\t};\n}\n\nfunction ipcPlcDetailsReceived(event, plcData) {\n\tconsole.log(\"action creator got PLC data\", plcData);\n\treturn {\n\t\ttype: PLC_DATA_RECEIVED,\n\t\tpayload: plcData\n\t};\n}\n\n//# sourceURL=webpack:///./app/src/actions/actions_plc.js?"); + +/***/ }), + +/***/ "./app/src/actions/actions_tags.js": +/*!*****************************************!*\ + !*** ./app/src/actions/actions_tags.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.WRITE_TAG = exports.DELETE_TAG = exports.STORE_NEW_TAG = exports.IPC_TAGSYNC = exports.IPC_TAGUPDATE = undefined;\nexports.ipcTagUpdate = ipcTagUpdate;\nexports.ipcTagSync = ipcTagSync;\nexports.storeNewTag = storeNewTag;\nexports.deleteTag = deleteTag;\nexports.writeTag = writeTag;\n\nvar _electron = __webpack_require__(/*! electron */ \"electron\");\n\nvar IPC_TAGUPDATE = exports.IPC_TAGUPDATE = \"IPC_TAGUPDATE\";\nvar IPC_TAGSYNC = exports.IPC_TAGSYNC = \"IPC_TAGSYNC\";\nvar STORE_NEW_TAG = exports.STORE_NEW_TAG = \"STORE_NEW_TAG\";\nvar DELETE_TAG = exports.DELETE_TAG = \"DELETE_TAG\";\nvar WRITE_TAG = exports.WRITE_TAG = \"WRITE_TAG\";\n\nfunction ipcTagUpdate(event, tag) {\n\treturn {\n\t\ttype: IPC_TAGUPDATE,\n\t\tpayload: tag.state.tag\n\t};\n}\n\nfunction ipcTagSync(ipAddress, tagList) {\n\t_electron.ipcRenderer.send(\"tag:sync\", ipAddress, tagList);\n\treturn {\n\t\ttype: IPC_TAGSYNC,\n\t\tpayload: true\n\t};\n}\n\nfunction storeNewTag(tag) {\n\treturn {\n\t\ttype: STORE_NEW_TAG,\n\t\tpayload: tag\n\t};\n}\n\nfunction deleteTag(tagName) {\n\treturn {\n\t\ttype: DELETE_TAG,\n\t\tpayload: tagName\n\t};\n}\n\nfunction writeTag(tagName, value) {\n\t_electron.ipcRenderer.send(\"tag:write\", tagName, value);\n\n\treturn {\n\t\ttype: WRITE_TAG,\n\t\tpayload: true\n\t};\n}\n\n//# sourceURL=webpack:///./app/src/actions/actions_tags.js?"); + +/***/ }), + +/***/ "./app/src/components/Controls.js": +/*!****************************************!*\ + !*** ./app/src/components/Controls.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _actions_tags = __webpack_require__(/*! ../actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Controls = function (_Component) {\n\t_inherits(Controls, _Component);\n\n\tfunction Controls(props) {\n\t\t_classCallCheck(this, Controls);\n\n\t\tvar _this = _possibleConstructorReturn(this, (Controls.__proto__ || Object.getPrototypeOf(Controls)).call(this, props));\n\n\t\t_this.onSetpointChange = function (event, parName) {\n\t\t\tvar value = event.target.value;\n\n\t\t\t_this.setState({ setpoints: _extends({}, _this.state.setpoints, _defineProperty({}, parName, value)) });\n\t\t};\n\n\t\t_this.onSetpointSubmit = function (event, parName) {\n\t\t\tevent.preventDefault();\n\n\t\t\tswitch (parName) {\n\t\t\t\tcase \"flowrate\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_FlowSP\", _this.state.setpoints.flowrate);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"fluidlevel\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_FluidLevelSP\", _this.state.setpoints.fluidlevel);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"tubingpressure\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_TubingPressureSP\", _this.state.setpoints.tubingpressure);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"frequency\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_ManualSP\", _this.state.setpoints.frequency);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\t_this.onPIDParameterSelect = function (e, parName) {\n\t\t\tevent.preventDefault();\n\n\t\t\tswitch (parName) {\n\t\t\t\tcase \"flowrate\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_Flow\", true);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"fluidlevel\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_FluidLevel\", true);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"tubingpressure\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_TubingPressure\", true);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"frequency\":\n\t\t\t\t\t_this.props.writeTag(\"cfg_PID_Manual\", true);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\t_this.state = {\n\t\t\tsetpoints: {}\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(Controls, [{\n\t\tkey: \"writeStart\",\n\t\tvalue: function writeStart() {\n\t\t\tthis.props.writeTag(\"cmd_Start\", true);\n\t\t}\n\t}, {\n\t\tkey: \"writeStop\",\n\t\tvalue: function writeStop() {\n\t\t\tthis.props.writeTag(\"cmd_Stop\", true);\n\t\t}\n\t}, {\n\t\tkey: \"componentDidMount\",\n\t\tvalue: function componentDidMount() {\n\t\t\tif (this.props.tags) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsetpoints: {\n\t\t\t\t\t\tflowrate: this.props.tags.cfg_PID_FlowSP.value,\n\t\t\t\t\t\tfluidlevel: this.props.tags.cfg_PID_FluidLevelSP.value,\n\t\t\t\t\t\ttubingpressure: this.props.tags.cfg_PID_TubingPressureSP.value,\n\t\t\t\t\t\tfrequency: this.props.tags.cfg_PID_ManualSP.value\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (!this.props.tags) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\tnull,\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h1\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Loading...\"\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!this.props.tags.Device_Status_INT) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\tnull,\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h1\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Loading...\"\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tvar startBtnClass = this.props.tags.Device_Status_INT.value === 4 ? \"btn btn-success control-button\" : \"btn btn-secondary disabled control-button\";\n\t\t\tvar stopBtnClass = this.props.tags.Device_Status_INT.value !== 4 ? \"btn btn-danger control-button\" : \"btn btn-secondary disabled control-button\";\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"div\",\n\t\t\t\t{ className: \"container\", style: { textAlign: \"center\" } },\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"Controls\"\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"table\",\n\t\t\t\t\t{ className: \"table\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"tbody\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: startBtnClass,\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.writeStart();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Start\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: stopBtnClass,\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.writeStop();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Stop\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\"hr\", null),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h3\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"Control Setpoints\"\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"table\",\n\t\t\t\t\t{ className: \"table\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"tbody\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: this.props.tags.sts_PID_Control.value === 0 ? \"btn btn-success disabled\" : \"btn btn-light\",\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onPIDParameterSelect(e, \"flowrate\");\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Flow Rate\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: this.props.tags.sts_PID_Control.value === 1 ? \"btn btn-success disabled\" : \"btn btn-light\",\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onPIDParameterSelect(e, \"fluidlevel\");\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Fluid Level\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: this.props.tags.sts_PID_Control.value === 2 ? \"btn btn-success disabled\" : \"btn btn-light\",\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onPIDParameterSelect(e, \"tubingpressure\");\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Tubing Pressure\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: this.props.tags.sts_PID_Control.value === 3 ? \"btn btn-success disabled\" : \"btn btn-light\",\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onPIDParameterSelect(e, \"frequency\");\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Manual Frequency\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\t\tvalue: this.state.setpoints.flowrate,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointChange(e, \"flowrate\");\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclassName: \"form-control\",\n\t\t\t\t\t\t\t\t\ttype: \"number\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\t\tvalue: this.state.setpoints.fluidlevel,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointChange(e, \"fluidlevel\");\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclassName: \"form-control\",\n\t\t\t\t\t\t\t\t\ttype: \"number\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\t\tvalue: this.state.setpoints.tubingpressure,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointChange(e, \"tubingpressure\");\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclassName: \"form-control\",\n\t\t\t\t\t\t\t\t\ttype: \"number\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\t\tvalue: this.state.setpoints.frequency,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointChange(e, \"frequency\");\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclassName: \"form-control\",\n\t\t\t\t\t\t\t\t\ttype: \"number\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointSubmit(e, \"flowrate\");\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tclassName: \"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Update\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointSubmit(e, \"fluidlevel\");\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tclassName: \"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Update\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointSubmit(e, \"tubingpressure\");\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tclassName: \"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Update\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onSetpointSubmit(e, \"frequency\");\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tclassName: \"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"Update\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Controls;\n}(_react.Component);\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps, { writeTag: _actions_tags.writeTag })(Controls);\n\n//# sourceURL=webpack:///./app/src/components/Controls.js?"); + +/***/ }), + +/***/ "./app/src/components/Header.js": +/*!**************************************!*\ + !*** ./app/src/components/Header.js ***! + \**************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _reactRouterDom = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/es/index.js\");\n\nvar _reactFontawesome = __webpack_require__(/*! @fortawesome/react-fontawesome */ \"./node_modules/@fortawesome/react-fontawesome/index.es.js\");\n\nvar _reactFontawesome2 = _interopRequireDefault(_reactFontawesome);\n\nvar _fontawesomeProRegular = __webpack_require__(/*! @fortawesome/fontawesome-pro-regular */ \"./node_modules/@fortawesome/fontawesome-pro-regular/index.es.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Component) {\n\t_inherits(Header, _Component);\n\n\tfunction Header() {\n\t\t_classCallCheck(this, Header);\n\n\t\treturn _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n\t}\n\n\t_createClass(Header, [{\n\t\tkey: \"renderRunningState\",\n\t\tvalue: function renderRunningState() {\n\t\t\tif (!this.props.tags) {\n\t\t\t\treturn _react2.default.createElement(\"span\", null);\n\t\t\t}\n\n\t\t\tif (!this.props.tags.Device_Status_INT) {\n\t\t\t\treturn _react2.default.createElement(\"span\", null);\n\t\t\t}\n\n\t\t\tvar deviceStatus = void 0;\n\t\t\tvar deviceClass = void 0;\n\t\t\tswitch (this.props.tags.Device_Status_INT.value) {\n\t\t\t\tcase 0:\n\t\t\t\t\tdeviceStatus = \"Running\";\n\t\t\t\t\tdeviceClass = \"btn btn-success\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tdeviceStatus = \"Pumped Off\";\n\t\t\t\t\tdeviceClass = \"btn btn-warning\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tdeviceStatus = \"Alarmed\";\n\t\t\t\t\tdeviceClass = \"btn btn-danger\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tdeviceStatus = \"Locked Out\";\n\t\t\t\t\tdeviceClass = \"btn btn-danger\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tdeviceStatus = \"Stopped\";\n\t\t\t\t\tdeviceClass = \"btn btn-secondary\";\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tdeviceStatus = \"Unknown\";\n\t\t\t\t\tdeviceClass = \"btn btn-info\";\n\t\t\t}\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"button\",\n\t\t\t\t{ className: deviceClass + \" disabled\" },\n\t\t\t\tdeviceStatus\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"nav\",\n\t\t\t\t{ className: \"navbar navbar-light navbar-expand-sm bg-light\" },\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t{ to: \"/\", className: \"navbar-brand\" },\n\t\t\t\t\t_react2.default.createElement(_reactFontawesome2.default, { icon: _fontawesomeProRegular.faTint }),\n\t\t\t\t\t\" Max Water System\"\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"navbar-nav\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t\t{ className: \"nav-item nav-link\", to: \"/controls\" },\n\t\t\t\t\t\t\"Control\"\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t\t{ className: \"nav-item nav-link\", to: \"/permissives\" },\n\t\t\t\t\t\t\"Permissives\"\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t\t{ className: \"nav-item nav-link\", to: \"/alltags\" },\n\t\t\t\t\t\t\"All Tags\"\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"navbar-nav ml-auto\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"span\",\n\t\t\t\t\t\t{ className: \"navbar-text\" },\n\t\t\t\t\t\tthis.renderRunningState()\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t\t{ className: \"nav-item nav-link\", to: \"/settings\", id: \"settings-button\" },\n\t\t\t\t\t\t_react2.default.createElement(_reactFontawesome2.default, { icon: _fontawesomeProRegular.faCog })\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Header;\n}(_react.Component);\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps)(Header);\n\n//# sourceURL=webpack:///./app/src/components/Header.js?"); + +/***/ }), + +/***/ "./app/src/components/Main.js": +/*!************************************!*\ + !*** ./app/src/components/Main.js ***! + \************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodash = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _reactVis = __webpack_require__(/*! react-vis */ \"./node_modules/react-vis/es/index.js\");\n\n__webpack_require__(/*! ../../../node_modules/react-vis/dist/style.css */ \"./node_modules/react-vis/dist/style.css\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Main = function (_Component) {\n\t_inherits(Main, _Component);\n\n\tfunction Main() {\n\t\t_classCallCheck(this, Main);\n\n\t\treturn _possibleConstructorReturn(this, (Main.__proto__ || Object.getPrototypeOf(Main)).apply(this, arguments));\n\t}\n\n\t_createClass(Main, [{\n\t\tkey: \"getChartValues\",\n\t\tvalue: function getChartValues(values) {\n\t\t\treturn _lodash2.default.map(values, function (val) {\n\t\t\t\treturn { x: val.timestamp, y: val.value };\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tif (!this.props.tagHistory) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"container\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h1\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Loading...\"\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"div\",\n\t\t\t\t{ className: \"container\" },\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h3\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"Process Values\"\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t_reactVis.FlexibleWidthXYPlot,\n\t\t\t\t\t{\n\t\t\t\t\t\theight: 300,\n\t\t\t\t\t\txType: \"time\"\n\t\t\t\t\t},\n\t\t\t\t\t_react2.default.createElement(_reactVis.VerticalGridLines, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.HorizontalGridLines, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.XAxis, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.YAxis, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.val_IntakePressure)\n\t\t\t\t\t}),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.val_Flowmeter)\n\t\t\t\t\t}),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.val_FluidLevel)\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(_reactVis.DiscreteColorLegend, {\n\t\t\t\t\titems: [{ title: \"Intake Pressure\" }, { title: \"Flowmeter\" }, { title: \"Fluid Level\" }],\n\t\t\t\t\torientation: \"horizontal\"\n\t\t\t\t}),\n\t\t\t\t_react2.default.createElement(\"hr\", null),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h3\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"VFD Data\"\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t_reactVis.FlexibleWidthXYPlot,\n\t\t\t\t\t{\n\t\t\t\t\t\theight: 300,\n\t\t\t\t\t\txType: \"time\"\n\t\t\t\t\t},\n\t\t\t\t\t_react2.default.createElement(_reactVis.VerticalGridLines, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.HorizontalGridLines, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.XAxis, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.YAxis, null),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.VFD_OutCurrent)\n\t\t\t\t\t}),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.VFD_SpeedFdbk)\n\t\t\t\t\t}),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.VFD_OutPower)\n\t\t\t\t\t}),\n\t\t\t\t\t_react2.default.createElement(_reactVis.LineSeries, {\n\t\t\t\t\t\tdata: this.getChartValues(this.props.tagHistory.VFD_Temp)\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(_reactVis.DiscreteColorLegend, {\n\t\t\t\t\titems: [{ title: \"VFD Current\" }, { title: \"VFD Speed Feedback\" }, { title: \"VFD Output Power\" }, { title: \"VFD Temp\" }],\n\t\t\t\t\torientation: \"horizontal\"\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Main;\n}(_react.Component);\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags,\n\t\ttagHistory: state.tagHistory\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps)(Main);\n\n//# sourceURL=webpack:///./app/src/components/Main.js?"); + +/***/ }), + +/***/ "./app/src/components/Permissives.js": +/*!*******************************************!*\ + !*** ./app/src/components/Permissives.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Permissives = function (_Component) {\n\t_inherits(Permissives, _Component);\n\n\tfunction Permissives() {\n\t\tvar _ref;\n\n\t\tvar _temp, _this, _ret;\n\n\t\t_classCallCheck(this, Permissives);\n\n\t\tfor (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\targs[_key] = arguments[_key];\n\t\t}\n\n\t\treturn _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Permissives.__proto__ || Object.getPrototypeOf(Permissives)).call.apply(_ref, [this].concat(args))), _this), _this.renderTagButton = function (tagName, description) {\n\t\t\tif (!_this.props.tags[tagName]) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"button\",\n\t\t\t\t\t{\n\t\t\t\t\t\tclassName: \"btn disabled\"\n\t\t\t\t\t},\n\t\t\t\t\tdescription\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tvar btnClassName = _this.props.tags[tagName].value ? \"btn btn-success\" : \"btn btn-danger\";\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"button\",\n\t\t\t\t{ className: btnClassName + \" disabled\" },\n\t\t\t\tdescription\n\t\t\t);\n\t\t}, _temp), _possibleConstructorReturn(_this, _ret);\n\t}\n\n\t_createClass(Permissives, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tif (!this.props.tags) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\tnull,\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h2\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Loading...\"\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"div\",\n\t\t\t\tnull,\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"table\",\n\t\t\t\t\t{ id: \"permissives-table\", className: \"table\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"thead\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"th\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"sp_ALL\", \"START\")\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"th\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"rp_ALL\", \"RUN\")\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"tbody\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"sp_Flowmeter\", \"Flowmeter\")\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"rp_Flowmeter\", \"Flowmeter\")\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"sp_FluidLevel\", \"Fluid Level\")\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"rp_FluidLevel\", \"Fluid Level\")\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"sp_IntakePressure\", \"Intake Pressure\")\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"rp_IntakePressure\", \"Intake Pressure\")\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"sp_IntakeTemperature\", \"Intake Temperature\")\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tthis.renderTagButton(\"rp_IntakeTemperature\", \"Intake Temperature\")\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Permissives;\n}(_react.Component);\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps)(Permissives);\n\n//# sourceURL=webpack:///./app/src/components/Permissives.js?"); + +/***/ }), + +/***/ "./app/src/components/Settings.js": +/*!****************************************!*\ + !*** ./app/src/components/Settings.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _lodash = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _actions_plc = __webpack_require__(/*! ../actions/actions_plc */ \"./app/src/actions/actions_plc.js\");\n\nvar _actions_tags = __webpack_require__(/*! ../actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Settings = function (_Component) {\n\t_inherits(Settings, _Component);\n\n\tfunction Settings(props) {\n\t\t_classCallCheck(this, Settings);\n\n\t\tvar _this = _possibleConstructorReturn(this, (Settings.__proto__ || Object.getPrototypeOf(Settings)).call(this, props));\n\n\t\t_this.getTagList = function () {\n\t\t\tvar tags = _this.props.tags;\n\n\n\t\t\tvar tableMiddle = _lodash2.default.map(tags, function (tag) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"tr\",\n\t\t\t\t\t{ key: tag.name },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\ttag.name\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: \"btn red\",\n\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\treturn _this.onDeleteClick(e, tag.name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"i\",\n\t\t\t\t\t\t\t\t{ className: \"material-icons\" },\n\t\t\t\t\t\t\t\t\"clear\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"table\",\n\t\t\t\tnull,\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"thead\",\n\t\t\t\t\tnull,\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"th\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"Tag\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\"th\", null)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"tbody\",\n\t\t\t\t\tnull,\n\t\t\t\t\ttableMiddle\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\t_this.onDeleteClick = function (e, tagName) {\n\t\t\te.preventDefault();\n\t\t\t_this.props.deleteTag(tagName);\n\t\t};\n\n\t\t_this.onIpAddressInputChange = function (event) {\n\t\t\t_this.setState({ ipAddress: event.target.value });\n\t\t};\n\n\t\t_this.sendIpAddress = function (e) {\n\t\t\te.preventDefault();\n\t\t\t_this.props.setPlcIpAddress(_this.state.ipAddress);\n\t\t};\n\n\t\t_this.onNewTagChange = function (e) {\n\t\t\t_this.setState({ newTag: e.target.value });\n\t\t};\n\n\t\t_this.onNewTagSubmit = function (e) {\n\t\t\te.preventDefault();\n\t\t\t_this.props.storeNewTag(_this.state.newTag);\n\t\t\t_this.setState({ newTag: \"\" });\n\t\t};\n\n\t\t_this.onSave = function (e) {\n\t\t\tconsole.log(_this.props);\n\t\t\te.preventDefault();\n\t\t\t_this.props.ipcPlcInitializeSend(_this.props.plc.ipAddress, _this.props.tags);\n\t\t\t_this.props.history.push(\"/\");\n\t\t};\n\n\t\t_this.state = {\n\t\t\tipAddress: \"\",\n\t\t\tnewTag: \"\"\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(Settings, [{\n\t\tkey: \"componentWillMount\",\n\t\tvalue: function componentWillMount() {\n\t\t\tconsole.log(this.props.plc);\n\t\t\tif (this.props.plc && this.props.plc.ipAddress) {\n\t\t\t\tconsole.log(this.props.plc.ipAddress);\n\t\t\t\tthis.setState({ ipAddress: this.props.plc.ipAddress });\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar ipAddressBtnClass = this.state.ipAddress === this.props.plc.ipAddress || this.state.ipAddress.length === 0 ? \"btn disabled right\" : \"btn right\";\n\t\t\tvar initializeBtnClass = this.props.plc.ipAddress && _lodash2.default.map(this.props.tags, function (t) {\n\t\t\t\treturn t;\n\t\t\t}).length > 0 ? \"btn\" : \"btn disabled\";\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"div\",\n\t\t\t\t{ style: styles.container },\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"ul\",\n\t\t\t\t\t{ className: \"collection with-header\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"li\",\n\t\t\t\t\t\t{ className: \"collection-header\" },\n\t\t\t\t\t\t\"Settings\"\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"form\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"li\",\n\t\t\t\t\t\t\t{ className: \"collection-item\" },\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"p\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\"IP Address\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\tvalue: this.state.ipAddress,\n\t\t\t\t\t\t\t\tplaceholder: \"PLC IP Address\",\n\t\t\t\t\t\t\t\tonChange: this.onIpAddressInputChange\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName: ipAddressBtnClass,\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.sendIpAddress(e);\n\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\"Set IP Address\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"form\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"li\",\n\t\t\t\t\t\t\t{ className: \"collection-item\" },\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\"Tag List\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tthis.getTagList(),\n\t\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\t\tvalue: this.state.newTag,\n\t\t\t\t\t\t\t\tonChange: this.onNewTagChange,\n\t\t\t\t\t\t\t\tplaceholder: \"New Tag Name...\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName: \"btn\",\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onNewTagSubmit(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Add Tag\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"li\",\n\t\t\t\t\t\t\t{ className: \"collection-item right\" },\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName: initializeBtnClass,\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onSave(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Save\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Settings;\n}(_react.Component);\n\nvar styles = {\n\tcontainer: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\"\n\t},\n\tpointer: {\n\t\tcursor: \"pointer\"\n\t}\n};\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags,\n\t\tplc: state.plc\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps, { setPlcIpAddress: _actions_plc.setPlcIpAddress, storeNewTag: _actions_tags.storeNewTag, ipcPlcInitializeSend: _actions_plc.ipcPlcInitializeSend, deleteTag: _actions_tags.deleteTag })(Settings);\n\n//# sourceURL=webpack:///./app/src/components/Settings.js?"); + +/***/ }), + +/***/ "./app/src/components/TagsIndex.js": +/*!*****************************************!*\ + !*** ./app/src/components/TagsIndex.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _reactRouterDom = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/es/index.js\");\n\nvar _lodash = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _reactSvgGauge = __webpack_require__(/*! react-svg-gauge */ \"./node_modules/react-svg-gauge/lib/Gauge.js\");\n\nvar _reactSvgGauge2 = _interopRequireDefault(_reactSvgGauge);\n\nvar _actions_tags = __webpack_require__(/*! ../actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TagsIndex = function (_Component) {\n\t_inherits(TagsIndex, _Component);\n\n\tfunction TagsIndex(props) {\n\t\t_classCallCheck(this, TagsIndex);\n\n\t\tvar _this = _possibleConstructorReturn(this, (TagsIndex.__proto__ || Object.getPrototypeOf(TagsIndex)).call(this, props));\n\n\t\t_this.onWriteButtonClick = function (tagName) {\n\t\t\tconsole.log(tagName, _this.state.writes[tagName]);\n\t\t\t_this.props.writeTag(tagName, _this.state.writes[tagName]);\n\t\t};\n\n\t\t_this.onTagWriteFieldChanged = function (e, tagName) {\n\t\t\tconsole.log(tagName, e.target.value);\n\t\t\t_this.setState({ writes: _extends({}, _this.state.writes, _defineProperty({}, tagName, e.target.value)) });\n\t\t};\n\n\t\t_this.state = { writes: {} };\n\t\treturn _this;\n\t}\n\n\t_createClass(TagsIndex, [{\n\t\tkey: \"renderTagsList\",\n\t\tvalue: function renderTagsList() {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn _lodash2.default.map(this.props.tags, function (t) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"tr\",\n\t\t\t\t\t{ key: t.name },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tt.name\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tMath.round(t.value * 100) / 100\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\"input\", {\n\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\treturn _this2.onTagWriteFieldChanged(e, t.name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"td\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"button\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: \"waves-effect waves-light btn\",\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn _this2.onWriteButtonClick(t.name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Write\"\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"renderTagsGauges\",\n\t\tvalue: function renderTagsGauges() {\n\t\t\treturn _lodash2.default.map(this.props.tags, function (tag) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"col s4\", key: tag.name },\n\t\t\t\t\t_react2.default.createElement(_reactSvgGauge2.default, { value: Math.round(tag.value * 100) / 100,\n\t\t\t\t\t\twidth: 200,\n\t\t\t\t\t\theight: 150,\n\t\t\t\t\t\tlabel: tag.name,\n\t\t\t\t\t\tvalueLabelStyle: styles.valueLabel,\n\t\t\t\t\t\ttopLabelStyle: styles.topLabel,\n\t\t\t\t\t\tminMaxLabelStyle: styles.minMaxLabel })\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar PLC = \"PLC\";\n\t\t\tif (this.props.plc.details) {\n\t\t\t\tPLC = this.props.plc.details.name;\n\t\t\t}\n\n\t\t\tif (!this.props.tags || _lodash2.default.map(this.props.tags, function (t) {\n\t\t\t\treturn t;\n\t\t\t}).length === 0) {\n\t\t\t\treturn _react2.default.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ style: styles.container },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h3\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"No Tags.\"\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Add some in \",\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t_reactRouterDom.Link,\n\t\t\t\t\t\t\t{ to: \"/settings\" },\n\t\t\t\t\t\t\t\"Settings\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\".\"\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t\"div\",\n\t\t\t\t{ style: styles.container },\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h2\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"Tags for \",\n\t\t\t\t\tthis.props.plc.ipAddress\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"h3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tPLC\n\t\t\t\t),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\"table\",\n\t\t\t\t\t{ className: \"table\" },\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"thead\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"th\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\"Tag Name\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\t\t\"th\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\"Value\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t_react2.default.createElement(\"th\", null),\n\t\t\t\t\t\t\t_react2.default.createElement(\"th\", null)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t\t\"tbody\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tthis.renderTagsList()\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn TagsIndex;\n}(_react.Component);\n\nvar styles = {\n\tcontainer: {\n\t\theight: \"100%\",\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tjustifyContent: \"space-around\",\n\t\ttextAlign: \"center\"\n\t},\n\tbuttonContainer: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\"\n\t},\n\tbutton: {\n\t\tmarginBottom: \"15px\"\n\t},\n\tvalueLabel: {\n\t\tfontSize: \"1.5em\"\n\t},\n\ttopLabel: {\n\t\tfontSize: \"1.35em\"\n\t},\n\tminMaxLabel: {\n\t\tfontSize: \"0.85em\"\n\t}\n};\n\nfunction mapStateToProps(state) {\n\treturn {\n\t\ttags: state.tags,\n\t\tplc: state.plc\n\t};\n}\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps, { writeTag: _actions_tags.writeTag })(TagsIndex);\n\n//# sourceURL=webpack:///./app/src/components/TagsIndex.js?"); + +/***/ }), + +/***/ "./app/src/global.css": +/*!****************************!*\ + !*** ./app/src/global.css ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./app/src/global.css?"); + +/***/ }), + +/***/ "./app/src/reducers/index.js": +/*!***********************************!*\ + !*** ./app/src/reducers/index.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar _reducer_tags = __webpack_require__(/*! ./reducer_tags */ \"./app/src/reducers/reducer_tags.js\");\n\nvar _reducer_tags2 = _interopRequireDefault(_reducer_tags);\n\nvar _reducer_plc = __webpack_require__(/*! ./reducer_plc */ \"./app/src/reducers/reducer_plc.js\");\n\nvar _reducer_plc2 = _interopRequireDefault(_reducer_plc);\n\nvar _reducer_taghistory = __webpack_require__(/*! ./reducer_taghistory */ \"./app/src/reducers/reducer_taghistory.js\");\n\nvar _reducer_taghistory2 = _interopRequireDefault(_reducer_taghistory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar rootReducer = (0, _redux.combineReducers)({\n\ttags: _reducer_tags2.default,\n\ttagHistory: _reducer_taghistory2.default,\n\tplc: _reducer_plc2.default\n});\n\nexports.default = rootReducer;\n\n//# sourceURL=webpack:///./app/src/reducers/index.js?"); + +/***/ }), + +/***/ "./app/src/reducers/reducer_plc.js": +/*!*****************************************!*\ + !*** ./app/src/reducers/reducer_plc.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function () {\n\tvar state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\tvar action = arguments[1];\n\n\tswitch (action.type) {\n\t\tcase _actions_plc.SET_PLC_IPADDRESS:\n\t\t\treturn _extends({}, state, { ipAddress: action.payload });\n\n\t\tcase _actions_plc.PLC_DATA_RECEIVED:\n\t\t\tconsole.log(action.payload);\n\t\t\treturn _extends({}, state, action.payload);\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nvar _actions_plc = __webpack_require__(/*! ../actions/actions_plc */ \"./app/src/actions/actions_plc.js\");\n\n//# sourceURL=webpack:///./app/src/reducers/reducer_plc.js?"); + +/***/ }), + +/***/ "./app/src/reducers/reducer_taghistory.js": +/*!************************************************!*\ + !*** ./app/src/reducers/reducer_taghistory.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function () {\n\tvar state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\tvar action = arguments[1];\n\n\tswitch (action.type) {\n\t\tcase _actions_tags.IPC_TAGUPDATE:\n\t\t\tvar _action$payload = action.payload,\n\t\t\t name = _action$payload.name,\n\t\t\t value = _action$payload.value;\n\n\t\t\tif (_renderer_process.historyTags.includes(name)) {\n\t\t\t\tvar thisEntry = {\n\t\t\t\t\tvalue: value,\n\t\t\t\t\ttimestamp: new Date()\n\t\t\t\t};\n\t\t\t\tvar tagHistory = [thisEntry];\n\t\t\t\tif (state[name]) {\n\t\t\t\t\ttagHistory = _lodash2.default.take(_lodash2.default.concat(tagHistory, state[name]), 500);\n\t\t\t\t}\n\t\t\t\treturn _extends({}, state, _defineProperty({}, name, tagHistory));\n\t\t\t} else {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nvar _lodash = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _actions_tags = __webpack_require__(/*! ../actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nvar _renderer_process = __webpack_require__(/*! ../renderer_process */ \"./app/src/renderer_process.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//# sourceURL=webpack:///./app/src/reducers/reducer_taghistory.js?"); + +/***/ }), + +/***/ "./app/src/reducers/reducer_tags.js": +/*!******************************************!*\ + !*** ./app/src/reducers/reducer_tags.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function () {\n\tvar state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\tvar action = arguments[1];\n\n\tswitch (action.type) {\n\t\tcase _actions_tags.IPC_TAGUPDATE:\n\t\t\tvar _action$payload = action.payload,\n\t\t\t name = _action$payload.name,\n\t\t\t value = _action$payload.value;\n\n\t\t\treturn _extends({}, state, _defineProperty({}, name, { name: name, value: value }));\n\n\t\tcase _actions_tags.STORE_NEW_TAG:\n\t\t\tvar newTagName = action.payload;\n\t\t\treturn _extends({}, state, _defineProperty({}, newTagName, { name: newTagName }));\n\n\t\tcase _actions_tags.DELETE_TAG:\n\t\t\treturn _lodash2.default.omit(state, action.payload);\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nvar _lodash = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _actions_tags = __webpack_require__(/*! ../actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//# sourceURL=webpack:///./app/src/reducers/reducer_tags.js?"); + +/***/ }), + +/***/ "./app/src/renderer_process.js": +/*!*************************************!*\ + !*** ./app/src/renderer_process.js ***! + \*************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.historyTags = undefined;\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = __webpack_require__(/*! react-redux */ \"./node_modules/react-redux/es/index.js\");\n\nvar _redux = __webpack_require__(/*! redux */ \"./node_modules/redux/es/index.js\");\n\nvar _reduxElectronIpc = __webpack_require__(/*! redux-electron-ipc */ \"./node_modules/redux-electron-ipc/index.js\");\n\nvar _reduxElectronIpc2 = _interopRequireDefault(_reduxElectronIpc);\n\nvar _reactRouterDom = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/es/index.js\");\n\nvar _reducers = __webpack_require__(/*! ./reducers */ \"./app/src/reducers/index.js\");\n\nvar _reducers2 = _interopRequireDefault(_reducers);\n\nvar _TagsIndex = __webpack_require__(/*! ./components/TagsIndex */ \"./app/src/components/TagsIndex.js\");\n\nvar _TagsIndex2 = _interopRequireDefault(_TagsIndex);\n\nvar _Settings = __webpack_require__(/*! ./components/Settings */ \"./app/src/components/Settings.js\");\n\nvar _Settings2 = _interopRequireDefault(_Settings);\n\nvar _Header = __webpack_require__(/*! ./components/Header */ \"./app/src/components/Header.js\");\n\nvar _Header2 = _interopRequireDefault(_Header);\n\nvar _Permissives = __webpack_require__(/*! ./components/Permissives */ \"./app/src/components/Permissives.js\");\n\nvar _Permissives2 = _interopRequireDefault(_Permissives);\n\nvar _Main = __webpack_require__(/*! ./components/Main */ \"./app/src/components/Main.js\");\n\nvar _Main2 = _interopRequireDefault(_Main);\n\nvar _Controls = __webpack_require__(/*! ./components/Controls */ \"./app/src/components/Controls.js\");\n\nvar _Controls2 = _interopRequireDefault(_Controls);\n\nvar _actions_tags = __webpack_require__(/*! ./actions/actions_tags */ \"./app/src/actions/actions_tags.js\");\n\nvar _actions_plc = __webpack_require__(/*! ./actions/actions_plc */ \"./app/src/actions/actions_plc.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = __webpack_require__(/*! ../../tagList.json */ \"./tagList.json\");\n\nvar historyTags = _require.history_tags;\nexports.historyTags = historyTags;\n\n\nvar ipc = (0, _reduxElectronIpc2.default)({\n\t\"tag:valueupdate\": _actions_tags.ipcTagUpdate,\n\t\"plc:connected\": _actions_plc.ipcPlcDetailsReceived\n});\n\nvar createStoreWithMiddleware = (0, _redux.applyMiddleware)(ipc)(_redux.createStore);\n\n_reactDom2.default.render(_react2.default.createElement(\n\t_reactRedux.Provider,\n\t{ store: createStoreWithMiddleware(_reducers2.default) },\n\t_react2.default.createElement(\n\t\t_reactRouterDom.BrowserRouter,\n\t\tnull,\n\t\t_react2.default.createElement(\n\t\t\t\"div\",\n\t\t\tnull,\n\t\t\t_react2.default.createElement(_Header2.default, null),\n\t\t\t_react2.default.createElement(\n\t\t\t\t_reactRouterDom.Switch,\n\t\t\t\tnull,\n\t\t\t\t_react2.default.createElement(_reactRouterDom.Route, { path: \"/settings\", component: _Settings2.default }),\n\t\t\t\t_react2.default.createElement(_reactRouterDom.Route, { path: \"/permissives\", component: _Permissives2.default }),\n\t\t\t\t_react2.default.createElement(_reactRouterDom.Route, { path: \"/alltags\", component: _TagsIndex2.default }),\n\t\t\t\t_react2.default.createElement(_reactRouterDom.Route, { path: \"/controls\", component: _Controls2.default }),\n\t\t\t\t_react2.default.createElement(_reactRouterDom.Route, { path: \"/\", component: _Main2.default })\n\t\t\t)\n\t\t)\n\t)\n), document.querySelector(\"#app\"));\n\n//# sourceURL=webpack:///./app/src/renderer_process.js?"); + +/***/ }), + +/***/ "./node_modules/@fortawesome/fontawesome-pro-regular/index.es.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@fortawesome/fontawesome-pro-regular/index.es.js ***! + \***********************************************************************/ +/*! exports provided: prefix, faAddressBook, faAddressCard, faAdjust, faAlarmClock, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faArchive, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowAltDown, faArrowAltFromBottom, faArrowAltFromLeft, faArrowAltFromRight, faArrowAltFromTop, faArrowAltLeft, faArrowAltRight, faArrowAltSquareDown, faArrowAltSquareLeft, faArrowAltSquareRight, faArrowAltSquareUp, faArrowAltToBottom, faArrowAltToLeft, faArrowAltToRight, faArrowAltToTop, faArrowAltUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowFromBottom, faArrowFromLeft, faArrowFromRight, faArrowFromTop, faArrowLeft, faArrowRight, faArrowSquareDown, faArrowSquareLeft, faArrowSquareRight, faArrowSquareUp, faArrowToBottom, faArrowToLeft, faArrowToRight, faArrowToTop, faArrowUp, faArrows, faArrowsAlt, faArrowsAltH, faArrowsAltV, faArrowsH, faArrowsV, faAssistiveListeningSystems, faAsterisk, faAt, faAudioDescription, faBackward, faBadge, faBadgeCheck, faBalanceScale, faBan, faBandAid, faBarcode, faBarcodeAlt, faBarcodeRead, faBarcodeScan, faBars, faBaseball, faBaseballBall, faBasketballBall, faBasketballHoop, faBath, faBatteryBolt, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatterySlash, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBicycle, faBinoculars, faBirthdayCake, faBlanket, faBlind, faBold, faBolt, faBomb, faBook, faBookHeart, faBookmark, faBowlingBall, faBowlingPins, faBox, faBoxAlt, faBoxCheck, faBoxFragile, faBoxFull, faBoxHeart, faBoxOpen, faBoxUp, faBoxUsd, faBoxes, faBoxesAlt, faBoxingGlove, faBraille, faBriefcase, faBriefcaseMedical, faBrowser, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarEdit, faCalendarExclamation, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCamera, faCameraAlt, faCameraRetro, faCapsules, faCar, faCaretCircleDown, faCaretCircleLeft, faCaretCircleRight, faCaretCircleUp, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCartArrowDown, faCartPlus, faCertificate, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckSquare, faChess, faChessBishop, faChessBishopAlt, faChessBoard, faChessClock, faChessClockAlt, faChessKing, faChessKingAlt, faChessKnight, faChessKnightAlt, faChessPawn, faChessPawnAlt, faChessQueen, faChessQueenAlt, faChessRook, faChessRookAlt, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDoubleDown, faChevronDoubleLeft, faChevronDoubleRight, faChevronDoubleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronSquareDown, faChevronSquareLeft, faChevronSquareRight, faChevronSquareUp, faChevronUp, faChild, faCircle, faCircleNotch, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownload, faCloudDownloadAlt, faCloudUpload, faCloudUploadAlt, faClub, faCode, faCodeBranch, faCodeCommit, faCodeMerge, faCoffee, faCog, faCogs, faColumns, faComment, faCommentAlt, faCommentAltCheck, faCommentAltDots, faCommentAltEdit, faCommentAltExclamation, faCommentAltLines, faCommentAltMinus, faCommentAltPlus, faCommentAltSlash, faCommentAltSmile, faCommentAltTimes, faCommentCheck, faCommentDots, faCommentEdit, faCommentExclamation, faCommentLines, faCommentMinus, faCommentPlus, faCommentSlash, faCommentSmile, faCommentTimes, faComments, faCommentsAlt, faCompass, faCompress, faCompressAlt, faCompressWide, faContainerStorage, faConveyorBelt, faConveyorBeltAlt, faCopy, faCopyright, faCouch, faCreditCard, faCreditCardBlank, faCreditCardFront, faCricket, faCrop, faCrosshairs, faCube, faCubes, faCurling, faCut, faDatabase, faDeaf, faDesktop, faDesktopAlt, faDiagnoses, faDiamond, faDna, faDollarSign, faDolly, faDollyEmpty, faDollyFlatbed, faDollyFlatbedAlt, faDollyFlatbedEmpty, faDonate, faDotCircle, faDove, faDownload, faDumbbell, faEdit, faEject, faEllipsisH, faEllipsisHAlt, faEllipsisV, faEllipsisVAlt, faEnvelope, faEnvelopeOpen, faEnvelopeSquare, faEraser, faEuroSign, faExchange, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationSquare, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrows, faExpandArrowsAlt, faExpandWide, faExternalLink, faExternalLinkAlt, faExternalLinkSquare, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFastBackward, faFastForward, faFax, faFemale, faFieldHockey, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCheck, faFileCode, faFileEdit, faFileExcel, faFileExclamation, faFileImage, faFileMedical, faFileMedicalAlt, faFileMinus, faFilePdf, faFilePlus, faFilePowerpoint, faFileTimes, faFileVideo, faFileWord, faFilm, faFilmAlt, faFilter, faFire, faFireExtinguisher, faFirstAid, faFlag, faFlagCheckered, faFlask, faFolder, faFolderOpen, faFont, faFootballBall, faFootballHelmet, faForklift, faForward, faFragile, faFrown, faFutbol, faGamepad, faGavel, faGem, faGenderless, faGift, faGlassMartini, faGlobe, faGolfBall, faGolfClub, faGraduationCap, faHSquare, faH1, faH2, faH3, faHandHeart, faHandHolding, faHandHoldingBox, faHandHoldingHeart, faHandHoldingSeedling, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandReceiving, faHandRock, faHandScissors, faHandSpock, faHands, faHandsHeart, faHandsHelping, faHandsUsd, faHandshake, faHandshakeAlt, faHashtag, faHdd, faHeading, faHeadphones, faHeart, faHeartCircle, faHeartSquare, faHeartbeat, faHexagon, faHistory, faHockeyPuck, faHockeySticks, faHome, faHomeHeart, faHospital, faHospitalAlt, faHospitalSymbol, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faICursor, faIdBadge, faIdCard, faIdCardAlt, faImage, faImages, faInbox, faInboxIn, faInboxOut, faIndent, faIndustry, faIndustryAlt, faInfo, faInfoCircle, faInfoSquare, faInventory, faItalic, faJackOLantern, faKey, faKeyboard, faLamp, faLanguage, faLaptop, faLeaf, faLeafHeart, faLemon, faLevelDown, faLevelDownAlt, faLevelUp, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockAlt, faLockOpen, faLockOpenAlt, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLongArrowDown, faLongArrowLeft, faLongArrowRight, faLongArrowUp, faLoveseat, faLowVision, faLuchador, faMagic, faMagnet, faMale, faMap, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMedkit, faMeh, faMercury, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneSlash, faMinus, faMinusCircle, faMinusHexagon, faMinusOctagon, faMinusSquare, faMobile, faMobileAlt, faMobileAndroid, faMobileAndroidAlt, faMoneyBill, faMoneyBillAlt, faMoon, faMotorcycle, faMousePointer, faMusic, faNeuter, faNewspaper, faNotesMedical, faObjectGroup, faObjectUngroup, faOctagon, faOutdent, faPaintBrush, faPallet, faPalletAlt, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faPaste, faPause, faPauseCircle, faPaw, faPen, faPenAlt, faPenSquare, faPencil, faPencilAlt, faPennant, faPeopleCarry, faPercent, faPersonCarry, faPersonDolly, faPersonDollyEmpty, faPhone, faPhonePlus, faPhoneSlash, faPhoneSquare, faPhoneVolume, faPiggyBank, faPills, faPlane, faPlaneAlt, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusHexagon, faPlusOctagon, faPlusSquare, faPodcast, faPoo, faPortrait, faPoundSign, faPowerOff, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuestionSquare, faQuidditch, faQuoteLeft, faQuoteRight, faRacquet, faRampLoading, faRandom, faRectangleLandscape, faRectanglePortrait, faRectangleWide, faRecycle, faRedo, faRedoAlt, faRegistered, faRepeat, faRepeat1, faRepeat1Alt, faRepeatAlt, faReply, faReplyAll, faRetweet, faRetweetAlt, faRibbon, faRoad, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRupeeSign, faSave, faScanner, faScannerKeyboard, faScannerTouchscreen, faScrubber, faSearch, faSearchMinus, faSearchPlus, faSeedling, faServer, faShare, faShareAll, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShield, faShieldAlt, faShieldCheck, faShip, faShippingFast, faShippingTimed, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttlecock, faSign, faSignIn, faSignInAlt, faSignLanguage, faSignOut, faSignOutAlt, faSignal, faSitemap, faSlidersH, faSlidersHSquare, faSlidersV, faSlidersVSquare, faSmile, faSmilePlus, faSmoking, faSnowflake, faSort, faSortAlphaDown, faSortAlphaUp, faSortAmountDown, faSortAmountUp, faSortDown, faSortNumericDown, faSortNumericUp, faSortUp, faSpaceShuttle, faSpade, faSpinner, faSpinnerThird, faSquare, faSquareFull, faStar, faStarExclamation, faStarHalf, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStreetView, faStrikethrough, faSubscript, faSubway, faSuitcase, faSun, faSuperscript, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTabletAndroid, faTabletAndroidAlt, faTabletRugged, faTablets, faTachometer, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTennisBall, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicket, faTicketAlt, faTimes, faTimesCircle, faTimesHexagon, faTimesOctagon, faTimesSquare, faTint, faToggleOff, faToggleOn, faTrademark, faTrain, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTree, faTreeAlt, faTriangle, faTrophy, faTrophyAlt, faTruck, faTruckContainer, faTruckCouch, faTruckLoading, faTruckMoving, faTruckRamp, faTty, faTv, faTvRetro, faUmbrella, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUsdCircle, faUsdSquare, faUser, faUserAlt, faUserCircle, faUserMd, faUserPlus, faUserSecret, faUserTimes, faUsers, faUtensilFork, faUtensilKnife, faUtensilSpoon, faUtensils, faUtensilsAlt, faVenus, faVenusDouble, faVenusMars, faVial, faVials, faVideo, faVideoPlus, faVideoSlash, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faWarehouse, faWarehouseAlt, faWatch, faWeight, faWheelchair, faWhistle, faWifi, faWindow, faWindowAlt, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineGlass, faWonSign, faWrench, faXRay, faYenSign, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prefix\", function() { return prefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAddressBook\", function() { return faAddressBook; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAddressCard\", function() { return faAddressCard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAdjust\", function() { return faAdjust; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAlarmClock\", function() { return faAlarmClock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAlignCenter\", function() { return faAlignCenter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAlignJustify\", function() { return faAlignJustify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAlignLeft\", function() { return faAlignLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAlignRight\", function() { return faAlignRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAllergies\", function() { return faAllergies; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAmbulance\", function() { return faAmbulance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAmericanSignLanguageInterpreting\", function() { return faAmericanSignLanguageInterpreting; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAnchor\", function() { return faAnchor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleDoubleDown\", function() { return faAngleDoubleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleDoubleLeft\", function() { return faAngleDoubleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleDoubleRight\", function() { return faAngleDoubleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleDoubleUp\", function() { return faAngleDoubleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleDown\", function() { return faAngleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleLeft\", function() { return faAngleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleRight\", function() { return faAngleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAngleUp\", function() { return faAngleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArchive\", function() { return faArchive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltCircleDown\", function() { return faArrowAltCircleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltCircleLeft\", function() { return faArrowAltCircleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltCircleRight\", function() { return faArrowAltCircleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltCircleUp\", function() { return faArrowAltCircleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltDown\", function() { return faArrowAltDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltFromBottom\", function() { return faArrowAltFromBottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltFromLeft\", function() { return faArrowAltFromLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltFromRight\", function() { return faArrowAltFromRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltFromTop\", function() { return faArrowAltFromTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltLeft\", function() { return faArrowAltLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltRight\", function() { return faArrowAltRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltSquareDown\", function() { return faArrowAltSquareDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltSquareLeft\", function() { return faArrowAltSquareLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltSquareRight\", function() { return faArrowAltSquareRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltSquareUp\", function() { return faArrowAltSquareUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltToBottom\", function() { return faArrowAltToBottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltToLeft\", function() { return faArrowAltToLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltToRight\", function() { return faArrowAltToRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltToTop\", function() { return faArrowAltToTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowAltUp\", function() { return faArrowAltUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowCircleDown\", function() { return faArrowCircleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowCircleLeft\", function() { return faArrowCircleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowCircleRight\", function() { return faArrowCircleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowCircleUp\", function() { return faArrowCircleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowDown\", function() { return faArrowDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowFromBottom\", function() { return faArrowFromBottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowFromLeft\", function() { return faArrowFromLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowFromRight\", function() { return faArrowFromRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowFromTop\", function() { return faArrowFromTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowLeft\", function() { return faArrowLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowRight\", function() { return faArrowRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowSquareDown\", function() { return faArrowSquareDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowSquareLeft\", function() { return faArrowSquareLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowSquareRight\", function() { return faArrowSquareRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowSquareUp\", function() { return faArrowSquareUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowToBottom\", function() { return faArrowToBottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowToLeft\", function() { return faArrowToLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowToRight\", function() { return faArrowToRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowToTop\", function() { return faArrowToTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowUp\", function() { return faArrowUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrows\", function() { return faArrows; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowsAlt\", function() { return faArrowsAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowsAltH\", function() { return faArrowsAltH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowsAltV\", function() { return faArrowsAltV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowsH\", function() { return faArrowsH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faArrowsV\", function() { return faArrowsV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAssistiveListeningSystems\", function() { return faAssistiveListeningSystems; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAsterisk\", function() { return faAsterisk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAt\", function() { return faAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faAudioDescription\", function() { return faAudioDescription; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBackward\", function() { return faBackward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBadge\", function() { return faBadge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBadgeCheck\", function() { return faBadgeCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBalanceScale\", function() { return faBalanceScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBan\", function() { return faBan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBandAid\", function() { return faBandAid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBarcode\", function() { return faBarcode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBarcodeAlt\", function() { return faBarcodeAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBarcodeRead\", function() { return faBarcodeRead; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBarcodeScan\", function() { return faBarcodeScan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBars\", function() { return faBars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBaseball\", function() { return faBaseball; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBaseballBall\", function() { return faBaseballBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBasketballBall\", function() { return faBasketballBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBasketballHoop\", function() { return faBasketballHoop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBath\", function() { return faBath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryBolt\", function() { return faBatteryBolt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryEmpty\", function() { return faBatteryEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryFull\", function() { return faBatteryFull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryHalf\", function() { return faBatteryHalf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryQuarter\", function() { return faBatteryQuarter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatterySlash\", function() { return faBatterySlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBatteryThreeQuarters\", function() { return faBatteryThreeQuarters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBed\", function() { return faBed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBeer\", function() { return faBeer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBell\", function() { return faBell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBellSlash\", function() { return faBellSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBicycle\", function() { return faBicycle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBinoculars\", function() { return faBinoculars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBirthdayCake\", function() { return faBirthdayCake; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBlanket\", function() { return faBlanket; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBlind\", function() { return faBlind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBold\", function() { return faBold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBolt\", function() { return faBolt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBomb\", function() { return faBomb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBook\", function() { return faBook; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBookHeart\", function() { return faBookHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBookmark\", function() { return faBookmark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBowlingBall\", function() { return faBowlingBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBowlingPins\", function() { return faBowlingPins; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBox\", function() { return faBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxAlt\", function() { return faBoxAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxCheck\", function() { return faBoxCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxFragile\", function() { return faBoxFragile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxFull\", function() { return faBoxFull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxHeart\", function() { return faBoxHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxOpen\", function() { return faBoxOpen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxUp\", function() { return faBoxUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxUsd\", function() { return faBoxUsd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxes\", function() { return faBoxes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxesAlt\", function() { return faBoxesAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBoxingGlove\", function() { return faBoxingGlove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBraille\", function() { return faBraille; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBriefcase\", function() { return faBriefcase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBriefcaseMedical\", function() { return faBriefcaseMedical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBrowser\", function() { return faBrowser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBug\", function() { return faBug; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBuilding\", function() { return faBuilding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBullhorn\", function() { return faBullhorn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBullseye\", function() { return faBullseye; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBurn\", function() { return faBurn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faBus\", function() { return faBus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalculator\", function() { return faCalculator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendar\", function() { return faCalendar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarAlt\", function() { return faCalendarAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarCheck\", function() { return faCalendarCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarEdit\", function() { return faCalendarEdit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarExclamation\", function() { return faCalendarExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarMinus\", function() { return faCalendarMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarPlus\", function() { return faCalendarPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCalendarTimes\", function() { return faCalendarTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCamera\", function() { return faCamera; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCameraAlt\", function() { return faCameraAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCameraRetro\", function() { return faCameraRetro; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCapsules\", function() { return faCapsules; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCar\", function() { return faCar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretCircleDown\", function() { return faCaretCircleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretCircleLeft\", function() { return faCaretCircleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretCircleRight\", function() { return faCaretCircleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretCircleUp\", function() { return faCaretCircleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretDown\", function() { return faCaretDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretLeft\", function() { return faCaretLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretRight\", function() { return faCaretRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretSquareDown\", function() { return faCaretSquareDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretSquareLeft\", function() { return faCaretSquareLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretSquareRight\", function() { return faCaretSquareRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretSquareUp\", function() { return faCaretSquareUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCaretUp\", function() { return faCaretUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCartArrowDown\", function() { return faCartArrowDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCartPlus\", function() { return faCartPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCertificate\", function() { return faCertificate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChartArea\", function() { return faChartArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChartBar\", function() { return faChartBar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChartLine\", function() { return faChartLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChartPie\", function() { return faChartPie; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCheck\", function() { return faCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCheckCircle\", function() { return faCheckCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCheckSquare\", function() { return faCheckSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChess\", function() { return faChess; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessBishop\", function() { return faChessBishop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessBishopAlt\", function() { return faChessBishopAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessBoard\", function() { return faChessBoard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessClock\", function() { return faChessClock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessClockAlt\", function() { return faChessClockAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessKing\", function() { return faChessKing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessKingAlt\", function() { return faChessKingAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessKnight\", function() { return faChessKnight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessKnightAlt\", function() { return faChessKnightAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessPawn\", function() { return faChessPawn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessPawnAlt\", function() { return faChessPawnAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessQueen\", function() { return faChessQueen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessQueenAlt\", function() { return faChessQueenAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessRook\", function() { return faChessRook; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChessRookAlt\", function() { return faChessRookAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronCircleDown\", function() { return faChevronCircleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronCircleLeft\", function() { return faChevronCircleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronCircleRight\", function() { return faChevronCircleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronCircleUp\", function() { return faChevronCircleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronDoubleDown\", function() { return faChevronDoubleDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronDoubleLeft\", function() { return faChevronDoubleLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronDoubleRight\", function() { return faChevronDoubleRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronDoubleUp\", function() { return faChevronDoubleUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronDown\", function() { return faChevronDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronLeft\", function() { return faChevronLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronRight\", function() { return faChevronRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronSquareDown\", function() { return faChevronSquareDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronSquareLeft\", function() { return faChevronSquareLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronSquareRight\", function() { return faChevronSquareRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronSquareUp\", function() { return faChevronSquareUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChevronUp\", function() { return faChevronUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faChild\", function() { return faChild; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCircle\", function() { return faCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCircleNotch\", function() { return faCircleNotch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClipboard\", function() { return faClipboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClipboardCheck\", function() { return faClipboardCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClipboardList\", function() { return faClipboardList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClock\", function() { return faClock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClone\", function() { return faClone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClosedCaptioning\", function() { return faClosedCaptioning; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCloud\", function() { return faCloud; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCloudDownload\", function() { return faCloudDownload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCloudDownloadAlt\", function() { return faCloudDownloadAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCloudUpload\", function() { return faCloudUpload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCloudUploadAlt\", function() { return faCloudUploadAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faClub\", function() { return faClub; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCode\", function() { return faCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCodeBranch\", function() { return faCodeBranch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCodeCommit\", function() { return faCodeCommit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCodeMerge\", function() { return faCodeMerge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCoffee\", function() { return faCoffee; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCog\", function() { return faCog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCogs\", function() { return faCogs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faColumns\", function() { return faColumns; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faComment\", function() { return faComment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAlt\", function() { return faCommentAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltCheck\", function() { return faCommentAltCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltDots\", function() { return faCommentAltDots; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltEdit\", function() { return faCommentAltEdit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltExclamation\", function() { return faCommentAltExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltLines\", function() { return faCommentAltLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltMinus\", function() { return faCommentAltMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltPlus\", function() { return faCommentAltPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltSlash\", function() { return faCommentAltSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltSmile\", function() { return faCommentAltSmile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentAltTimes\", function() { return faCommentAltTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentCheck\", function() { return faCommentCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentDots\", function() { return faCommentDots; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentEdit\", function() { return faCommentEdit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentExclamation\", function() { return faCommentExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentLines\", function() { return faCommentLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentMinus\", function() { return faCommentMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentPlus\", function() { return faCommentPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentSlash\", function() { return faCommentSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentSmile\", function() { return faCommentSmile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentTimes\", function() { return faCommentTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faComments\", function() { return faComments; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCommentsAlt\", function() { return faCommentsAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCompass\", function() { return faCompass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCompress\", function() { return faCompress; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCompressAlt\", function() { return faCompressAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCompressWide\", function() { return faCompressWide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faContainerStorage\", function() { return faContainerStorage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faConveyorBelt\", function() { return faConveyorBelt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faConveyorBeltAlt\", function() { return faConveyorBeltAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCopy\", function() { return faCopy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCopyright\", function() { return faCopyright; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCouch\", function() { return faCouch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCreditCard\", function() { return faCreditCard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCreditCardBlank\", function() { return faCreditCardBlank; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCreditCardFront\", function() { return faCreditCardFront; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCricket\", function() { return faCricket; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCrop\", function() { return faCrop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCrosshairs\", function() { return faCrosshairs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCube\", function() { return faCube; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCubes\", function() { return faCubes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCurling\", function() { return faCurling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faCut\", function() { return faCut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDatabase\", function() { return faDatabase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDeaf\", function() { return faDeaf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDesktop\", function() { return faDesktop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDesktopAlt\", function() { return faDesktopAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDiagnoses\", function() { return faDiagnoses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDiamond\", function() { return faDiamond; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDna\", function() { return faDna; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDollarSign\", function() { return faDollarSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDolly\", function() { return faDolly; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDollyEmpty\", function() { return faDollyEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDollyFlatbed\", function() { return faDollyFlatbed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDollyFlatbedAlt\", function() { return faDollyFlatbedAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDollyFlatbedEmpty\", function() { return faDollyFlatbedEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDonate\", function() { return faDonate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDotCircle\", function() { return faDotCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDove\", function() { return faDove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDownload\", function() { return faDownload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faDumbbell\", function() { return faDumbbell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEdit\", function() { return faEdit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEject\", function() { return faEject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEllipsisH\", function() { return faEllipsisH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEllipsisHAlt\", function() { return faEllipsisHAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEllipsisV\", function() { return faEllipsisV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEllipsisVAlt\", function() { return faEllipsisVAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEnvelope\", function() { return faEnvelope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEnvelopeOpen\", function() { return faEnvelopeOpen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEnvelopeSquare\", function() { return faEnvelopeSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEraser\", function() { return faEraser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEuroSign\", function() { return faEuroSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExchange\", function() { return faExchange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExchangeAlt\", function() { return faExchangeAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExclamation\", function() { return faExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExclamationCircle\", function() { return faExclamationCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExclamationSquare\", function() { return faExclamationSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExclamationTriangle\", function() { return faExclamationTriangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExpand\", function() { return faExpand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExpandAlt\", function() { return faExpandAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExpandArrows\", function() { return faExpandArrows; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExpandArrowsAlt\", function() { return faExpandArrowsAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExpandWide\", function() { return faExpandWide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExternalLink\", function() { return faExternalLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExternalLinkAlt\", function() { return faExternalLinkAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExternalLinkSquare\", function() { return faExternalLinkSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faExternalLinkSquareAlt\", function() { return faExternalLinkSquareAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEye\", function() { return faEye; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEyeDropper\", function() { return faEyeDropper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faEyeSlash\", function() { return faEyeSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFastBackward\", function() { return faFastBackward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFastForward\", function() { return faFastForward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFax\", function() { return faFax; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFemale\", function() { return faFemale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFieldHockey\", function() { return faFieldHockey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFighterJet\", function() { return faFighterJet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFile\", function() { return faFile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileAlt\", function() { return faFileAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileArchive\", function() { return faFileArchive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileAudio\", function() { return faFileAudio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileCheck\", function() { return faFileCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileCode\", function() { return faFileCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileEdit\", function() { return faFileEdit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileExcel\", function() { return faFileExcel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileExclamation\", function() { return faFileExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileImage\", function() { return faFileImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileMedical\", function() { return faFileMedical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileMedicalAlt\", function() { return faFileMedicalAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileMinus\", function() { return faFileMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilePdf\", function() { return faFilePdf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilePlus\", function() { return faFilePlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilePowerpoint\", function() { return faFilePowerpoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileTimes\", function() { return faFileTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileVideo\", function() { return faFileVideo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFileWord\", function() { return faFileWord; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilm\", function() { return faFilm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilmAlt\", function() { return faFilmAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFilter\", function() { return faFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFire\", function() { return faFire; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFireExtinguisher\", function() { return faFireExtinguisher; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFirstAid\", function() { return faFirstAid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFlag\", function() { return faFlag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFlagCheckered\", function() { return faFlagCheckered; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFlask\", function() { return faFlask; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFolder\", function() { return faFolder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFolderOpen\", function() { return faFolderOpen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFont\", function() { return faFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFootballBall\", function() { return faFootballBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFootballHelmet\", function() { return faFootballHelmet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faForklift\", function() { return faForklift; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faForward\", function() { return faForward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFragile\", function() { return faFragile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFrown\", function() { return faFrown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faFutbol\", function() { return faFutbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGamepad\", function() { return faGamepad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGavel\", function() { return faGavel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGem\", function() { return faGem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGenderless\", function() { return faGenderless; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGift\", function() { return faGift; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGlassMartini\", function() { return faGlassMartini; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGlobe\", function() { return faGlobe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGolfBall\", function() { return faGolfBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGolfClub\", function() { return faGolfClub; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faGraduationCap\", function() { return faGraduationCap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHSquare\", function() { return faHSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faH1\", function() { return faH1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faH2\", function() { return faH2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faH3\", function() { return faH3; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHeart\", function() { return faHandHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHolding\", function() { return faHandHolding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHoldingBox\", function() { return faHandHoldingBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHoldingHeart\", function() { return faHandHoldingHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHoldingSeedling\", function() { return faHandHoldingSeedling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHoldingUsd\", function() { return faHandHoldingUsd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandHoldingWater\", function() { return faHandHoldingWater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandLizard\", function() { return faHandLizard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPaper\", function() { return faHandPaper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPeace\", function() { return faHandPeace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPointDown\", function() { return faHandPointDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPointLeft\", function() { return faHandPointLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPointRight\", function() { return faHandPointRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPointUp\", function() { return faHandPointUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandPointer\", function() { return faHandPointer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandReceiving\", function() { return faHandReceiving; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandRock\", function() { return faHandRock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandScissors\", function() { return faHandScissors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandSpock\", function() { return faHandSpock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHands\", function() { return faHands; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandsHeart\", function() { return faHandsHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandsHelping\", function() { return faHandsHelping; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandsUsd\", function() { return faHandsUsd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandshake\", function() { return faHandshake; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHandshakeAlt\", function() { return faHandshakeAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHashtag\", function() { return faHashtag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHdd\", function() { return faHdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeading\", function() { return faHeading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeadphones\", function() { return faHeadphones; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeart\", function() { return faHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeartCircle\", function() { return faHeartCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeartSquare\", function() { return faHeartSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHeartbeat\", function() { return faHeartbeat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHexagon\", function() { return faHexagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHistory\", function() { return faHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHockeyPuck\", function() { return faHockeyPuck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHockeySticks\", function() { return faHockeySticks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHome\", function() { return faHome; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHomeHeart\", function() { return faHomeHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHospital\", function() { return faHospital; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHospitalAlt\", function() { return faHospitalAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHospitalSymbol\", function() { return faHospitalSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHourglass\", function() { return faHourglass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHourglassEnd\", function() { return faHourglassEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHourglassHalf\", function() { return faHourglassHalf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faHourglassStart\", function() { return faHourglassStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faICursor\", function() { return faICursor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIdBadge\", function() { return faIdBadge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIdCard\", function() { return faIdCard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIdCardAlt\", function() { return faIdCardAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faImage\", function() { return faImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faImages\", function() { return faImages; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInbox\", function() { return faInbox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInboxIn\", function() { return faInboxIn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInboxOut\", function() { return faInboxOut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIndent\", function() { return faIndent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIndustry\", function() { return faIndustry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faIndustryAlt\", function() { return faIndustryAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInfo\", function() { return faInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInfoCircle\", function() { return faInfoCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInfoSquare\", function() { return faInfoSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faInventory\", function() { return faInventory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faItalic\", function() { return faItalic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faJackOLantern\", function() { return faJackOLantern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faKey\", function() { return faKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faKeyboard\", function() { return faKeyboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLamp\", function() { return faLamp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLanguage\", function() { return faLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLaptop\", function() { return faLaptop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLeaf\", function() { return faLeaf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLeafHeart\", function() { return faLeafHeart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLemon\", function() { return faLemon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLevelDown\", function() { return faLevelDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLevelDownAlt\", function() { return faLevelDownAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLevelUp\", function() { return faLevelUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLevelUpAlt\", function() { return faLevelUpAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLifeRing\", function() { return faLifeRing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLightbulb\", function() { return faLightbulb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLink\", function() { return faLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLiraSign\", function() { return faLiraSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faList\", function() { return faList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faListAlt\", function() { return faListAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faListOl\", function() { return faListOl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faListUl\", function() { return faListUl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLocationArrow\", function() { return faLocationArrow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLock\", function() { return faLock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLockAlt\", function() { return faLockAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLockOpen\", function() { return faLockOpen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLockOpenAlt\", function() { return faLockOpenAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowAltDown\", function() { return faLongArrowAltDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowAltLeft\", function() { return faLongArrowAltLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowAltRight\", function() { return faLongArrowAltRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowAltUp\", function() { return faLongArrowAltUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowDown\", function() { return faLongArrowDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowLeft\", function() { return faLongArrowLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowRight\", function() { return faLongArrowRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLongArrowUp\", function() { return faLongArrowUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLoveseat\", function() { return faLoveseat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLowVision\", function() { return faLowVision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faLuchador\", function() { return faLuchador; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMagic\", function() { return faMagic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMagnet\", function() { return faMagnet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMale\", function() { return faMale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMap\", function() { return faMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMapMarker\", function() { return faMapMarker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMapMarkerAlt\", function() { return faMapMarkerAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMapPin\", function() { return faMapPin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMapSigns\", function() { return faMapSigns; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMars\", function() { return faMars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMarsDouble\", function() { return faMarsDouble; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMarsStroke\", function() { return faMarsStroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMarsStrokeH\", function() { return faMarsStrokeH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMarsStrokeV\", function() { return faMarsStrokeV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMedkit\", function() { return faMedkit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMeh\", function() { return faMeh; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMercury\", function() { return faMercury; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMicrochip\", function() { return faMicrochip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMicrophone\", function() { return faMicrophone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMicrophoneAlt\", function() { return faMicrophoneAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMicrophoneSlash\", function() { return faMicrophoneSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMinus\", function() { return faMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMinusCircle\", function() { return faMinusCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMinusHexagon\", function() { return faMinusHexagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMinusOctagon\", function() { return faMinusOctagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMinusSquare\", function() { return faMinusSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMobile\", function() { return faMobile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMobileAlt\", function() { return faMobileAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMobileAndroid\", function() { return faMobileAndroid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMobileAndroidAlt\", function() { return faMobileAndroidAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMoneyBill\", function() { return faMoneyBill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMoneyBillAlt\", function() { return faMoneyBillAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMoon\", function() { return faMoon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMotorcycle\", function() { return faMotorcycle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMousePointer\", function() { return faMousePointer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faMusic\", function() { return faMusic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faNeuter\", function() { return faNeuter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faNewspaper\", function() { return faNewspaper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faNotesMedical\", function() { return faNotesMedical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faObjectGroup\", function() { return faObjectGroup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faObjectUngroup\", function() { return faObjectUngroup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faOctagon\", function() { return faOctagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faOutdent\", function() { return faOutdent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPaintBrush\", function() { return faPaintBrush; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPallet\", function() { return faPallet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPalletAlt\", function() { return faPalletAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPaperPlane\", function() { return faPaperPlane; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPaperclip\", function() { return faPaperclip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faParachuteBox\", function() { return faParachuteBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faParagraph\", function() { return faParagraph; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPaste\", function() { return faPaste; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPause\", function() { return faPause; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPauseCircle\", function() { return faPauseCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPaw\", function() { return faPaw; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPen\", function() { return faPen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPenAlt\", function() { return faPenAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPenSquare\", function() { return faPenSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPencil\", function() { return faPencil; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPencilAlt\", function() { return faPencilAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPennant\", function() { return faPennant; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPeopleCarry\", function() { return faPeopleCarry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPercent\", function() { return faPercent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPersonCarry\", function() { return faPersonCarry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPersonDolly\", function() { return faPersonDolly; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPersonDollyEmpty\", function() { return faPersonDollyEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPhone\", function() { return faPhone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPhonePlus\", function() { return faPhonePlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPhoneSlash\", function() { return faPhoneSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPhoneSquare\", function() { return faPhoneSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPhoneVolume\", function() { return faPhoneVolume; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPiggyBank\", function() { return faPiggyBank; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPills\", function() { return faPills; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlane\", function() { return faPlane; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlaneAlt\", function() { return faPlaneAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlay\", function() { return faPlay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlayCircle\", function() { return faPlayCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlug\", function() { return faPlug; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlus\", function() { return faPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlusCircle\", function() { return faPlusCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlusHexagon\", function() { return faPlusHexagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlusOctagon\", function() { return faPlusOctagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPlusSquare\", function() { return faPlusSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPodcast\", function() { return faPodcast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPoo\", function() { return faPoo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPortrait\", function() { return faPortrait; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPoundSign\", function() { return faPoundSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPowerOff\", function() { return faPowerOff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPrescriptionBottle\", function() { return faPrescriptionBottle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPrescriptionBottleAlt\", function() { return faPrescriptionBottleAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPrint\", function() { return faPrint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faProcedures\", function() { return faProcedures; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faPuzzlePiece\", function() { return faPuzzlePiece; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQrcode\", function() { return faQrcode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuestion\", function() { return faQuestion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuestionCircle\", function() { return faQuestionCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuestionSquare\", function() { return faQuestionSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuidditch\", function() { return faQuidditch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuoteLeft\", function() { return faQuoteLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faQuoteRight\", function() { return faQuoteRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRacquet\", function() { return faRacquet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRampLoading\", function() { return faRampLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRandom\", function() { return faRandom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRectangleLandscape\", function() { return faRectangleLandscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRectanglePortrait\", function() { return faRectanglePortrait; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRectangleWide\", function() { return faRectangleWide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRecycle\", function() { return faRecycle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRedo\", function() { return faRedo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRedoAlt\", function() { return faRedoAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRegistered\", function() { return faRegistered; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRepeat\", function() { return faRepeat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRepeat1\", function() { return faRepeat1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRepeat1Alt\", function() { return faRepeat1Alt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRepeatAlt\", function() { return faRepeatAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faReply\", function() { return faReply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faReplyAll\", function() { return faReplyAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRetweet\", function() { return faRetweet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRetweetAlt\", function() { return faRetweetAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRibbon\", function() { return faRibbon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRoad\", function() { return faRoad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRocket\", function() { return faRocket; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRoute\", function() { return faRoute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRss\", function() { return faRss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRssSquare\", function() { return faRssSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRubleSign\", function() { return faRubleSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faRupeeSign\", function() { return faRupeeSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSave\", function() { return faSave; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faScanner\", function() { return faScanner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faScannerKeyboard\", function() { return faScannerKeyboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faScannerTouchscreen\", function() { return faScannerTouchscreen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faScrubber\", function() { return faScrubber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSearch\", function() { return faSearch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSearchMinus\", function() { return faSearchMinus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSearchPlus\", function() { return faSearchPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSeedling\", function() { return faSeedling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faServer\", function() { return faServer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShare\", function() { return faShare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShareAll\", function() { return faShareAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShareAlt\", function() { return faShareAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShareAltSquare\", function() { return faShareAltSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShareSquare\", function() { return faShareSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShekelSign\", function() { return faShekelSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShield\", function() { return faShield; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShieldAlt\", function() { return faShieldAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShieldCheck\", function() { return faShieldCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShip\", function() { return faShip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShippingFast\", function() { return faShippingFast; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShippingTimed\", function() { return faShippingTimed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShoppingBag\", function() { return faShoppingBag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShoppingBasket\", function() { return faShoppingBasket; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShoppingCart\", function() { return faShoppingCart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShower\", function() { return faShower; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faShuttlecock\", function() { return faShuttlecock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSign\", function() { return faSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignIn\", function() { return faSignIn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignInAlt\", function() { return faSignInAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignLanguage\", function() { return faSignLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignOut\", function() { return faSignOut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignOutAlt\", function() { return faSignOutAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSignal\", function() { return faSignal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSitemap\", function() { return faSitemap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSlidersH\", function() { return faSlidersH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSlidersHSquare\", function() { return faSlidersHSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSlidersV\", function() { return faSlidersV; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSlidersVSquare\", function() { return faSlidersVSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSmile\", function() { return faSmile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSmilePlus\", function() { return faSmilePlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSmoking\", function() { return faSmoking; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSnowflake\", function() { return faSnowflake; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSort\", function() { return faSort; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortAlphaDown\", function() { return faSortAlphaDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortAlphaUp\", function() { return faSortAlphaUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortAmountDown\", function() { return faSortAmountDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortAmountUp\", function() { return faSortAmountUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortDown\", function() { return faSortDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortNumericDown\", function() { return faSortNumericDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortNumericUp\", function() { return faSortNumericUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSortUp\", function() { return faSortUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSpaceShuttle\", function() { return faSpaceShuttle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSpade\", function() { return faSpade; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSpinner\", function() { return faSpinner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSpinnerThird\", function() { return faSpinnerThird; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSquare\", function() { return faSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSquareFull\", function() { return faSquareFull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStar\", function() { return faStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStarExclamation\", function() { return faStarExclamation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStarHalf\", function() { return faStarHalf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStepBackward\", function() { return faStepBackward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStepForward\", function() { return faStepForward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStethoscope\", function() { return faStethoscope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStickyNote\", function() { return faStickyNote; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStop\", function() { return faStop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStopCircle\", function() { return faStopCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStopwatch\", function() { return faStopwatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStreetView\", function() { return faStreetView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faStrikethrough\", function() { return faStrikethrough; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSubscript\", function() { return faSubscript; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSubway\", function() { return faSubway; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSuitcase\", function() { return faSuitcase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSun\", function() { return faSun; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSuperscript\", function() { return faSuperscript; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSync\", function() { return faSync; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSyncAlt\", function() { return faSyncAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faSyringe\", function() { return faSyringe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTable\", function() { return faTable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTableTennis\", function() { return faTableTennis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTablet\", function() { return faTablet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTabletAlt\", function() { return faTabletAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTabletAndroid\", function() { return faTabletAndroid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTabletAndroidAlt\", function() { return faTabletAndroidAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTabletRugged\", function() { return faTabletRugged; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTablets\", function() { return faTablets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTachometer\", function() { return faTachometer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTachometerAlt\", function() { return faTachometerAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTag\", function() { return faTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTags\", function() { return faTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTape\", function() { return faTape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTasks\", function() { return faTasks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTaxi\", function() { return faTaxi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTennisBall\", function() { return faTennisBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTerminal\", function() { return faTerminal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTextHeight\", function() { return faTextHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTextWidth\", function() { return faTextWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTh\", function() { return faTh; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThLarge\", function() { return faThLarge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThList\", function() { return faThList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometer\", function() { return faThermometer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometerEmpty\", function() { return faThermometerEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometerFull\", function() { return faThermometerFull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometerHalf\", function() { return faThermometerHalf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometerQuarter\", function() { return faThermometerQuarter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThermometerThreeQuarters\", function() { return faThermometerThreeQuarters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThumbsDown\", function() { return faThumbsDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThumbsUp\", function() { return faThumbsUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faThumbtack\", function() { return faThumbtack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTicket\", function() { return faTicket; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTicketAlt\", function() { return faTicketAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTimes\", function() { return faTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTimesCircle\", function() { return faTimesCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTimesHexagon\", function() { return faTimesHexagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTimesOctagon\", function() { return faTimesOctagon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTimesSquare\", function() { return faTimesSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTint\", function() { return faTint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faToggleOff\", function() { return faToggleOff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faToggleOn\", function() { return faToggleOn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrademark\", function() { return faTrademark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrain\", function() { return faTrain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTransgender\", function() { return faTransgender; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTransgenderAlt\", function() { return faTransgenderAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrash\", function() { return faTrash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrashAlt\", function() { return faTrashAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTree\", function() { return faTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTreeAlt\", function() { return faTreeAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTriangle\", function() { return faTriangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrophy\", function() { return faTrophy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTrophyAlt\", function() { return faTrophyAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruck\", function() { return faTruck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruckContainer\", function() { return faTruckContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruckCouch\", function() { return faTruckCouch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruckLoading\", function() { return faTruckLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruckMoving\", function() { return faTruckMoving; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTruckRamp\", function() { return faTruckRamp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTty\", function() { return faTty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTv\", function() { return faTv; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faTvRetro\", function() { return faTvRetro; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUmbrella\", function() { return faUmbrella; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUnderline\", function() { return faUnderline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUndo\", function() { return faUndo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUndoAlt\", function() { return faUndoAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUniversalAccess\", function() { return faUniversalAccess; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUniversity\", function() { return faUniversity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUnlink\", function() { return faUnlink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUnlock\", function() { return faUnlock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUnlockAlt\", function() { return faUnlockAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUpload\", function() { return faUpload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUsdCircle\", function() { return faUsdCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUsdSquare\", function() { return faUsdSquare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUser\", function() { return faUser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserAlt\", function() { return faUserAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserCircle\", function() { return faUserCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserMd\", function() { return faUserMd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserPlus\", function() { return faUserPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserSecret\", function() { return faUserSecret; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUserTimes\", function() { return faUserTimes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUsers\", function() { return faUsers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUtensilFork\", function() { return faUtensilFork; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUtensilKnife\", function() { return faUtensilKnife; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUtensilSpoon\", function() { return faUtensilSpoon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUtensils\", function() { return faUtensils; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faUtensilsAlt\", function() { return faUtensilsAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVenus\", function() { return faVenus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVenusDouble\", function() { return faVenusDouble; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVenusMars\", function() { return faVenusMars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVial\", function() { return faVial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVials\", function() { return faVials; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVideo\", function() { return faVideo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVideoPlus\", function() { return faVideoPlus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVideoSlash\", function() { return faVideoSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVolleyballBall\", function() { return faVolleyballBall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVolumeDown\", function() { return faVolumeDown; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVolumeMute\", function() { return faVolumeMute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVolumeOff\", function() { return faVolumeOff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faVolumeUp\", function() { return faVolumeUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWarehouse\", function() { return faWarehouse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWarehouseAlt\", function() { return faWarehouseAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWatch\", function() { return faWatch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWeight\", function() { return faWeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWheelchair\", function() { return faWheelchair; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWhistle\", function() { return faWhistle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWifi\", function() { return faWifi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindow\", function() { return faWindow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindowAlt\", function() { return faWindowAlt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindowClose\", function() { return faWindowClose; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindowMaximize\", function() { return faWindowMaximize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindowMinimize\", function() { return faWindowMinimize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWindowRestore\", function() { return faWindowRestore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWineGlass\", function() { return faWineGlass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWonSign\", function() { return faWonSign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faWrench\", function() { return faWrench; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faXRay\", function() { return faXRay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"faYenSign\", function() { return faYenSign; });\n/*!\n * Font Awesome Pro 5.0.9 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Commercial License)\n */\nvar _WINDOW = {};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n \n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\n\n\n\n\n\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n\n\n\n\n\n\n\nvar PRODUCTION = function () {\n try {\n return \"development\" === 'production';\n } catch (e) {\n return false;\n }\n}();\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]);\n\n\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', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter'].concat(oneToTen.map(function (n) {\n return n + 'x';\n})).concat(oneToTwenty.map(function (n) {\n return 'w-' + n;\n}));\n\nfunction bunker(fn) {\n try {\n fn();\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n}\n\nvar w = WINDOW || {};\n\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 = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction define(prefix, icons) {\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 return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function') {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n define('fa', icons);\n }\n}\n\nvar prefix = \"far\";\nvar faAddressBook = { prefix: 'far', iconName: 'address-book', icon: [448, 512, [], \"f2b9\", \"M436 160c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20zm-74 304H54a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v404a6 6 0 0 1-6 6zM128 208c0-44.183 35.817-80 80-80s80 35.817 80 80-35.817 80-80 80-80-35.817-80-80zm208 133.477V360c0 13.255-10.745 24-24 24H104c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.657-8.914c29.101 20.932 74.509 26.945 111.97 0l35.657 8.914C321.01 300.252 336 319.452 336 341.477z\"] };\nvar faAddressCard = { prefix: 'far', iconName: 'address-card', icon: [512, 512, [], \"f2bb\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zm-54-176H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm0 72H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zM176 160c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm68.731 125.183l-26.742-6.686c-28.096 20.209-62.152 15.699-83.978 0l-26.742 6.686C91.243 289.189 80 303.589 80 320.108V334c0 9.941 8.059 18 18 18h156c9.941 0 18-8.059 18-18v-13.892c0-16.519-11.243-30.919-27.269-34.925z\"] };\nvar faAdjust = { prefix: 'far', iconName: 'adjust', icon: [512, 512, [], \"f042\", \"M256 56c110.549 0 200 89.468 200 200 0 110.549-89.468 200-200 200-110.549 0-200-89.468-200-200 0-110.549 89.468-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 96c-83.947 0-152 68.053-152 152s68.053 152 152 152V104z\"] };\nvar faAlarmClock = { prefix: 'far', iconName: 'alarm-clock', icon: [512, 512, [], \"f34e\", \"M459.7 194.6C482 174.1 496 144.7 496 112 496 50.1 445.9 0 384 0c-45.3 0-84.3 26.8-101.9 65.5-17.3-2-34.9-2-52.2 0C212.3 26.8 173.3 0 128 0 66.1 0 16 50.1 16 112c0 32.7 14 62.1 36.3 82.6C39.3 223 32 254.7 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l42.5-42.5c81.5 65.7 198.7 66.4 281 0L439 505c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5.1-33.4-7.2-65.1-20.2-93.5zM384 48c35.3 0 64 28.7 64 64 0 15.1-5.3 29-14 39.9-26.2-34.2-62-60.6-103.3-75.2C342.1 59.4 361.7 48 384 48zM64 112c0-35.3 28.7-64 64-64 22.3 0 41.9 11.4 53.4 28.7-41.4 14.6-77.2 41-103.3 75.2C69.3 141 64 127.1 64 112zm192 352c-97.3 0-176-78.7-176-176 0-97 78.4-176 176-176 97.4 0 176 78.8 176 176 0 97.3-78.7 176-176 176zm46.2-95.7l-69-47.5c-3.3-2.2-5.2-5.9-5.2-9.9V180c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v107.7l50 34.4c5.5 3.8 6.8 11.2 3.1 16.7L319 365.2c-3.8 5.4-11.3 6.8-16.8 3.1z\"] };\nvar faAlignCenter = { prefix: 'far', iconName: 'align-center', icon: [448, 512, [], \"f037\", \"M352 48v32c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12V48c0-6.627 5.373-12 12-12h232c6.627 0 12 5.373 12 12zM12 220h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm0 256h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm328-184H108c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12z\"] };\nvar faAlignJustify = { prefix: 'far', iconName: 'align-justify', icon: [448, 512, [], \"f039\", \"M0 80V48c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12H12C5.373 92 0 86.627 0 80zm12 140h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm0 256h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm0-128h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12z\"] };\nvar faAlignLeft = { prefix: 'far', iconName: 'align-left', icon: [448, 512, [], \"f036\", \"M288 48v32c0 6.627-5.373 12-12 12H12C5.373 92 0 86.627 0 80V48c0-6.627 5.373-12 12-12h264c6.627 0 12 5.373 12 12zM12 220h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm0 256h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm264-184H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h264c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12z\"] };\nvar faAlignRight = { prefix: 'far', iconName: 'align-right', icon: [448, 512, [], \"f038\", \"M160 80V48c0-6.627 5.373-12 12-12h264c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zM12 220h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm0 256h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm160-128h264c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12z\"] };\nvar faAllergies = { prefix: 'far', iconName: 'allergies', icon: [480, 512, [], \"f461\", \"M256 304c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-64-16c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm64 112c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm152-288c-2.7 0-5.4.2-8 .4V104c0-39.7-32.3-72-72-72-6.4 0-12.7.8-18.6 2.4C296.7 13.8 273.9 0 248 0s-48.7 13.8-61.4 34.4c-5.9-1.6-12.2-2.4-18.6-2.4-39.7 0-72 32.3-72 72v92.1c-10.5-3.7-38.1-10.2-65.3 8.9C-1.8 227.8-9.8 272.8 13 305.3l113.5 171c14.9 22.4 39.8 35.7 66.6 35.7h180.6c38 0 71-27 78.5-64.3l20.6-103.2c4.7-23.7 7.1-48 7.1-72.2V184c.1-39.7-32.2-72-71.9-72zm24 160.3c0 21.1-2.1 42.1-6.2 62.8l-20.6 103.2c-3 15-16.1 25.7-31.4 25.7H193.1c-10.7 0-20.7-5.4-26.7-14.3L52.3 277.8c-18-25.7 20.7-54.1 39.3-27.5l37.8 54.4c4.5 6.5 14.6 3.2 14.6-4.6V104c0-31.8 48-31.7 48 0v144c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V72c0-31.8 48-31.7 48 0v176c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V104c0-31.8 48-31.7 48 0v144c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-64c0-31.8 48-31.7 48 0v88.3zM192 368c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm192-80c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-32 112c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-32-64c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16z\"] };\nvar faAmbulance = { prefix: 'far', iconName: 'ambulance', icon: [640, 512, [], \"f0f9\", \"M296 160h-56v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm328 208h-16V251.9c0-19-7.7-37.5-21.1-50.9L503 117.1C489.6 103.7 471 96 452.1 96H416V56c0-30.9-25.1-56-56-56H56C25.1 0 0 25.1 0 56v304c0 30.9 25.1 56 56 56h8c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-464 96c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm208-96H242.7c-16.6-28.6-47.2-48-82.7-48s-66.1 19.4-82.7 48H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v312zm48-224h36.1c6.3 0 12.5 2.6 17 7l73 73H416v-80zm64 320c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-100.9c-17.2-25.9-46.6-43.1-80-43.1-24.7 0-47 9.6-64 24.9V272h144v91.1z\"] };\nvar faAmericanSignLanguageInterpreting = { prefix: 'far', iconName: 'american-sign-language-interpreting', icon: [640, 512, [], \"f2a3\", \"M635.124 210.818c-.06-.124-40.19-80.369-40.19-80.369-11.371-22.737-39.883-33.58-64.432-21.309l-.048.024-51.577 25.889s-76.369-7.04-77.356-7.04c-18.703 0-36.638 4.3-52.695 12.51-6.622-8.822-14.274-14.06-23.49-18.275 11.395-35.618-14.806-73.459-53.504-73.192C268.554 22.553 245.872 0 216.271 0a56.096 56.096 0 0 0-35.654 12.824c-45.389 37.273-74.398 89.592-82.391 146.56l-29.668 53.507s-44.692 25.442-44.809 25.51C2.06 251.113-6.128 278.463 4.874 301.198c.061.125 40.19 80.371 40.19 80.371 11.462 22.914 40.052 33.495 64.433 21.309l.048-.024 51.594-25.897c76.879 7.049 76.948 7.049 78.84 7.049 18.074 0 35.583-4.459 51.181-12.527 6.627 8.835 14.283 14.074 23.502 18.292-11.848 37.033 17.128 73.849 53.528 73.376C371.632 490.225 394.936 512 423.76 512c13.008 0 25.656-4.549 35.633-12.814 45.384-37.273 74.388-89.591 82.38-146.551l29.668-53.507s44.692-25.442 44.808-25.51c21.692-12.713 29.88-40.065 18.875-62.8zm-338.089-22.229c-19.901-9.937-43.4-11.344-64.482-3.866-8.425 2.989-6.285 15.54 2.675 15.54 32.401 0 57.19 14.542 69.807 40.956 9.012 18.801-19.759 32.856-28.81 13.633l-.052-.107c-6.857-14.022-20.727-22.734-36.194-22.734-22.061 0-40.008 17.943-40.008 39.999 0 24.706 20.767 39.999 40.008 39.999 15.468 0 29.337-8.711 36.194-22.734l.052-.106c9.052-19.227 37.818-5.16 28.805 13.642-11.909 24.935-37.3 41.079-64.747 41.196-4.601-.388-62.246-5.666-84.596-7.716a7.973 7.973 0 0 0-4.319.817L91.615 367.1c-4.477 2.238-9.078-.033-10.774-3.423l-39.983-79.94c-1.879-3.933-.532-8.66 3.076-10.802l52.215-29.721a8.003 8.003 0 0 0 3.039-3.073l37.009-66.747a7.984 7.984 0 0 0 .954-2.991c5.563-49.806 30.03-94.802 68.925-126.724 6.719-5.57 16.887-4.766 22.422 2.108 6.05 7.502 4.4 17.162-2.18 22.619-12.209 10.306-22.541 21.614-30.71 33.609-4.944 7.26 3.828 16.067 11.107 11.121C226.048 100 247.323 91.95 270.033 89.198c8.246-1.085 16.426 4.1 17.779 13.866 1.149 8.695-4.777 16.738-13.782 17.758-14.99 1.808-29.422 6.793-42.896 14.818-7.753 4.617-3.036 16.619 5.803 14.689 23.624-5.166 51.312-1.658 73.985 9.34 19.143 9.569 5.068 38.147-13.887 28.92zm299.029 50.498l-52.211 29.72a8 8 0 0 0-3.039 3.072l-37.011 66.747a7.989 7.989 0 0 0-.954 2.992c-5.562 49.806-30.029 94.801-68.939 126.735-16.035 13.361-36.804-10.996-20.226-24.738 12.21-10.309 22.542-21.616 30.708-33.609 5.036-7.397-3.95-15.986-11.107-11.12-19.333 13.133-40.608 21.183-63.234 23.924-21.228 2.583-24.879-29.259-4.081-31.613 14.99-1.809 29.422-6.794 42.896-14.817 7.754-4.619 3.033-16.619-5.803-14.689-23.621 5.167-51.312 1.659-73.985-9.341-19.179-9.587-4.995-38.163 13.853-28.936 19.908 9.949 43.423 11.365 64.517 3.884 8.441-2.997 6.266-15.54-2.675-15.54-32.402 0-57.191-14.541-69.807-40.956-9.016-18.813 19.765-32.851 28.81-13.633l.052.105c6.856 14.023 20.725 22.735 36.193 22.735 22.061 0 40.009-17.943 40.009-39.999 0-24.707-20.768-39.999-40.009-39.999-15.469 0-29.338 8.711-36.194 22.735l-.051.106c-9.051 19.223-37.821 5.167-28.805-13.643 12.099-25.331 37.434-41.091 66.185-41.195l83.149 7.715a8 8 0 0 0 4.328-.816l59.754-29.993c4.477-2.235 9.079.034 10.772 3.423l39.983 79.941c1.88 3.932.533 8.661-3.078 10.803z\"] };\nvar faAnchor = { prefix: 'far', iconName: 'anchor', icon: [576, 512, [], \"f13d\", \"M571.515 331.515l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h44.268C453.531 417.326 380.693 456.315 312 462.865V216h60c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-60v-11.668c32.456-10.195 56-40.512 56-76.332 0-44.183-35.817-80-80-80s-80 35.817-80 80c0 35.82 23.544 66.138 56 76.332V168h-60c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h60v246.865C195.192 456.304 122.424 417.176 102.762 352h44.268c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.03 67.029C-3.074 339.074 2.28 352 12.971 352h40.284C73.657 451.556 181.238 512 288 512c113.135 0 215.338-65.3 234.745-160h40.284c10.691 0 16.045-12.926 8.486-20.485zM288 48c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"] };\nvar faAngleDoubleDown = { prefix: 'far', iconName: 'angle-double-down', icon: [320, 512, [], \"f103\", \"M151.5 427.8L3.5 281c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 362.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0zm17-160l148-146.8c4.7-4.7 4.7-12.3 0-17l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L160 202.7 40.3 84.2c-4.7-4.7-12.3-4.7-17 0L3.5 104c-4.7 4.7-4.7 12.3 0 17l148 146.8c4.7 4.7 12.3 4.7 17 0z\"] };\nvar faAngleDoubleLeft = { prefix: 'far', iconName: 'angle-double-left', icon: [384, 512, [], \"f100\", \"M20.2 247.5L167 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L85.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L184 412.5c-4.7 4.7-12.3 4.7-17 0l-146.8-148c-4.7-4.7-4.7-12.3 0-17zm160 17l146.8 148c4.7 4.7 12.3 4.7 17 0l19.8-19.8c4.7-4.7 4.7-12.3 0-17L245.3 256l118.5-119.7c4.7-4.7 4.7-12.3 0-17L344 99.5c-4.7-4.7-12.3-4.7-17 0l-146.8 148c-4.7 4.7-4.7 12.3 0 17z\"] };\nvar faAngleDoubleRight = { prefix: 'far', iconName: 'angle-double-right', icon: [384, 512, [], \"f101\", \"M363.8 264.5L217 412.5c-4.7 4.7-12.3 4.7-17 0l-19.8-19.8c-4.7-4.7-4.7-12.3 0-17L298.7 256 180.2 136.3c-4.7-4.7-4.7-12.3 0-17L200 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17zm-160-17L57 99.5c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8c-4.7 4.7-4.7 12.3 0 17L138.7 256 20.2 375.7c-4.7 4.7-4.7 12.3 0 17L40 412.5c4.7 4.7 12.3 4.7 17 0l146.8-148c4.7-4.7 4.7-12.3 0-17z\"] };\nvar faAngleDoubleUp = { prefix: 'far', iconName: 'angle-double-up', icon: [320, 512, [], \"f102\", \"M168.5 84.2l148 146.8c4.7 4.7 4.7 12.3 0 17l-19.8 19.8c-4.7 4.7-12.3 4.7-17 0L160 149.3 40.3 267.8c-4.7 4.7-12.3 4.7-17 0L3.5 248c-4.7-4.7-4.7-12.3 0-17l148-146.8c4.7-4.7 12.3-4.7 17 0zm-17 160L3.5 391c-4.7 4.7-4.7 12.3 0 17l19.8 19.8c4.7 4.7 12.3 4.7 17 0L160 309.3l119.7 118.5c4.7 4.7 12.3 4.7 17 0l19.8-19.8c4.7-4.7 4.7-12.3 0-17l-148-146.8c-4.7-4.7-12.3-4.7-17 0z\"] };\nvar faAngleDown = { prefix: 'far', iconName: 'angle-down', icon: [320, 512, [], \"f107\", \"M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z\"] };\nvar faAngleLeft = { prefix: 'far', iconName: 'angle-left', icon: [192, 512, [], \"f104\", \"M4.2 247.5L151 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L69.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L168 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 264.5c-4.7-4.7-4.7-12.3 0-17z\"] };\nvar faAngleRight = { prefix: 'far', iconName: 'angle-right', icon: [192, 512, [], \"f105\", \"M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z\"] };\nvar faAngleUp = { prefix: 'far', iconName: 'angle-up', icon: [320, 512, [], \"f106\", \"M168.5 164.2l148 146.8c4.7 4.7 4.7 12.3 0 17l-19.8 19.8c-4.7 4.7-12.3 4.7-17 0L160 229.3 40.3 347.8c-4.7 4.7-12.3 4.7-17 0L3.5 328c-4.7-4.7-4.7-12.3 0-17l148-146.8c4.7-4.7 12.3-4.7 17 0z\"] };\nvar faArchive = { prefix: 'far', iconName: 'archive', icon: [512, 512, [], \"f187\", \"M464 32H48C21.5 32 0 53.5 0 80v80c0 8.8 7.2 16 16 16h16v272c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V176h16c8.8 0 16-7.2 16-16V80c0-26.5-21.5-48-48-48zm-32 400H80V176h352v256zm32-304H48V80h416v48zM204 272h104c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12H204c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12z\"] };\nvar faArrowAltCircleDown = { prefix: 'far', iconName: 'arrow-alt-circle-down', icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"] };\nvar faArrowAltCircleLeft = { prefix: 'far', iconName: 'arrow-alt-circle-left', icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"] };\nvar faArrowAltCircleRight = { prefix: 'far', iconName: 'arrow-alt-circle-right', icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"] };\nvar faArrowAltCircleUp = { prefix: 'far', iconName: 'arrow-alt-circle-up', icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"] };\nvar faArrowAltDown = { prefix: 'far', iconName: 'arrow-alt-down', icon: [448, 512, [], \"f354\", \"M400 208h-73.8V80c0-26.5-21.5-48-48-48H169.8c-26.5 0-48 21.5-48 48v128H48.1c-42.6 0-64.2 51.7-33.9 81.9l175.9 176c18.7 18.7 49.1 18.7 67.9 0l176-176c30-30.1 8.7-81.9-34-81.9zM224 432L48 256h121.8V80h108.3v176H400L224 432z\"] };\nvar faArrowAltFromBottom = { prefix: 'far', iconName: 'arrow-alt-from-bottom', icon: [384, 512, [], \"f346\", \"M384 444v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12zM14.1 190.1l144-144c18.7-18.7 49.1-18.7 67.9 0l143.9 144c30.2 30.2 8.7 81.9-33.9 81.9h-51.6v80c0 26.5-21.5 48-48 48h-88.6c-26.5 0-48-21.5-48-48v-80H48c-42.7 0-64-51.8-33.9-81.9zM48 224h99.7v128h88.6V224H336L192 80 48 224z\"] };\nvar faArrowAltFromLeft = { prefix: 'far', iconName: 'arrow-alt-from-left', icon: [448, 512, [], \"f347\", \"M36 448H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v360c0 6.6-5.4 12-12 12zM289.9 78.1l144 144c18.7 18.7 18.7 49.1 0 67.9l-144 143.9c-30.2 30.2-81.9 8.7-81.9-33.9v-51.6h-80c-26.5 0-48-21.5-48-48v-88.6c0-26.5 21.5-48 48-48h80V112c0-42.7 51.8-64 81.9-33.9zM256 112v99.7H128v88.6h128V400l144-144-144-144z\"] };\nvar faArrowAltFromRight = { prefix: 'far', iconName: 'arrow-alt-from-right', icon: [448, 512, [], \"f348\", \"M412 64h24c6.6 0 12 5.4 12 12v360c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12zM158.1 433.9l-144-144c-18.7-18.7-18.7-49.1 0-67.9l144-143.9C188.3 47.9 240 69.4 240 112v51.6h80c26.5 0 48 21.5 48 48v88.6c0 26.5-21.5 48-48 48h-80V400c0 42.7-51.8 64-81.9 33.9zM192 400v-99.7h128v-88.6H192V112L48 256l144 144z\"] };\nvar faArrowAltFromTop = { prefix: 'far', iconName: 'arrow-alt-from-top', icon: [384, 512, [], \"f349\", \"M0 68V44c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12C5.4 80 0 74.6 0 68zm369.9 253.9l-144 144c-18.7 18.7-49.1 18.7-67.9 0l-143.9-144c-30.2-30.2-8.7-81.9 34-81.9h51.6v-80c0-26.5 21.5-48 48-48h88.6c26.5 0 48 21.5 48 48v80H336c42.7 0 64 51.8 33.9 81.9zM336 288h-99.7V160h-88.6v128H48l144 144 144-144z\"] };\nvar faArrowAltLeft = { prefix: 'far', iconName: 'arrow-alt-left', icon: [448, 512, [], \"f355\", \"M272 431.952v-73.798h128c26.51 0 48-21.49 48-48V201.846c0-26.51-21.49-48-48-48H272V80.057c0-42.638-51.731-64.15-81.941-33.941l-176 175.943c-18.745 18.745-18.746 49.137 0 67.882l176 175.952C220.208 496.042 272 474.675 272 431.952zM48 256L224 80v121.846h176v108.308H224V432L48 256z\"] };\nvar faArrowAltRight = { prefix: 'far', iconName: 'arrow-alt-right', icon: [448, 512, [], \"f356\", \"M176 80.048v73.798H48c-26.51 0-48 21.49-48 48v108.308c0 26.51 21.49 48 48 48h128v73.789c0 42.638 51.731 64.151 81.941 33.941l176-175.943c18.745-18.745 18.746-49.137 0-67.882l-176-175.952C227.792 15.958 176 37.325 176 80.048zM400 256L224 432V310.154H48V201.846h176V80l176 176z\"] };\nvar faArrowAltSquareDown = { prefix: 'far', iconName: 'arrow-alt-square-down', icon: [448, 512, [], \"f350\", \"M204 128h40c6.6 0 12 5.4 12 12v116h67c10.7 0 16 12.9 8.5 20.5l-99 99c-4.7 4.7-12.3 4.7-17 0l-99-99c-7.6-7.6-2.2-20.5 8.5-20.5h67V140c0-6.6 5.4-12 12-12zm244-48v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowAltSquareLeft = { prefix: 'far', iconName: 'arrow-alt-square-left', icon: [448, 512, [], \"f351\", \"M352 236v40c0 6.6-5.4 12-12 12H224v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12zm96-156v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowAltSquareRight = { prefix: 'far', iconName: 'arrow-alt-square-right', icon: [448, 512, [], \"f352\", \"M96 276v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H108c-6.6 0-12-5.4-12-12zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowAltSquareUp = { prefix: 'far', iconName: 'arrow-alt-square-up', icon: [448, 512, [], \"f353\", \"M244 384h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowAltToBottom = { prefix: 'far', iconName: 'arrow-alt-to-bottom', icon: [384, 512, [], \"f34a\", \"M336 176h-51.6V80c0-26.5-21.5-48-48-48h-88.6c-26.5 0-48 21.5-48 48v96H48.1c-42.6 0-64.2 51.7-33.9 81.9l143.9 144c18.7 18.7 49.1 18.7 67.9 0l144-144c30-30.1 8.7-81.9-34-81.9zM192 368L48 224h99.7V80h88.6v144H336L192 368zm192 76v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12z\"] };\nvar faArrowAltToLeft = { prefix: 'far', iconName: 'arrow-alt-to-left', icon: [448, 512, [], \"f34b\", \"M304 400v-51.6h96c26.5 0 48-21.5 48-48v-88.6c0-26.5-21.5-48-48-48h-96v-51.6c0-42.6-51.7-64.2-81.9-33.9l-144 143.9c-18.7 18.7-18.7 49.1 0 67.9l144 144C252.2 464 304 442.7 304 400zM112 256l144-144v99.7h144v88.6H256V400L112 256zM36 448H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v360c0 6.6-5.4 12-12 12z\"] };\nvar faArrowAltToRight = { prefix: 'far', iconName: 'arrow-alt-to-right', icon: [448, 512, [], \"f34c\", \"M144 112v51.6H48c-26.5 0-48 21.5-48 48v88.6c0 26.5 21.5 48 48 48h96v51.6c0 42.6 51.7 64.2 81.9 33.9l144-143.9c18.7-18.7 18.7-49.1 0-67.9l-144-144C195.8 48 144 69.3 144 112zm192 144L192 400v-99.7H48v-88.6h144V112l144 144zm76-192h24c6.6 0 12 5.4 12 12v360c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12z\"] };\nvar faArrowAltToTop = { prefix: 'far', iconName: 'arrow-alt-to-top', icon: [384, 512, [], \"f34d\", \"M48 336h51.6v96c0 26.5 21.5 48 48 48h88.6c26.5 0 48-21.5 48-48v-96h51.6c42.6 0 64.2-51.7 33.9-81.9l-143.9-144c-18.7-18.7-49.1-18.7-67.9 0l-144 144C-16 284.2 5.3 336 48 336zm144-192l144 144h-99.7v144h-88.6V288H48l144-144zM0 68V44c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12C5.4 80 0 74.6 0 68z\"] };\nvar faArrowAltUp = { prefix: 'far', iconName: 'arrow-alt-up', icon: [448, 512, [], \"f357\", \"M48.048 304h73.798v128c0 26.51 21.49 48 48 48h108.308c26.51 0 48-21.49 48-48V304h73.789c42.638 0 64.151-51.731 33.941-81.941l-175.943-176c-18.745-18.745-49.137-18.746-67.882 0l-175.952 176C-16.042 252.208 5.325 304 48.048 304zM224 80l176 176H278.154v176H169.846V256H48L224 80z\"] };\nvar faArrowCircleDown = { prefix: 'far', iconName: 'arrow-circle-down', icon: [512, 512, [], \"f0ab\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm129.9-206.1l-19.6-19.6c-4.8-4.8-12.5-4.7-17.2.2L282 300.8V140c0-6.6-5.4-12-12-12h-28c-6.6 0-12 5.4-12 12v160.8l-67.1-70.3c-4.7-4.9-12.4-5-17.2-.2l-19.6 19.6c-4.7 4.7-4.7 12.3 0 17l121.4 121.4c4.7 4.7 12.3 4.7 17 0l121.4-121.4c4.7-4.7 4.7-12.3 0-17z\"] };\nvar faArrowCircleLeft = { prefix: 'far', iconName: 'arrow-circle-left', icon: [512, 512, [], \"f0a8\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm189.1 129.9L123.7 264.5c-4.7-4.7-4.7-12.3 0-17l121.4-121.4c4.7-4.7 12.3-4.7 17 0l19.6 19.6c4.8 4.8 4.7 12.5-.2 17.2L211.2 230H372c6.6 0 12 5.4 12 12v28c0 6.6-5.4 12-12 12H211.2l70.3 67.1c4.9 4.7 5 12.4.2 17.2l-19.6 19.6c-4.7 4.7-12.3 4.7-17 0z\"] };\nvar faArrowCircleRight = { prefix: 'far', iconName: 'arrow-circle-right', icon: [512, 512, [], \"f0a9\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zM266.9 126.1l121.4 121.4c4.7 4.7 4.7 12.3 0 17L266.9 385.9c-4.7 4.7-12.3 4.7-17 0l-19.6-19.6c-4.8-4.8-4.7-12.5.2-17.2l70.3-67.1H140c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h160.8l-70.3-67.1c-4.9-4.7-5-12.4-.2-17.2l19.6-19.6c4.7-4.7 12.3-4.7 17 0z\"] };\nvar faArrowCircleUp = { prefix: 'far', iconName: 'arrow-circle-up', icon: [512, 512, [], \"f0aa\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zM126.1 245.1l121.4-121.4c4.7-4.7 12.3-4.7 17 0l121.4 121.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.2-.2L282 211.2V372c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V211.2l-67.1 70.3c-4.7 4.9-12.4 5-17.2.2l-19.6-19.6c-4.7-4.7-4.7-12.3 0-17z\"] };\nvar faArrowDown = { prefix: 'far', iconName: 'arrow-down', icon: [448, 512, [], \"f063\", \"M441.9 250.1l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L250 385.4V44c0-6.6-5.4-12-12-12h-28c-6.6 0-12 5.4-12 12v341.4L42.9 230.3c-4.7-4.7-12.3-4.7-17 0L6.1 250.1c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z\"] };\nvar faArrowFromBottom = { prefix: 'far', iconName: 'arrow-from-bottom', icon: [384, 512, [], \"f342\", \"M35.5 183.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 123.2V372c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V123.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM372 428H12c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12z\"] };\nvar faArrowFromLeft = { prefix: 'far', iconName: 'arrow-from-left', icon: [448, 512, [], \"f343\", \"M296.1 99.5l148.4 148c4.7 4.7 4.7 12.3 0 17l-148.4 148c-4.7 4.7-12.3 4.7-17 0l-19.6-19.6c-4.8-4.8-4.7-12.5.2-17.1l97.1-93.7H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h248.8l-97.1-93.7c-4.8-4.7-4.9-12.4-.2-17.1l19.6-19.6c4.7-4.9 12.3-4.9 17-.2zM52 436V76c0-6.6-5.4-12-12-12H12C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12h28c6.6 0 12-5.4 12-12z\"] };\nvar faArrowFromRight = { prefix: 'far', iconName: 'arrow-from-right', icon: [448, 512, [], \"f344\", \"M151.9 412.5L3.5 264.5c-4.7-4.7-4.7-12.3 0-17l148.4-148c4.7-4.7 12.3-4.7 17 0l19.6 19.6c4.8 4.8 4.7 12.5-.2 17.1L91.2 230H340c6.6 0 12 5.4 12 12v28c0 6.6-5.4 12-12 12H91.2l97.1 93.7c4.8 4.7 4.9 12.4.2 17.1l-19.6 19.6c-4.7 4.8-12.3 4.8-17 .1zM396 76v360c0 6.6 5.4 12 12 12h28c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-28c-6.6 0-12 5.4-12 12z\"] };\nvar faArrowFromTop = { prefix: 'far', iconName: 'arrow-from-top', icon: [384, 512, [], \"f345\", \"M348.5 328.1l-148 148.4c-4.7 4.7-12.3 4.7-17 0l-148-148.4c-4.7-4.7-4.7-12.3 0-17l19.6-19.6c4.8-4.8 12.5-4.7 17.1.2l93.7 97.1V140c0-6.6 5.4-12 12-12h28c6.6 0 12 5.4 12 12v248.8l93.7-97.1c4.7-4.8 12.4-4.9 17.1-.2l19.6 19.6c4.9 4.7 4.9 12.3.2 17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z\"] };\nvar faArrowLeft = { prefix: 'far', iconName: 'arrow-left', icon: [448, 512, [], \"f060\", \"M229.9 473.899l19.799-19.799c4.686-4.686 4.686-12.284 0-16.971L94.569 282H436c6.627 0 12-5.373 12-12v-28c0-6.627-5.373-12-12-12H94.569l155.13-155.13c4.686-4.686 4.686-12.284 0-16.971L229.9 38.101c-4.686-4.686-12.284-4.686-16.971 0L3.515 247.515c-4.686 4.686-4.686 12.284 0 16.971L212.929 473.9c4.686 4.686 12.284 4.686 16.971-.001z\"] };\nvar faArrowRight = { prefix: 'far', iconName: 'arrow-right', icon: [448, 512, [], \"f061\", \"M218.101 38.101L198.302 57.9c-4.686 4.686-4.686 12.284 0 16.971L353.432 230H12c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h341.432l-155.13 155.13c-4.686 4.686-4.686 12.284 0 16.971l19.799 19.799c4.686 4.686 12.284 4.686 16.971 0l209.414-209.414c4.686-4.686 4.686-12.284 0-16.971L235.071 38.101c-4.686-4.687-12.284-4.687-16.97 0z\"] };\nvar faArrowSquareDown = { prefix: 'far', iconName: 'arrow-square-down', icon: [448, 512, [], \"f339\", \"M353.9 266.9L232.5 388.3c-4.7 4.7-12.3 4.7-17 0L94.1 266.9c-4.7-4.7-4.7-12.3 0-17l19.6-19.6c4.8-4.8 12.5-4.7 17.2.2l67.1 70.3V140c0-6.6 5.4-12 12-12h28c6.6 0 12 5.4 12 12v160.8l67.1-70.3c4.7-4.9 12.4-5 17.2-.2l19.6 19.6c4.7 4.7 4.7 12.3 0 17zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowSquareLeft = { prefix: 'far', iconName: 'arrow-square-left', icon: [448, 512, [], \"f33a\", \"M213.1 385.9L91.7 264.5c-4.7-4.7-4.7-12.3 0-17l121.4-121.4c4.7-4.7 12.3-4.7 17 0l19.6 19.6c4.8 4.8 4.7 12.5-.2 17.2L179.2 230H340c6.6 0 12 5.4 12 12v28c0 6.6-5.4 12-12 12H179.2l70.3 67.1c4.9 4.7 5 12.4.2 17.2l-19.6 19.6c-4.7 4.7-12.3 4.7-17 0zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowSquareRight = { prefix: 'far', iconName: 'arrow-square-right', icon: [448, 512, [], \"f33b\", \"M234.9 126.1l121.4 121.4c4.7 4.7 4.7 12.3 0 17L234.9 385.9c-4.7 4.7-12.3 4.7-17 0l-19.6-19.6c-4.8-4.8-4.7-12.5.2-17.2l70.3-67.1H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h160.8l-70.3-67.1c-4.9-4.7-5-12.4-.2-17.2l19.6-19.6c4.7-4.7 12.3-4.7 17 0zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowSquareUp = { prefix: 'far', iconName: 'arrow-square-up', icon: [448, 512, [], \"f33c\", \"M94.1 245.1l121.4-121.4c4.7-4.7 12.3-4.7 17 0l121.4 121.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.2-.2L250 211.2V372c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V211.2l-67.1 70.3c-4.7 4.9-12.4 5-17.2.2l-19.6-19.6c-4.7-4.7-4.7-12.3 0-17zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faArrowToBottom = { prefix: 'far', iconName: 'arrow-to-bottom', icon: [384, 512, [], \"f33d\", \"M348.5 232.1l-148 148.4c-4.7 4.7-12.3 4.7-17 0l-148-148.4c-4.7-4.7-4.7-12.3 0-17l19.6-19.6c4.8-4.8 12.5-4.7 17.1.2l93.7 97.1V44c0-6.6 5.4-12 12-12h28c6.6 0 12 5.4 12 12v248.8l93.7-97.1c4.7-4.8 12.4-4.9 17.1-.2l19.6 19.6c4.9 4.7 4.9 12.3.2 17zM372 428H12c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12z\"] };\nvar faArrowToLeft = { prefix: 'far', iconName: 'arrow-to-left', icon: [448, 512, [], \"f33e\", \"M247.9 412.5l-148.4-148c-4.7-4.7-4.7-12.3 0-17l148.4-148c4.7-4.7 12.3-4.7 17 0l19.6 19.6c4.8 4.8 4.7 12.5-.2 17.1L187.2 230H436c6.6 0 12 5.4 12 12v28c0 6.6-5.4 12-12 12H187.2l97.1 93.7c4.8 4.7 4.9 12.4.2 17.1l-19.6 19.6c-4.7 4.8-12.3 4.8-17 .1zM52 436V76c0-6.6-5.4-12-12-12H12C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12h28c6.6 0 12-5.4 12-12z\"] };\nvar faArrowToRight = { prefix: 'far', iconName: 'arrow-to-right', icon: [448, 512, [], \"f340\", \"M200.1 99.5l148.4 148c4.7 4.7 4.7 12.3 0 17l-148.4 148c-4.7 4.7-12.3 4.7-17 0l-19.6-19.6c-4.8-4.8-4.7-12.5.2-17.1l97.1-93.7H12c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h248.8l-97.1-93.7c-4.8-4.7-4.9-12.4-.2-17.1l19.6-19.6c4.7-4.9 12.3-4.9 17-.2zM396 76v360c0 6.6 5.4 12 12 12h28c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-28c-6.6 0-12 5.4-12 12z\"] };\nvar faArrowToTop = { prefix: 'far', iconName: 'arrow-to-top', icon: [384, 512, [], \"f341\", \"M35.5 279.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 219.2V468c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V219.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z\"] };\nvar faArrowUp = { prefix: 'far', iconName: 'arrow-up', icon: [448, 512, [], \"f062\", \"M6.101 261.899L25.9 281.698c4.686 4.686 12.284 4.686 16.971 0L198 126.568V468c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12V126.568l155.13 155.13c4.686 4.686 12.284 4.686 16.971 0l19.799-19.799c4.686-4.686 4.686-12.284 0-16.971L232.485 35.515c-4.686-4.686-12.284-4.686-16.971 0L6.101 244.929c-4.687 4.686-4.687 12.284 0 16.97z\"] };\nvar faArrows = { prefix: 'far', iconName: 'arrows', icon: [512, 512, [], \"f047\", \"M360.549 412.216l-96.064 96.269c-4.686 4.686-12.284 4.686-16.971 0l-96.064-96.269c-4.686-4.686-4.686-12.284 0-16.971l19.626-19.626c4.753-4.753 12.484-4.675 17.14.173L230 420.78h2V280H91.22v2l44.986 41.783c4.849 4.656 4.927 12.387.173 17.14l-19.626 19.626c-4.686 4.686-12.284 4.686-16.971 0L3.515 264.485c-4.686-4.686-4.686-12.284 0-16.971l96.269-96.064c4.686-4.686 12.284-4.686 16.97 0l19.626 19.626c4.753 4.753 4.675 12.484-.173 17.14L91.22 230v2H232V91.22h-2l-41.783 44.986c-4.656 4.849-12.387 4.927-17.14.173l-19.626-19.626c-4.686-4.686-4.686-12.284 0-16.971l96.064-96.269c4.686-4.686 12.284-4.686 16.971 0l96.064 96.269c4.686 4.686 4.686 12.284 0 16.971l-19.626 19.626c-4.753 4.753-12.484 4.675-17.14-.173L282 91.22h-2V232h140.78v-2l-44.986-41.783c-4.849-4.656-4.927-12.387-.173-17.14l19.626-19.626c4.686-4.686 12.284-4.686 16.971 0l96.269 96.064c4.686 4.686 4.686 12.284 0 16.971l-96.269 96.064c-4.686 4.686-12.284 4.686-16.971 0l-19.626-19.626c-4.753-4.753-4.675-12.484.173-17.14L420.78 282v-2H280v140.78h2l41.783-44.986c4.656-4.849 12.387-4.927 17.14-.173l19.626 19.626c4.687 4.685 4.687 12.283 0 16.969z\"] };\nvar faArrowsAlt = { prefix: 'far', iconName: 'arrows-alt', icon: [512, 512, [], \"f0b2\", \"M276 236.075h115.85v-76.15c0-10.691 12.926-16.045 20.485-8.485l96.149 96.149c4.686 4.686 4.686 12.284 0 16.971l-96.149 96.149c-7.56 7.56-20.485 2.206-20.485-8.485v-76.149H275.999v115.776h76.15c10.691 0 16.045 12.926 8.485 20.485l-96.149 96.15c-4.686 4.686-12.284 4.686-16.971 0l-96.149-96.149c-7.56-7.56-2.206-20.485 8.485-20.485H236V276.075H120.149v76.149c0 10.691-12.926 16.045-20.485 8.485L3.515 264.56c-4.686-4.686-4.686-12.284 0-16.971l96.149-96.149c7.56-7.56 20.485-2.206 20.485 8.485v76.15H236V120.15h-76.149c-10.691 0-16.045-12.926-8.485-20.485l96.149-96.149c4.686-4.686 12.284-4.686 16.971 0l96.149 96.149c7.56 7.56 2.206 20.485-8.485 20.485H276v115.925z\"] };\nvar faArrowsAltH = { prefix: 'far', iconName: 'arrows-alt-h', icon: [512, 512, [], \"f337\", \"M508.485 247.515l-99.03-99.029c-7.56-7.56-20.485-2.206-20.485 8.485V228H123.03v-71.03c0-10.691-12.926-16.045-20.485-8.485l-99.03 99.029c-4.686 4.686-4.686 12.284 0 16.971l99.03 99.029c7.56 7.56 20.485 2.206 20.485-8.485V284h265.941v71.03c0 10.691 12.926 16.045 20.485 8.485l99.03-99.029c4.686-4.687 4.686-12.285-.001-16.971z\"] };\nvar faArrowsAltV = { prefix: 'far', iconName: 'arrows-alt-v', icon: [256, 512, [], \"f338\", \"M227.03 388.97H156V123.03h71.03c10.691 0 16.045-12.926 8.485-20.485l-99.029-99.03c-4.686-4.686-12.284-4.686-16.971 0l-99.029 99.03c-7.56 7.56-2.206 20.485 8.485 20.485H100v265.94H28.97c-10.691 0-16.045 12.926-8.485 20.485l99.029 99.03c4.686 4.686 12.284 4.686 16.971 0l99.029-99.03c7.56-7.559 2.206-20.485-8.484-20.485z\"] };\nvar faArrowsH = { prefix: 'far', iconName: 'arrows-h', icon: [512, 512, [], \"f07e\", \"M347.404 142.86c-4.753 4.753-4.675 12.484.173 17.14l73.203 70H91.22l73.203-70c4.849-4.656 4.927-12.387.173-17.14l-19.626-19.626c-4.686-4.686-12.284-4.686-16.971 0L3.515 247.515c-4.686 4.686-4.686 12.284 0 16.971L128 388.766c4.686 4.686 12.284 4.686 16.971 0l19.626-19.626c4.753-4.753 4.675-12.484-.173-17.14L91.22 282h329.56l-73.203 70c-4.849 4.656-4.927 12.387-.173 17.14l19.626 19.626c4.686 4.686 12.284 4.686 16.971 0l124.485-124.281c4.686-4.686 4.686-12.284 0-16.971L384 123.234c-4.686-4.686-12.284-4.686-16.971 0l-19.625 19.626z\"] };\nvar faArrowsV = { prefix: 'far', iconName: 'arrows-v', icon: [320, 512, [], \"f07d\", \"M273.1 347.4c-4.8-4.8-12.5-4.7-17.1.2l-70 73.2V91.2l70 73.2c4.7 4.8 12.4 4.9 17.1.2l19.6-19.6c4.7-4.7 4.7-12.3 0-17L168.5 3.5c-4.7-4.7-12.3-4.7-17 0L27.2 128c-4.7 4.7-4.7 12.3 0 17l19.6 19.6c4.8 4.8 12.5 4.7 17.1-.2l70-73.2v329.6l-70-73.2c-4.7-4.8-12.4-4.9-17.1-.2L27.2 367c-4.7 4.7-4.7 12.3 0 17l124.3 124.5c4.7 4.7 12.3 4.7 17 0L292.8 384c4.7-4.7 4.7-12.3 0-17l-19.7-19.6z\"] };\nvar faAssistiveListeningSystems = { prefix: 'far', iconName: 'assistive-listening-systems', icon: [512, 512, [], \"f2a2\", \"M189.149 512c-13.255 0-24-10.745-24-24s10.745-24 24-24c36.393 0 66-30.016 66-66.909l.002-.334C256.157 324.62 328 312.824 328 264c0-66.918-53.497-120-120-120-66.38 0-120 52.95-120 120 0 13.255-10.745 24-24 24s-24-10.745-24-24c0-93.338 74.866-168 168-168 92.97 0 168 74.484 168 168 0 74.659-72.099 87.835-72.851 133.282-.106 63.272-51.205 114.718-114 114.718zM296 264c0-48.523-39.477-88-88-88s-88 39.477-88 88c0 13.255 10.745 24 24 24s24-10.745 24-24c0-22.056 17.944-40 40-40s40 17.944 40 40c0 13.255 10.745 24 24 24s24-10.745 24-24zm130.99-71c11.94-5.755 16.955-20.1 11.2-32.04-17.206-35.699-42.929-67.404-74.385-91.688-10.495-8.099-25.564-6.16-33.664 4.333s-6.16 25.563 4.332 33.664c25.581 19.748 46.493 45.521 60.477 74.532 5.759 11.946 20.109 16.951 32.04 11.199zm71.404-35.37c11.945-5.744 16.974-20.083 11.23-32.029-23.882-49.678-55.813-90.241-94.916-120.565-10.475-8.122-25.549-6.218-33.674 4.258-8.122 10.474-6.216 25.55 4.258 33.673 33.17 25.723 60.443 60.522 81.073 103.432 5.744 11.949 20.084 16.972 32.029 11.231zM208 280c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 64c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zM24 464c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm104.971-16.971l-64-64L31.03 416.97l64 64 33.941-33.941z\"] };\nvar faAsterisk = { prefix: 'far', iconName: 'asterisk', icon: [512, 512, [], \"f069\", \"M479.31 357.216L303.999 256l175.31-101.215c5.74-3.314 7.706-10.653 4.392-16.392l-12-20.785c-3.314-5.74-10.653-7.706-16.392-4.392L280 214.431V12c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v202.431L56.69 113.215c-5.74-3.314-13.079-1.347-16.392 4.392l-12 20.785c-3.314 5.74-1.347 13.079 4.392 16.392L208 256 32.69 357.216c-5.74 3.314-7.706 10.653-4.392 16.392l12 20.784c3.314 5.739 10.653 7.706 16.392 4.392L232 297.569V500c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V297.569l175.31 101.215c5.74 3.314 13.078 1.347 16.392-4.392l12-20.784c3.314-5.739 1.347-13.079-4.392-16.392z\"] };\nvar faAt = { prefix: 'far', iconName: 'at', icon: [512, 512, [], \"f1fa\", \"M504 232C504 95.751 394.053 8 256 8 118.94 8 8 118.919 8 256c0 137.059 110.919 248 248 248 52.926 0 104.681-17.079 147.096-48.321 5.501-4.052 6.423-11.924 2.095-17.211l-15.224-18.597c-4.055-4.954-11.249-5.803-16.428-2.041C339.547 442.517 298.238 456 256 456c-110.28 0-200-89.72-200-200S145.72 56 256 56c109.469 0 200 65.02 200 176 0 63.106-42.478 98.29-83.02 98.29-19.505 0-20.133-12.62-16.366-31.463l28.621-148.557c1.426-7.402-4.245-14.27-11.783-14.27h-39.175a12.005 12.005 0 0 0-11.784 9.735c-1.102 5.723-1.661 8.336-2.28 13.993-11.923-19.548-35.878-31.068-65.202-31.068C183.412 128.66 120 191.149 120 281.53c0 61.159 32.877 102.11 93.18 102.11 29.803 0 61.344-16.833 79.749-42.239 4.145 30.846 28.497 38.01 59.372 38.01C451.467 379.41 504 315.786 504 232zm-273.9 97.35c-28.472 0-45.47-19.458-45.47-52.05 0-57.514 39.56-93.41 74.61-93.41 30.12 0 45.471 21.532 45.471 51.58 0 46.864-33.177 93.88-74.611 93.88z\"] };\nvar faAudioDescription = { prefix: 'far', iconName: 'audio-description', icon: [512, 512, [], \"f29e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zm-212.541-63.861l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm-82.534-97.43l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zM331.2 160h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386 0-58.977-37.919-95.614-98.96-95.614zm-1.801 145.39h-14.523v-98.78h14.523c28.685 0 46.175 16.767 46.175 49.005 0 32.098-16.399 49.775-46.175 49.775z\"] };\nvar faBackward = { prefix: 'far', iconName: 'backward', icon: [512, 512, [], \"f04a\", \"M267.5 281.2l192 159.4c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6L267.5 232c-15.3 12.8-15.3 36.4 0 49.2zM464 130.3V382L313 256.6l151-126.3zM11.5 281.2l192 159.4c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6L11.5 232c-15.3 12.8-15.3 36.4 0 49.2zM208 130.3V382L57 256.6l151-126.3z\"] };\nvar faBadge = { prefix: 'far', iconName: 'badge', icon: [512, 512, [], \"f335\", \"M256 512c-36.2 0-68.2-18.6-86.7-46.7-33.1 6.8-68.7-2.6-94.3-28.3-25.6-25.6-35.1-61.4-28.3-94.3C18.7 324.3 0 292.3 0 256c0-36.2 18.6-68.2 46.7-86.7-6.8-32.8 2.6-68.7 28.3-94.3 25.6-25.6 61.4-35.1 94.3-28.3C187.7 18.7 219.7 0 256 0c36.3 0 68.2 18.7 86.7 46.7 32.8-6.8 68.7 2.6 94.3 28.3 25.6 25.6 35.1 61.4 28.3 94.3 27.9 18.3 46.7 50.2 46.7 86.7 0 36.2-18.6 68.2-46.7 86.7 6.8 32.8-2.6 68.7-28.3 94.3-25.6 25.6-61.2 35.1-94.3 28.3-18.4 27.9-50.3 46.7-86.7 46.7zm-61.2-108.2c6.5 17.4 15.9 60.2 61.2 60.2 43.9 0 53.5-39.6 61.2-60.2 30.5 13.8 57.8 27.3 85.8-.7 31-31 9.8-65.9.7-85.8 17.4-6.5 60.2-15.9 60.2-61.2 0-43.9-39.6-53.5-60.2-61.2 7.7-16.9 31.3-53.8-.7-85.8-31-31-65.9-9.8-85.8-.7C310.7 90.8 301.3 48 256 48c-43.9 0-53.5 39.6-61.2 60.2-16.9-7.7-53.8-31.3-85.8.7-31 31-9.8 65.9-.7 85.8-17.5 6.6-60.3 16-60.3 61.3 0 43.9 39.6 53.5 60.2 61.2-7.7 16.9-31.3 53.8.7 85.8 31 31 64.8 10.4 85.9.8z\"] };\nvar faBadgeCheck = { prefix: 'far', iconName: 'badge-check', icon: [512, 512, [], \"f336\", \"M512 256c0-36.46-18.835-68.355-46.716-86.695 6.789-32.893-2.642-68.702-28.265-94.324-25.659-25.658-61.477-35.045-94.324-28.265C324.246 18.667 292.255 0 256 0c-36.286 0-68.263 18.692-86.695 46.716-32.907-6.789-68.705 2.647-94.324 28.265-25.658 25.657-35.044 61.478-28.265 94.324C18.635 187.777 0 219.78 0 256c0 36.284 18.689 68.261 46.716 86.695-6.79 32.894 2.645 68.704 28.265 94.324 25.628 25.628 61.226 35.08 94.326 28.268C187.774 493.36 219.779 512 256 512c36.402 0 68.326-18.792 86.693-46.713 33.117 6.816 68.712-2.653 94.326-28.268 25.656-25.656 35.044-61.477 28.265-94.324C493.363 324.226 512 292.22 512 256zm-108.182 61.232c9.072 19.989 30.301 54.807-.74 85.846-28.085 28.088-55.336 14.589-85.846.739C309.513 424.375 299.912 464 256 464c-45.324 0-54.71-42.814-61.232-60.183-21.078 9.568-54.909 30.2-85.846-.739-32.039-32.037-8.405-68.957-.74-85.846C87.624 309.513 48 299.912 48 256c0-45.324 42.812-54.71 60.182-61.232-9.072-19.989-30.301-54.807.74-85.846 32.037-32.038 68.939-8.414 85.847-.74C202.488 87.624 212.088 48 256 48c45.324 0 54.709 42.813 61.231 60.182 19.989-9.073 54.808-30.302 85.847.74 32.039 32.037 8.405 68.957.74 85.846C424.376 202.487 464 212.088 464 256c0 45.324-42.812 54.71-60.182 61.232zM387.82 201.315L215.232 372.519c-4.706 4.667-12.303 4.637-16.971-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.668 4.706 4.637 12.304-.068 16.971z\"] };\nvar faBalanceScale = { prefix: 'far', iconName: 'balance-scale', icon: [576, 512, [], \"f24e\", \"M312 155.33c23.451-9.496 40-32.474 40-59.33h116c6.627 0 12-5.373 12-12V60c0-6.627-5.373-12-12-12H330.309c-24.184-21.334-60.42-21.346-84.619 0H108c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h116c0 26.856 16.549 49.834 40 59.33V432H108c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H312V155.33zM288 80c8.822 0 16 7.178 16 16s-7.178 16-16 16-16-7.178-16-16 7.178-16 16-16zm-64 224h-.019c.001-15.664.181-11.008-69.048-149.466-17.647-35.294-68.186-35.358-85.865 0C-.151 292.971.019 288.334.019 304H0c0 44.183 50.144 80 112 80s112-35.817 112-80zM112 176l64 128H48l64-128zm463.981 128c.001-15.664.181-11.008-69.048-149.466-17.647-35.294-68.186-35.358-85.865 0-69.219 138.437-69.05 133.8-69.049 149.466H352c0 44.183 50.144 80 112 80s112-35.817 112-80h-.019zM464 176l64 128H400l64-128z\"] };\nvar faBan = { prefix: 'far', iconName: 'ban', icon: [512, 512, [], \"f05e\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm141.421 106.579c73.176 73.175 77.05 187.301 15.964 264.865L132.556 98.615c77.588-61.105 191.709-57.193 264.865 15.964zM114.579 397.421c-73.176-73.175-77.05-187.301-15.964-264.865l280.829 280.829c-77.588 61.105-191.709 57.193-264.865-15.964z\"] };\nvar faBandAid = { prefix: 'far', iconName: 'band-aid', icon: [640, 512, [], \"f462\", \"M552 96H88c-48.5 0-88 39.5-88 88v144c0 48.5 39.5 88 88 88h464c48.5 0 88-39.5 88-88V184c0-48.5-39.5-88-88-88zM88 368c-22.1 0-40-17.9-40-40V184c0-22.1 17.9-40 40-40h104v224H88zm184-88c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24s24 10.7 24 24-10.7 24-24 24-24-10.7-24-24zm96 96c0-13.3 10.7-24 24-24s24 10.7 24 24-10.7 24-24 24-24-10.7-24-24zm24-72c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm224 96c0 22.1-17.9 40-40 40H448V144h104c22.1 0 40 17.9 40 40v144z\"] };\nvar faBarcode = { prefix: 'far', iconName: 'barcode', icon: [512, 512, [], \"f02a\", \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"] };\nvar faBarcodeAlt = { prefix: 'far', iconName: 'barcode-alt', icon: [640, 512, [], \"f463\", \"M360 384h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm96 0h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm-160 0h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zM592 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h544v416zm-456-80h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm96 0h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8z\"] };\nvar faBarcodeRead = { prefix: 'far', iconName: 'barcode-read', icon: [640, 512, [], \"f464\", \"M248 128h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-64 0h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-40 336H48v-96c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM16 160h16c8.8 0 16-7.2 16-16V48h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v128c0 8.8 7.2 16 16 16zm496 216V136c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8zM312 128h-16c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm312 224h-16c-8.8 0-16 7.2-16 16v96h-96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm0-352H496c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h96v96c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM408 128h-48c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8z\"] };\nvar faBarcodeScan = { prefix: 'far', iconName: 'barcode-scan', icon: [640, 512, [], \"f465\", \"M632 232H8c-4.4 0-8 2.7-8 6v36c0 3.3 3.6 6 8 6h624c4.4 0 8-2.7 8-6v-36c0-3.3-3.6-6-8-6zM288 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zm96 0c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v152h32V8zm96 0c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zM160 8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v152h96V8zm416 0c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152h64V8zm-64 496c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm-160 0c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V352h-32v152zm64 0c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm-192 0c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V352h-64v152zm-160 0c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V352H64v152z\"] };\nvar faBars = { prefix: 'far', iconName: 'bars', icon: [448, 512, [], \"f0c9\", \"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z\"] };\nvar faBaseball = { prefix: 'far', iconName: 'baseball', icon: [640, 512, [], \"f432\", \"M625.6 54.5l-16.7-22c-27.1-37-77.6-41.9-112.3-16.9L308.8 152.2c-48.1 34.7-92 73.3-131 117.8-54.8 62.6-106 101.2-135.6 122.5-8.4-9.8-23-11.3-33.2-3.3-10.3 8.3-12 23.4-3.7 33.7l64 80c7.8 9.8 22.9 12.4 33.8 3.7 9.3-7.5 11.2-20.4 5.4-30.4 29.1-21 81.9-56.6 156-87.9 54.7-23.1 106.5-52.2 154.6-86.9L605 166c35.9-25.9 46.7-75.9 20.6-111.5zm-547 383.4l-7.1-8.9c35.9-27 77.4-61.6 111.6-95.1l21.6 29.5c-42.8 21.5-89.1 49.1-126.1 74.5zM576 128.4L390.9 264c-75 52.8-136.4 76-161.7 87.6l-27.1-37.1c18.9-20.2 59.8-69.3 134.8-123.4L524.7 54.9c13.6-9.8 34.3-8.9 45.5 6.3l13 21.5c10.3 14.3 7.2 34-7.2 45.7zM512 320c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"] };\nvar faBaseballBall = { prefix: 'far', iconName: 'baseball-ball', icon: [496, 512, [], \"f433\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM114 404c12-14.4 22.5-30 30.8-47.1l-26.8-13c-6.8 13.9-15.3 26.5-24.9 38.4-55.4-67.7-64.8-173.4 0-252.7 9.6 11.8 18.1 24.4 24.8 38.2l26.8-13.1c-8.3-17-18.7-32.5-30.7-46.8 73.3-66.4 188.4-72 268 0-12 14.3-22.4 29.9-30.7 47l26.8 13c6.8-13.9 15.3-26.5 24.8-38.3 55.8 68.3 64.4 173.9.1 252.7-9.6-11.8-18.1-24.4-24.9-38.3l-26.8 13.1c8.3 17 18.7 32.6 30.8 46.9-73.6 66.7-188.8 71.9-268.1 0zm42.7-76.5l-28.3-9.2c12.2-37.5 14-81.5-.1-124.7l28.3-9.2c16.3 50 14 100.4.1 143.1zm211-9.2l-28.3 9.2c-16.3-50-14-100.5-.1-143.1l28.3 9.2c-12.2 37.4-14 81.5.1 124.7z\"] };\nvar faBasketballBall = { prefix: 'far', iconName: 'basketball-ball', icon: [496, 512, [], \"f434\", \"M248 8C111 8 0 118.9 0 256c0 137.9 111.6 248 248 248 136.2 0 248-110 248-248C496 119 385.2 8 248 8zm-13.9 447.3c-38.9-2.7-77.1-16.7-109.4-42L248 290l43 43c-29.2 35.1-48.9 77.4-56.9 122.3zm91.5-87.7l45.7 45.7c-26.1 20.5-56.1 33.6-87.2 39.3 7.3-31.1 21.6-59.9 41.5-85zm34-33.9c25-20 53.9-34.2 85.1-41.5-5.8 31.9-19.2 61.7-39.4 87.3l-45.7-45.8zm87.7-91.6c-45 8.1-87.2 27.8-122.4 57l-43-43 123.3-123.4c24.8 31.4 39.4 69.2 42.1 109.4zM139 181c-25.8 20.6-55.8 35-88.1 42.1 5.5-33 19-63.9 39.8-90.4L139 181zm-14.3-82.3C151.1 77.9 182 64.4 215 58.9c-7.1 32.3-21.5 62.3-42.1 88.1l-48.2-48.3zm140.2-41.9c39.1 3.3 75.8 17.8 106.4 41.9L248 222.1l-40.4-40.4c29.7-35.8 49.6-78.9 57.3-124.9zM48.8 273c46-7.8 89.1-27.6 124.8-57.3l40.4 40.4L90.7 379.4C66.6 348.7 52.1 312 48.8 273z\"] };\nvar faBasketballHoop = { prefix: 'far', iconName: 'basketball-hoop', icon: [640, 512, [], \"f435\", \"M639.9 336.9c0 22.8-13.6 43.2-34.7 51.8l-103.5 42.5 3.8-53.4 81.4-33.5c3-1.2 5-4.2 5-7.4V218.6C509.1 1.6 133.4.7 48 218.7V337c0 3.3 2 6.2 5 7.4l81.4 33.5 3.8 53.4-103.5-42.5C13.6 380.1 0 359.8 0 336.9L1.2 207C1.8 205 68.7 8 320 8s318.1 197 318.8 199c1.6 10.2 1.1-8.5 1.1 129.9zM461.2 512l-75.4-71.6L320 512l-65.8-71.6-75.4 71.6-18.2-224H136c-4.4 0-8-3.6-8-8v-32c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8h-24.6l-18.2 224zM206.7 352.4l46.7 43.6 44-44-42.1-42.1-48.6 42.5zm113.3-23l41.4-41.4h-82.8l41.4 41.4zm22.6 22.6l44 44 46.7-43.6-48.6-42.5-42.1 42.1zm104.7-64h-39l36.5 31.9 2.5-31.9zm-254.6 0l2.6 31.9 36.5-31.9h-39.1zm38.1 130.6l-29.9-27.9 4.3 53.5 25.6-25.6zm132.4-.8L320 374.6l-43.2 43.2 43.2 40.3 43.2-40.3zm71.6 26.4l4.3-53.5-29.9 27.9 25.6 25.6zM464 208v-80H176v80h32v-48h224v48h32z\"] };\nvar faBath = { prefix: 'far', iconName: 'bath', icon: [512, 512, [], \"f2cd\", \"M500 256H80V112c0-17.645 14.355-32 32-32 11.351 0 21.332 5.945 27.015 14.88-16.492 25.207-14.687 59.576 6.838 83.035-4.176 4.713-4.021 11.916.491 16.428l11.314 11.314c4.686 4.686 12.284 4.686 16.971 0l95.03-95.029c4.686-4.686 4.686-12.284 0-16.971l-11.314-11.314c-4.512-4.512-11.715-4.666-16.428-.491-17.949-16.469-42.294-21.429-64.178-15.365C163.281 45.667 139.212 32 112 32c-44.112 0-80 35.888-80 80v144H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h20v48c0 32.119 15.777 60.55 40 77.977V468c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12v-20.334c2.638.218 5.305.334 8 .334h256c2.695 0 5.362-.117 8-.334V468c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12v-38.023c24.223-17.427 40-45.858 40-77.977v-48h20c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zM176.202 112.201c10.396-10.397 26.553-10.726 37.338-2.025l-39.363 39.363c-8.725-10.813-8.348-26.966 2.025-37.338zM432 352c0 26.467-21.533 48-48 48H128c-26.467 0-48-21.533-48-48v-48h352v48z\"] };\nvar faBatteryBolt = { prefix: 'far', iconName: 'battery-bolt', icon: [640, 512, [], \"f376\", \"M445.394 223.522L304.616 469.519c-3.522 6.654-9.943 10.481-16.623 10.481-12.266 0-21.553-12.557-18.677-25.843l36.847-166.382h-94.961c-11.6 0-20.566-11.186-19.031-23.775l25.597-213.775C219.04 39.792 227.177 32 236.8 32h108.8c12.604 0 21.8 13.087 18.552 26.411L336.458 192h92.321c14.785 0 24.011 17.55 16.615 31.522zM48 144h110.197l5.747-48H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h180.604l10.63-48H48V144zm568 16h-8v-16c0-26.51-21.49-48-48-48H405.38l-9.951 48H560v64h32v96h-32v64H418.017l-27.469 48H560c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24z\"] };\nvar faBatteryEmpty = { prefix: 'far', iconName: 'battery-empty', icon: [640, 512, [], \"f244\", \"M560 144v64h32v96h-32v64H48V144h512m0-48H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"] };\nvar faBatteryFull = { prefix: 'far', iconName: 'battery-full', icon: [640, 512, [], \"f240\", \"M560 144v64h32v96h-32v64H48V144h512m0-48H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"] };\nvar faBatteryHalf = { prefix: 'far', iconName: 'battery-half', icon: [640, 512, [], \"f242\", \"M320 320H96V192h224v128zm240-176H48v224h512v-64h32v-96h-32v-64m0-48c26.51 0 48 21.49 48 48v16h8c13.255 0 24 10.745 24 24v144c0 13.255-10.745 24-24 24h-8v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h512z\"] };\nvar faBatteryQuarter = { prefix: 'far', iconName: 'battery-quarter', icon: [640, 512, [], \"f243\", \"M224 320H96V192h128v128zm336-176H48v224h512v-64h32v-96h-32v-64m0-48c26.51 0 48 21.49 48 48v16h8c13.255 0 24 10.745 24 24v144c0 13.255-10.745 24-24 24h-8v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h512z\"] };\nvar faBatterySlash = { prefix: 'far', iconName: 'battery-slash', icon: [640, 512, [], \"f377\", \"M313.616 368l35.613 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h63.81l35.613 48H48v224h265.616zM640 184v144c0 13.255-10.745 24-24 24h-8v16c0 26.51-21.49 48-48 48h-91.578l46.529 62.713c3.949 5.322 2.835 12.838-2.487 16.787l-19.052 14.136a11.95 11.95 0 0 1-7.141 2.364c-3.67 0-7.292-1.677-9.647-4.851L125.049 33.286c-3.949-5.323-2.835-12.839 2.487-16.787l19.052-14.135A11.944 11.944 0 0 1 153.729 0c3.67 0 7.292 1.677 9.647 4.851L231.002 96H560c26.51 0 48 21.49 48 48v16h8c13.255 0 24 10.745 24 24zm-48 24h-32v-64H266.615l166.194 224H560v-64h32v-96z\"] };\nvar faBatteryThreeQuarters = { prefix: 'far', iconName: 'battery-three-quarters', icon: [640, 512, [], \"f241\", \"M416 320H96V192h320v128zm144-176H48v224h512v-64h32v-96h-32v-64m0-48c26.51 0 48 21.49 48 48v16h8c13.255 0 24 10.745 24 24v144c0 13.255-10.745 24-24 24h-8v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h512z\"] };\nvar faBed = { prefix: 'far', iconName: 'bed', icon: [576, 512, [], \"f236\", \"M48 76v244h516c6.627 0 12 5.373 12 12v116h-48v-80H48v80H0V76c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12zm32 116c0-53.019 42.981-96 96-96s96 42.981 96 96-42.981 96-96 96-96-42.981-96-96zm48 0c0 26.467 21.533 48 48 48s48-21.533 48-48-21.533-48-48-48-48 21.533-48 48zm448 32v64H288V152c0-13.255 10.745-24 24-24h168c53.019 0 96 42.981 96 96zm-48 0c0-26.467-21.533-48-48-48H336v64h192v-16z\"] };\nvar faBeer = { prefix: 'far', iconName: 'beer', icon: [448, 512, [], \"f0fc\", \"M152 152v208c0 13.255-10.745 24-24 24s-24-10.745-24-24V152c0-13.255 10.745-24 24-24s24 10.745 24 24zm72-24c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24s24-10.745 24-24V152c0-13.255-10.745-24-24-24zm224 40v145.288c0 27.985-16.418 53.646-41.827 65.373L352 403.664V432c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h256c26.51 0 48 21.49 48 48v16h24c39.701 0 72 32.299 72 72zM298 80H54c-3.314 0-6 2.678-6 5.992v340.016A5.993 5.993 0 0 0 54 432h244a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm102 88c0-13.233-10.767-24-24-24h-24v206.798l34.058-15.719c8.47-3.909 13.942-12.463 13.942-21.791V168z\"] };\nvar faBell = { prefix: 'far', iconName: 'bell', icon: [448, 512, [], \"f0f3\", \"M425.403 330.939c-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.843 31.843 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095C118.101 62.783 57.143 131.831 57.143 214.857c0 81.933-17.551 99.292-34.543 116.078C-25.496 378.441 9.726 448 66.919 448H160c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64h93.08c57.19 0 92.415-69.583 44.323-117.061zM224 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm157.092-72H66.9c-16.762 0-25.135-20.39-13.334-32.191 28.585-28.585 51.577-55.724 51.577-152.952C105.143 149.319 158.462 96 224 96s118.857 53.319 118.857 118.857c0 97.65 23.221 124.574 51.568 152.952C406.278 379.661 397.783 400 381.092 400z\"] };\nvar faBellSlash = { prefix: 'far', iconName: 'bell-slash', icon: [576, 512, [], \"f1f6\", \"M130.9 400c-16.762 0-25.135-20.39-13.334-32.191 25.226-25.226 46.094-49.338 50.649-121.48l-46.777-41.274a168.48 168.48 0 0 0-.296 9.802c0 81.933-17.551 99.292-34.543 116.078C38.504 378.441 73.726 448 130.919 448H224c0 35.346 28.654 64 64 64s64-28.654 64-64h44.777l-54.4-48H130.9zM288 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm283.867.553l-67.931-59.571c13.104-24.118 11.524-56.318-14.532-82.042-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.848 31.848 0 0 0 320 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095c-41.471 6.618-77.891 28.571-103.249 59.841L36.459 3.037c-5.058-4.436-12.777-3.956-17.24 1.071L3.056 22.313C-1.407 27.34-.925 35.012 4.134 39.447l535.408 469.516c5.058 4.436 12.777 3.956 17.24-1.071l16.163-18.205c4.462-5.027 3.98-12.699-1.078-17.134zM288 96c65.538 0 118.857 53.319 118.857 118.857 0 97.65 23.221 124.574 51.568 152.952 2.908 2.908 4.573 6.328 5.209 9.832L194.482 141.612C216.258 113.867 250.075 96 288 96z\"] };\nvar faBicycle = { prefix: 'far', iconName: 'bicycle', icon: [640, 512, [], \"f206\", \"M514.115 192.017c-17.637-.285-34.469 3.005-49.832 9.181l-79.29-127.746A20 20 0 0 0 368 64h-68c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h56.874l32.276 52H256v-16c0-6.627-5.373-12-12-12h-96c-11.046 0-20 8.954-20 20s8.954 20 20 20h61.187l-25.65 36.644c-16.797-8.102-35.634-12.643-55.532-12.644C57.375 191.998-.443 250.196.003 320.824.446 391.137 57.583 448 128 448c58.192 0 107.306-38.835 122.859-92H284a20.005 20.005 0 0 0 16.385-8.53l110.038-157.197 19.539 31.48c-28.136 23.519-46.021 58.892-45.962 98.445.104 68.88 57.908 127.158 126.785 127.797 71.601.664 129.787-57.467 129.21-129.048-.556-69.152-56.736-125.812-125.88-126.93zM128 408c-48.523 0-88-39.477-88-88s39.477-88 88-88a87.552 87.552 0 0 1 32.134 6.075L99.615 324.53C90.342 337.781 99.857 356 116 356h92.294c-13.785 30.625-44.589 52-80.294 52zm26.413-92l38.641-55.201c13.409 14.722 21.898 33.997 22.852 55.201h-61.493zm119.174 0h-17.655c-1.069-34.805-16.026-66.113-39.524-88.563L238.413 196h119.174l-84 120zm234.284 91.905c-45.514-2.092-82.216-39.219-83.815-84.752-.924-26.302 9.764-50.177 27.328-66.888l47.843 77.08c3.495 5.631 10.894 7.362 16.524 3.867l13.594-8.438c5.631-3.495 7.362-10.893 3.867-16.524l-47.351-76.287c9.012-2.809 18.641-4.205 28.626-3.928 45.797 1.27 83.314 38.07 85.418 83.837 2.379 51.775-40.258 94.413-92.034 92.033z\"] };\nvar faBinoculars = { prefix: 'far', iconName: 'binoculars', icon: [512, 512, [], \"f1e5\", \"M448 120c0-13.255-10.745-24-24-24h-8V56c0-13.255-10.745-24-24-24h-96c-13.255 0-24 10.745-24 24v40h-32V56c0-13.255-10.745-24-24-24h-96c-13.255 0-24 10.745-24 24v40h-8c-13.255 0-24 10.745-24 24C64 224 0 240 0 384v48c0 26.51 21.49 48 48 48h96c26.51 0 48-21.49 48-48V300c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v132c0 26.51 21.49 48 48 48h96c26.51 0 48-21.49 48-48v-48c0-144-64-160-64-264zM144 80h48v16h-48V80zm0 352H48v-16h96v16zm40-188.56c-23.278 8.256-40 30.487-40 56.56v68H48.315c4.254-108.291 54.27-127.742 62.662-224H184v99.44zm96-3.44h-48v-96h48v96zm40-160h48v16h-48V80zm8 163.44V144h73.022c8.396 96.302 58.41 115.764 62.662 224H368v-68c0-26.073-16.722-48.304-40-56.56zM464 432h-96v-16h96v16z\"] };\nvar faBirthdayCake = { prefix: 'far', iconName: 'birthday-cake', icon: [448, 512, [], \"f1fd\", \"M192 64c0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40-32-14.25-32-32zm160 32c17.75 0 32-13.5 32-40S364 0 352 0c0 41-32 33-32 64 0 17.75 14.25 32 32 32zm96 176v240H0V272c0-26.5 21.5-48 48-48h24V112h48v112h80V112h48v112h80V112h48v112h24c26.5 0 48 21.5 48 48zm-400 6v56.831c8.352 7 15.27 13.169 26.75 13.169 25.378 0 30.13-32 74.75-32 43.974 0 49.754 32 74.5 32 25.588 0 30.061-32 74.75-32 44.473 0 49.329 32 74.75 32 11.258 0 18.135-6.18 26.5-13.187v-56.805a6 6 0 0 0-6-6L54 272a6 6 0 0 0-6 6zm352 186v-80.87c-7.001 2.914-15.54 4.87-26.5 4.87-44.544 0-49.389-32-74.75-32-25.144 0-30.329 32-74.75 32-43.974 0-49.755-32-74.5-32-25.587 0-30.062 32-74.75 32-11.084 0-19.698-1.974-26.75-4.911V464h352zM96 96c17.75 0 32-13.5 32-40S108 0 96 0c0 41-32 33-32 64 0 17.75 14.25 32 32 32z\"] };\nvar faBlanket = { prefix: 'far', iconName: 'blanket', icon: [512, 512, [], \"f498\", \"M440 368H112c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h328c39.8 0 71.7-32.5 71.6-72.4l.4.4V88c0-48.5-39.5-88-88-88H88C39.5 0 0 39.5 0 88v304l.3-.5c0 8.4.5 17 2.3 25.7C14.1 473.3 66.2 512 123.4 512H496c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H120c-42.2 0-76-36.5-71.6-79.5C52.2 347 86.6 320 124.3 320H440c13.2 0 24 10.8 24 24s-10.8 24-24 24zm-4.3-96H120c-27 0-51.9 9.2-72 24.3V88c0-22.1 17.9-40 40-40h336c22.1 0 40 17.9 40 40v189.3c-8.9-3.4-18.4-5.3-28.3-5.3z\"] };\nvar faBlind = { prefix: 'far', iconName: 'blind', icon: [384, 512, [], \"f29d\", \"M192.913 510.276c-12.325 4.929-26.281-1.079-31.196-13.37l-50.539-126.341 22.976-71.801 72.129 180.316c4.923 12.307-1.063 26.274-13.37 31.196zM96 0C71.699 0 52 19.699 52 44s19.699 44 44 44 44-19.699 44-44S120.301 0 96 0zm12.53 140.603a4.002 4.002 0 0 1 5.605.802L219.2 281.6c5.429 7.239 15.514 8.364 22.399 3.2 7.051-5.288 8.472-15.373 3.2-22.399l-120-160c-3.14-4.188-7.939-6.385-12.8-6.386L80 96v.009c-4.69.003-9.336 2.049-12.494 5.996L0 186.388v85.161c0 8.616 6.621 16.029 15.227 16.433C24.416 288.414 32 281.093 32 272v-74.388l32-40v176.64L17.142 480.679c-4.039 12.624 2.92 26.133 15.544 30.173 12.63 4.041 26.134-2.924 30.173-15.544L128 291.746V173.333l-20.275-27.132a4.003 4.003 0 0 1 .805-5.598zm274.307 359.245L252.28 284.813a24.013 24.013 0 0 1-12.67 9.96L369.161 508.15a8 8 0 0 0 10.989 2.687 7.998 7.998 0 0 0 2.687-10.989z\"] };\nvar faBold = { prefix: 'far', iconName: 'bold', icon: [384, 512, [], \"f032\", \"M292 243.533c38.106-18.627 58.232-55.253 58.232-97.312 0-48.226-26.016-85.031-61.552-100.895C266.471 35.173 242.357 32 209.995 32H28c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h34.142v352H28c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h190.244c24.748 0 45.688-1.269 67.264-8.249C331.83 455.887 368 411.467 368 352.453c0-58.251-33.975-99.102-76-108.92zM125.598 84.034h84.396c19.037 0 33.631 2.538 46.323 8.884 19.32 10.948 29.491 33.661 29.183 60.18-.434 37.473-31.53 67.367-69.005 67.367h-90.897V84.034zM260.759 421.62c-12.056 5.077-27.286 6.346-39.977 6.346h-95.184V272.499h100.261c46.957 0 77.416 30.458 77.416 76.781 0 33.632-16.499 61.552-42.516 72.34z\"] };\nvar faBolt = { prefix: 'far', iconName: 'bolt', icon: [320, 512, [], \"f0e7\", \"M186.071 48l-38.666 144H272L120 464l54.675-208H48L67.72 48h118.351m0-48H67.72C42.965 0 22.271 18.825 19.934 43.469l-19.716 208C-2.453 279.642 19.729 304 48.004 304h64.423l-38.85 147.79C65.531 482.398 88.788 512 119.983 512c16.943 0 33.209-9.005 41.919-24.592l151.945-271.993C331.704 183.461 308.555 144 271.945 144h-61.951l22.435-83.552C240.598 30.026 217.678 0 186.071 0z\"] };\nvar faBomb = { prefix: 'far', iconName: 'bomb', icon: [512, 512, [], \"f1e2\", \"M384.5 144.5l56-56-17-17-56 56-52.2-52.2c-6.2-6.2-16.4-6.2-22.6 0l-28.4 28.4c-17.9-5-36.8-7.7-56.3-7.7C93.1 96 0 189.1 0 304s93.1 208 208 208 208-93.1 208-208c0-19.5-2.7-38.4-7.7-56.3l28.4-28.4c6.2-6.2 6.2-16.4 0-22.6l-52.2-52.2zm-30 89.1c7.9 28.2 13.5 43.9 13.5 70.4 0 88.4-71.6 160-160 160S48 392.4 48 304s71.6-160 160-160c26.3 0 41.4 5.4 70.4 13.5l25.6-25.6 76.1 76.1-25.6 25.6zM512 72c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12s5.4-12 12-12h24c6.6 0 12 5.4 12 12zm-60-60v24c0 6.6-5.4 12-12 12s-12-5.4-12-12V12c0-6.6 5.4-12 12-12s12 5.4 12 12zm5 43c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0 4.7 4.7 4.7 12.3 0 17l-17 17c-4.7 4.7-12.3 4.7-17 0zm-67.9-16.9c-4.7-4.7-4.7-12.3 0-17 4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17-4.7 4.7-12.3 4.7-17 0l-17-17zm101.8 67.8c4.7 4.7 4.7 12.3 0 17-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17 4.7-4.7 12.3-4.7 17 0l17 17zM216 208c0 13.3-10.7 24-24 24-30.9 0-56 25.1-56 56 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.3 46.7-104 104-104 13.3 0 24 10.7 24 24z\"] };\nvar faBook = { prefix: 'far', iconName: 'book', icon: [448, 512, [], \"f02d\", \"M128 152v-32c0-4.4 3.6-8 8-8h208c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8zm8 88h208c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H136c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8zm299.1 159.7c-4.2 13-4.2 51.6 0 64.6 7.3 1.4 12.9 7.9 12.9 15.7v16c0 8.8-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V80C0 35.8 35.8 0 80 0h352c8.8 0 16 7.2 16 16v368c0 7.8-5.5 14.2-12.9 15.7zm-41.1.3H80c-17.6 0-32 14.4-32 32 0 17.7 14.3 32 32 32h314c-2.7-17.3-2.7-46.7 0-64zm6-352H80c-17.7 0-32 14.3-32 32v278.7c9.8-4.3 20.6-6.7 32-6.7h320V48z\"] };\nvar faBookHeart = { prefix: 'far', iconName: 'book-heart', icon: [448, 512, [], \"f499\", \"M448 384V16c0-8.8-7.2-16-16-16H80C35.8 0 0 35.8 0 80v352c0 44.2 35.8 80 80 80h352c8.8 0 16-7.2 16-16v-16c0-7.8-5.6-14.3-12.9-15.7-4.2-13-4.2-51.6 0-64.6 7.4-1.5 12.9-7.9 12.9-15.7zm-54 80H80c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h314c-2.7 17.3-2.7 46.7 0 64zm6-112H80c-11.4 0-22.2 2.4-32 6.7V80c0-17.7 14.3-32 32-32h320v304zm-184.5-67.5c4.7 4.6 12.3 4.6 17 0l72.6-71.3c21.1-20.7 19.8-55.1-3.7-74.2s-54.3-10.6-70 4.8l-7.4 7.3-7.4-7.3c-15.3-15.1-46.2-24.1-70-4.8-23.6 19.1-24.8 53.5-3.7 74.2l72.6 71.3z\"] };\nvar faBookmark = { prefix: 'far', iconName: 'bookmark', icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"] };\nvar faBowlingBall = { prefix: 'far', iconName: 'bowling-ball', icon: [496, 512, [], \"f436\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-96-296c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112-32c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm-16 64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"] };\nvar faBowlingPins = { prefix: 'far', iconName: 'bowling-pins', icon: [496, 512, [], \"f437\", \"M491 308.2c-13.4-54-49.4-87.4-53.8-132-3-30.5 21.4-53.1 18.8-95.8C453.1 34 419.5.1 376 0c-43.4.1-77 34-79.9 80.5-2.8 42.7 21.7 65.3 18.7 95.8-4.4 44.5-40.5 78.1-53.7 131.9-13 52.5.3 140.1 29.1 191.5l6.9 12.3h158.1l6.9-12.3c28.6-51.4 41.9-139.1 28.9-191.5zM408.1 83.5c1.5 24.2-14.9 43.4-18.4 76.6h-27.4c-3.5-33.4-19.9-52.2-18.4-76.6 3-47.5 61.2-47.5 64.2 0zm18.1 380.4H325.9c-18.8-42.2-27.4-107-18.2-144.2 10.7-43.1 43.5-75 52.9-127.7h31c9.4 52.7 42.2 84.6 52.9 127.7 9.1 37.2.4 102-18.3 144.2zm-245-287.6c-3-30.5 21.4-53.1 18.7-95.8C197 34 163.4.2 119.9.1 76.5.2 42.9 34 40 80.5c-2.7 42.8 21.8 65.2 18.7 95.8C54.3 221 18.4 254.2 5 308.2c-13 52.5.3 140.2 29 191.5l6.9 12.3H199l6.9-12.3c28.7-51.3 42-139 29-191.5-13.3-54-49.3-87.2-53.7-131.9zM152 83.5c1.5 24.3-14.9 43.2-18.4 76.5h-27.4c-3.5-33.5-19.9-52-18.4-76.5 3.1-47.4 61.3-47.4 64.2 0zM170.1 464H69.8C51 421.7 42.4 356.9 51.6 319.7c10.6-43 43.4-74.8 52.9-127.7h30.9c9.5 53 42.3 84.7 52.9 127.8 9.2 37.2.6 101.9-18.2 144.2z\"] };\nvar faBox = { prefix: 'far', iconName: 'box', icon: [512, 512, [], \"f466\", \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V199.8c0-5.2-.8-10.3-2.5-15.2zm-48.1 7.4H280V48h133.4l48 144zM98.6 48H232v144H50.6l48-144zM48 464V240h416v224H48z\"] };\nvar faBoxAlt = { prefix: 'far', iconName: 'box-alt', icon: [448, 512, [], \"f49a\", \"M447.9 176c0-10.6-2.6-21-7.6-30.3l-49.1-91.9c-4.3-13-16.5-21.8-30.3-21.8H87.1c-13.8 0-26 8.8-30.4 21.9L7.6 145.8c-5 9.3-7.6 19.7-7.6 30.3C.1 236.6 0 448 0 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32 0 0-.1-211.4-.1-272zm-97.1-96l42.8 80H278.4l-24-80h96.4zM97.2 80h96.4l-24 80H54.4l42.8-80zM48 432c0-42.3.1-157.9.1-224H160v64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-64h111.9c0 66.1 0 181.8.1 224H48z\"] };\nvar faBoxCheck = { prefix: 'far', iconName: 'box-check', icon: [640, 512, [], \"f467\", \"M492.5 133.4L458.9 32.8C452.4 13.2 434.1 0 413.4 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48h400c106 0 192-86 192-192 0-90.7-63-166.5-147.5-186.6zM280 48h133.4l26.8 80.4c-49.8 2-94.7 22.7-127.7 55.6H280V48zM98.6 48H232v136H53.3L98.6 48zM48 464V232h229.5c-13.6 26.4-21.5 56.3-21.5 88 0 57.4 25.3 108.8 65.3 144H48zm400 0c-79.4 0-144-64.6-144-144s64.6-144 144-144 144 64.6 144 144-64.6 144-144 144zm64.6-205.7c-3.1-3.1-8.1-3.1-11.2 0l-69.9 69.3-30.3-30.6c-3.1-3.1-8.1-3.1-11.2 0l-18.7 18.6c-3.1 3.1-3.1 8.1 0 11.2l54.4 54.9c3.1 3.1 8.1 3.1 11.2 0l94.2-93.5c3.1-3.1 3.1-8.1 0-11.2l-18.5-18.7z\"] };\nvar faBoxFragile = { prefix: 'far', iconName: 'box-fragile', icon: [512, 512, [], \"f49b\", \"M448 0H64C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v384zM336 96h-43.9l22.9 36.4-64 32 37 59.6-91-68.4 64-32L236.4 96H176c-8.8 0-16 7.2-16 16v97.6c0 44.7 30.7 81.6 72 92.3V368h-24c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-24v-66.1c41.3-10.7 72-47.6 72-92.3V112c0-8.8-7.2-16-16-16z\"] };\nvar faBoxFull = { prefix: 'far', iconName: 'box-full', icon: [640, 512, [], \"f49c\", \"M638.3 239.8L586.8 137c-4-8.1-12.1-9.5-16.7-8.9l-50.7 6.5L541.5 74c3.7-10 3.2-20.9-1.3-30.6-4.5-9.7-12.5-17-22.6-20.7L462.1 2.4c-20.7-7.6-43.7 3.2-51.3 23.9l-30.9 84.9C365 47.5 308.2 0 240 0 164.7 0 103.6 58 97.2 131.6l-27.4-3.5c-4.6-.6-12.6.9-16.7 8.9L1.7 239.8c-4.6 9.2.3 20.2 10.1 23L64 277.7V425c0 14.7 10 27.5 24.2 31l216.2 54.1c13.6 3.4 25 1.5 31 0L551.8 456c14.2-3.6 24.2-16.4 24.2-31V277.7l52.1-14.9c9.9-2.8 14.7-13.8 10.2-23zM453.2 50.3L493.7 65l-27.8 76.4-48.2 6.1 35.5-97.2zM61.7 227.2L86 178.6l154.8 19.7-41.2 68.3-137.9-39.4zM296 458.5l-184-46V291.4l97.8 27.9c8 2.3 15.2-1.8 18.5-7.3L296 199.8v258.7zm38.6-300.4L320 160l-175.4-22.3C148 87.7 189.2 48 240 48c52.9 0 96 43.1 96 96 0 4.8-.7 9.5-1.4 14.1zM528 412.5l-184 46V199.8l67.7 112.3c3.3 5.5 10.6 9.6 18.5 7.3l97.8-27.9v121zm-87.7-145.9l-41.2-68.3L554 178.6l24.3 48.6-138 39.4z\"] };\nvar faBoxHeart = { prefix: 'far', iconName: 'box-heart', icon: [448, 512, [], \"f49d\", \"M301.3 243c-23.5-19.1-54.3-10.6-70 4.8l-7.4 7.3-7.4-7.3c-15.3-15.1-46.2-24.1-70-4.8-23.6 19.1-24.8 53.5-3.7 74.2l72.6 71.3c4.7 4.6 12.3 4.6 17 0l72.6-71.3c21.1-20.7 19.9-55.1-3.7-74.2zm146.6-67c0-10.6-2.6-21-7.6-30.3l-49.1-91.9c-4.3-13-16.5-21.8-30.3-21.8H87.1c-13.8 0-26 8.8-30.4 21.9L7.6 145.8c-5 9.3-7.6 19.7-7.6 30.3C.1 236.6 0 448 0 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32 0 0-.1-211.4-.1-272zM248 80h102.8l34.2 64H248V80zM97.2 80H200v64H63l34.2-64zM48 432c0-36.5.1-163.5.1-240h351.8c0 76.5.1 203.5.1 240H48z\"] };\nvar faBoxOpen = { prefix: 'far', iconName: 'box-open', icon: [640, 512, [], \"f49e\", \"M638.3 143.8L586.8 41c-4-8-12.1-9.5-16.7-8.9L320 64 69.8 32.1c-4.6-.6-12.6.9-16.6 8.9L1.7 143.8c-4.6 9.2.3 20.2 10.1 23L64 181.7V393c0 14.7 10 27.5 24.2 31l216.2 54.1c6 1.5 17.4 3.4 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V181.7l52.1-14.9c9.9-2.8 14.7-13.8 10.2-23zM86 82.6l154.8 19.7-41.2 68.3-138-39.4L86 82.6zm26 112.8l97.8 27.9c8 2.3 15.2-1.8 18.5-7.3L296 103.8v322.7l-184-46V195.4zm416 185.1l-184 46V103.8l67.7 112.3c3.3 5.5 10.6 9.6 18.5 7.3l97.8-27.9v185zm-87.7-209.9l-41.2-68.3L554 82.6l24.3 48.6-138 39.4z\"] };\nvar faBoxUp = { prefix: 'far', iconName: 'box-up', icon: [512, 512, [], \"f49f\", \"M400 368H112c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM448 0H64C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v384zM358.2 99c-3.1-3.8-9.4-3.8-12.5 0l-64 80c-4.2 5.3-.4 13 6.2 13h32v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h32c6.7 0 10.4-7.7 6.2-13l-63.9-80zM128 192v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h32c6.7 0 10.4-7.7 6.2-13l-64-80c-3.1-3.8-9.4-3.8-12.5 0l-64 80c-4.2 5.3-.4 13 6.2 13H128z\"] };\nvar faBoxUsd = { prefix: 'far', iconName: 'box-usd', icon: [448, 512, [], \"f4a0\", \"M447.9 176c0-10.6-2.6-21-7.6-30.3l-49.1-91.9c-4.3-13-16.5-21.8-30.3-21.8H87.1c-13.8 0-26 8.8-30.4 21.9L7.6 145.8c-5 9.3-7.6 19.7-7.6 30.3C.1 236.6 0 448 0 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32 0 0-.1-211.4-.1-272zM248 80h102.8l34.2 64H248V80zM97.2 80H200v64H63l34.2-64zM48 432c0-36.5.1-163.5.1-240h351.8c0 76.5.1 203.5.1 240H48zm201.3-129.7l-42.2-11.4c-4.2-1.1-7.1-4.5-7.1-8.3 0-4.8 4.5-8.7 10.1-8.7h26.3c4.1 0 8.2 1 11.8 3 3.1 1.7 6.8 1.4 9.2-1.2l12.1-12.7c3.1-3.3 2.6-8.6-1.1-11.2-8.3-5.7-18.1-8.9-28.3-9.5V232c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v10.2c-22.2 1.1-40 18.6-40 40.3 0 18.2 12.6 34.3 30.7 39.2l42.2 11.4c4.2 1.1 7.1 4.5 7.1 8.3 0 4.8-4.5 8.7-10.1 8.7h-26.3c-4.1 0-8.2-1-11.8-3-3.1-1.7-6.8-1.4-9.2 1.2L178.6 361c-3.1 3.3-2.6 8.6 1.1 11.2 8.3 5.7 18.1 8.9 28.3 9.5V392c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-10.2c22.2-1.1 40-18.6 40-40.3 0-18.2-12.6-34.3-30.7-39.2z\"] };\nvar faBoxes = { prefix: 'far', iconName: 'boxes', icon: [640, 512, [], \"f468\", \"M592 224H480V48c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48v176H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zM208 48h64v90.7l48-21.3 48 21.3V48h64v176H208V48zm88 416H48V272h80v90.7l48-21.3 48 21.3V272h72v192zm296 0H344V272h72v90.7l48-21.3 48 21.3V272h80v192z\"] };\nvar faBoxesAlt = { prefix: 'far', iconName: 'boxes-alt', icon: [640, 512, [], \"f4a1\", \"M592 224H480V48c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48v176H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zM208 48h80v72c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V48h80v176H208V48zm88 416H48V272h96v72c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-72h88v192zm296 0H344V272h88v72c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-72h96v192z\"] };\nvar faBoxingGlove = { prefix: 'far', iconName: 'boxing-glove', icon: [448, 512, [], \"f438\", \"M252.4 360.8l7.2 14.3c2 4 .4 8.8-3.6 10.7L227.8 400l28.2 14.1c4 2 5.6 6.8 3.6 10.7l-7.2 14.3c-2 4-6.8 5.6-10.7 3.6L192 417.9l-49.7 24.8c-4 2-8.8.4-10.7-3.6l-7.2-14.3c-2-4-.4-8.8 3.6-10.7l28.2-14.1-28.2-14.1c-4-2-5.6-6.8-3.6-10.7l7.2-14.3c2-4 6.8-5.6 10.7-3.6l49.7 24.8 49.7-24.8c3.9-2 8.7-.4 10.7 3.5zM448 229.5c0 55.7-23.3 110.2-63.9 149.6L368 394.7v77.9c0 21.8-17.9 39.5-40 39.5H72c-22.1 0-40-17.7-40-39.5v-82.8l-17-102C5 229.5 0 170 0 111 0 49.8 50.8 0 113.2 0H288c61.8 0 112 49.8 112 111v33.2c28.8 18.1 48 49.5 48 85.3zm-48 0c0-29.5-25.1-53.5-56-53.5h-31.3c-21.5 0-40.2 17.6-40.7 39.1-.5 20.2 14.2 37.2 33.4 40.4 3.8.6 6.6 4 6.6 7.9v32.3c0 4.7-4.1 8.4-8.8 8-44.4-4.4-79.2-42-79.2-87.6 0-8.4 1.6-16.3 3.7-24h-70.5c-30.6 0-59.5-10.9-82.3-30.8-3.5-3.1-3.7-8.4-.4-11.7l11.3-11.3c3-3 7.7-3.1 10.9-.4 16.9 14.4 38.1 22.3 60.5 22.3h87.4c16.2-19.4 40.2-32 67.3-32h32c10.2 0 8 6 8-17 0-35.3-28.1-63-64-63H113.2C77.2 48 48 76.2 48 111c0 95.9 11.4 151 31.4 273H104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H80v48h240v-48h-24c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h24c0-6.2 2.5-12.1 6.9-16.4l23.8-23.1c31.8-30.7 49.3-71.6 49.3-115z\"] };\nvar faBraille = { prefix: 'far', iconName: 'braille', icon: [640, 512, [], \"f2a1\", \"M112 256c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zM64 392c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0-344c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm160 184c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0 160c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0-344c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm224 184c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0 160c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0-344c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm160 184c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0 160c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm0-320c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"] };\nvar faBriefcase = { prefix: 'far', iconName: 'briefcase', icon: [512, 512, [], \"f0b1\", \"M464 96H352V80c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v16H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V144c0-26.51-21.49-48-48-48zM208 80h96v16h-96V80zM48 150a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v106H48V150zm416 276a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V304h144v36c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12v-36h144v122z\"] };\nvar faBriefcaseMedical = { prefix: 'far', iconName: 'briefcase-medical', icon: [512, 512, [], \"f469\", \"M344 288h-56v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm120-160H352V80c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM208 80h96v48h-96V80zm256 378c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V182c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276z\"] };\nvar faBrowser = { prefix: 'far', iconName: 'browser', icon: [512, 512, [], \"f37e\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM48 92c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V92zm416 334c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V168h416v258zm0-310c0 6.6-5.4 12-12 12H172c-6.6 0-12-5.4-12-12V92c0-6.6 5.4-12 12-12h280c6.6 0 12 5.4 12 12v24z\"] };\nvar faBug = { prefix: 'far', iconName: 'bug', icon: [576, 512, [], \"f188\", \"M536 264h-64v-94.059l40.971-40.971c9.372-9.373 9.372-24.569 0-33.941-9.373-9.372-24.568-9.372-33.941 0L438.059 136H425C425 60.87 364.091 0 289 0c-75.13 0-136 60.909-136 136h-15.059l-40.97-40.971c-9.373-9.372-24.568-9.372-33.941 0-9.373 9.373-9.373 24.569 0 33.941L104 169.941V264H40c-13.255 0-24 10.745-24 24s10.745 24 24 24h64v24c0 29.275 7.91 56.733 21.694 80.365L71.029 471.03c-9.373 9.373-9.373 24.568 0 33.941 9.371 9.372 24.568 9.373 33.941 0l51.029-51.029C184.482 480.046 222.411 496 264 496h48c41.589 0 79.518-15.954 108.001-42.058l51.029 51.029c9.372 9.372 24.568 9.373 33.941 0 9.372-9.373 9.372-24.568 0-33.941l-54.665-54.665C464.09 392.734 472 365.275 472 336v-24h64c13.255 0 24-10.745 24-24s-10.745-24-24-24zM289 48c48.601 0 88 39.399 88 88H201c0-48.601 39.399-88 88-88zm23 400V260c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v188c-61.757 0-112-50.243-112-112V184h272v152c0 61.757-50.243 112-112 112z\"] };\nvar faBuilding = { prefix: 'far', iconName: 'building', icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"] };\nvar faBullhorn = { prefix: 'far', iconName: 'bullhorn', icon: [576, 512, [], \"f0a1\", \"M576 224c0-19.4-13.7-35.5-32-39.2V48c0-26.5-21.5-48-48-48-65 56-158 128-288 128H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h25.8c-8.1 61.1 13.3 111.5 27.5 157.3 1.2 3.7 3.2 7.1 6 9.8 36.7 36.5 127.7 34.8 153-18.3 4.7-9.9 2.1-21.6-6.2-28.6-35.6-29.9-38.1-30-29.9-44.2 5.2-9.1 3.9-20.5-3.2-28.2-9.8-10.6-4.6-38.2 11.1-46.9C349.6 329 435.1 395.5 496 448c26.5 0 48-21.5 48-48V263.2c18.3-3.7 32-19.8 32-39.2zM48 272v-96h160v96H48zm97 184.1c-14.5-45.2-31.3-86.8-22.6-136.1H174c-8.2 21.5-8.3 46.1 1.9 66.2-11 31.2 3.3 53.4 26.5 73.5-17.9 7.1-43.8 5-57.4-3.6zm351-70.6c-71.8-57.6-148.4-99.3-240-110.5V173c91.6-11.3 168.1-52.9 240-110.5v323z\"] };\nvar faBullseye = { prefix: 'far', iconName: 'bullseye', icon: [512, 512, [], \"f140\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 144c57.346 0 104 46.654 104 104s-46.654 104-104 104-104-46.654-104-104 46.654-104 104-104m0-48c-83.947 0-152 68.053-152 152s68.053 152 152 152 152-68.053 152-152-68.053-152-152-152zm0 96c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"] };\nvar faBurn = { prefix: 'far', iconName: 'burn', icon: [384, 512, [], \"f46a\", \"M192 0C86.2 93.5 0 214.4 0 298.1 0 424 79 512 192 512s192-88 192-213.9c0-84-87.3-205.6-192-298.1zm0 65.2c51.4 51.1 144 158.5 144 232.9 0 29.5-5.6 55.6-15.1 78.4-3.5-74.7-83.7-157.9-128.9-208.8-45.8 51.5-125.4 133.8-128.9 208.8-9.4-22.8-15.1-49-15.1-78.4 0-74.2 92.6-181.7 144-232.9zm-18.1 397c-38.1-7.5-63.4-38.7-63.4-81.1 0-20.6 13.5-64.6 81.5-141.1 68 76.5 81.5 120.5 81.5 141.1 0 42.4-25.3 73.7-63.4 81.1-20.9 2.4-15.4 2.4-36.2 0z\"] };\nvar faBus = { prefix: 'far', iconName: 'bus', icon: [512, 512, [], \"f207\", \"M104 336c0-22.091 17.909-40 40-40s40 17.909 40 40-17.909 40-40 40-40-17.909-40-40zm264 40c22.091 0 40-17.909 40-40s-17.909-40-40-40-40 17.909-40 40 17.909 40 40 40zm144-224v80c0 13.255-10.745 24-24 24h-8v132c0 22.976-12.987 42.966-32 53.043V488c0 13.255-10.745 24-24 24h-32c-13.255 0-24-10.745-24-24v-40H144v40c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24v-46.957C44.987 430.966 32 410.976 32 388V256h-8c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h8v-17.143C32 23.999 168.462 0 256 0c87.633 0 224 23.981 224 110.857V128h8c13.255 0 24 10.745 24 24zm-80 120H80v116c0 6.628 5.373 12 12 12h328c6.627 0 12-5.372 12-12V272zM80 144v80h352v-80H80zm4.959-48h342.082C408.349 68.456 338.869 48 256 48S103.651 68.456 84.959 96z\"] };\nvar faCalculator = { prefix: 'far', iconName: 'calculator', icon: [448, 512, [], \"f1ec\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM54 48h340c3.3 0 6 2.7 6 6v114H48V54c0-3.3 2.7-6 6-6zm340 416H54c-3.3 0-6-2.7-6-6V216h352v242c0 3.3-2.7 6-6 6zM160 268v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12zm96 0v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12zm96 0v136c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12zm-192 96v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12zm96 0v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"] };\nvar faCalendar = { prefix: 'far', iconName: 'calendar', icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"] };\nvar faCalendarAlt = { prefix: 'far', iconName: 'calendar-alt', icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCalendarCheck = { prefix: 'far', iconName: 'calendar-check', icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"] };\nvar faCalendarEdit = { prefix: 'far', iconName: 'calendar-edit', icon: [448, 512, [], \"f333\", \"M243.1 234.1l46.8 46.8c2 2 2 5.2 0 7.2L175.4 402.6l-48.2 5.4c-6.4.7-11.9-4.7-11.2-11.2l5.4-48.2 114.5-114.5c2-2 5.2-2 7.2 0zm83-10.8l-25.4-25.4c-7.9-7.9-20.7-7.9-28.6 0l-19.5 19.5c-2 2-2 5.2 0 7.2l46.8 46.8c2 2 5.2 2 7.2 0l19.5-19.5c7.9-7.9 7.9-20.7 0-28.6zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCalendarExclamation = { prefix: 'far', iconName: 'calendar-exclamation', icon: [448, 512, [], \"f334\", \"M188.6 212.7l6.5 104c.4 6.3 5.6 11.3 12 11.3h33.8c6.3 0 11.6-4.9 12-11.3l6.5-104c.4-6.9-5.1-12.7-12-12.7h-46.8c-6.9 0-12.4 5.8-12 12.7zM264 384c0 22.1-17.9 40-40 40s-40-17.9-40-40 17.9-40 40-40 40 17.9 40 40zM400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"] };\nvar faCalendarMinus = { prefix: 'far', iconName: 'calendar-minus', icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCalendarPlus = { prefix: 'far', iconName: 'calendar-plus', icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCalendarTimes = { prefix: 'far', iconName: 'calendar-times', icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCamera = { prefix: 'far', iconName: 'camera', icon: [512, 512, [], \"f030\", \"M342.7 144H464v288H48V144h121.3l24-64h125.5l23.9 64zM324.3 32h-131c-20 0-37.9 12.4-44.9 31.1L136 96H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48h-88l-14.3-38c-5.8-15.7-20.7-26-37.4-26zM256 408c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-192c-39.7 0-72 32.3-72 72s32.3 72 72 72 72-32.3 72-72-32.3-72-72-72z\"] };\nvar faCameraAlt = { prefix: 'far', iconName: 'camera-alt', icon: [512, 512, [], \"f332\", \"M256 408c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-192c-39.7 0-72 32.3-72 72s32.3 72 72 72 72-32.3 72-72-32.3-72-72-72zm-24 72c0-13.2 10.8-24 24-24 8.8 0 16-7.2 16-16s-7.2-16-16-16c-30.9 0-56 25.1-56 56 0 8.8 7.2 16 16 16s16-7.2 16-16zm110.7-145H464v288H48V143h121.3l24-64h125.5l23.9 64zM324.3 31h-131c-20 0-37.9 12.4-44.9 31.1L136 95H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V143c0-26.5-21.5-48-48-48h-88l-14.3-38c-5.8-15.7-20.7-26-37.4-26z\"] };\nvar faCameraRetro = { prefix: 'far', iconName: 'camera-retro', icon: [512, 512, [], \"f083\", \"M154 80H38c-3.3 0-6-2.7-6-6V38c0-3.3 2.7-6 6-6h116c3.3 0 6 2.7 6 6v36c0 3.3-2.7 6-6 6zm358 0v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h136l33.6-44.8C226.7 39.1 240.9 32 256 32h208c26.5 0 48 21.5 48 48zm-48 64H48v288h416V144zm0-64H256l-12 16h220V80zm-88 208c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-48 0c0 39.7-32.3 72-72 72s-72-32.3-72-72 32.3-72 72-72 72 32.3 72 72zm-96 0c0-13.2 10.8-24 24-24 8.8 0 16-7.2 16-16s-7.2-16-16-16c-30.9 0-56 25.1-56 56 0 8.8 7.2 16 16 16s16-7.2 16-16z\"] };\nvar faCapsules = { prefix: 'far', iconName: 'capsules', icon: [544, 512, [], \"f46b\", \"M529 296.8l-111.5-193C386.8 50.4 318.6 32.2 265.3 63c-21.2 12.3-36.6 30.5-45.8 51.3C206.4 67 163.5 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V214c.2.4.3.8.5 1.2l111.5 193c30.8 53.3 98.9 71.6 152.3 40.8s71.5-98.9 40.7-152.2zM176 256H48V144c0-84.7 128-84.7 128 0v112zm89.9-64.7c-42.1-73 68.2-136.7 110.3-63.7l43.8 75.8-110.3 63.7-43.8-75.8z\"] };\nvar faCar = { prefix: 'far', iconName: 'car', icon: [512, 512, [], \"f1b9\", \"M152 311.958c0 17.673-30.327 16-48 16s-32-14.327-32-32 14.327-32 32-32 48 30.326 48 48zm256-48c-17.673 0-48 30.327-48 48s30.327 16 48 16 32-14.327 32-32-14.327-32-32-32zm103.375-96.163l-8 24A12 12 0 0 1 491.991 200h-27.99C483.43 214.595 496 237.829 496 264v72c0 15.254-6.107 29.076-16 39.176V424c0 13.255-10.745 24-24 24h-32c-13.255 0-24-10.745-24-24v-32H112v32c0 13.255-10.745 24-24 24H56c-13.255 0-24-10.745-24-24v-48.824c-9.893-10.1-16-23.922-16-39.176v-72c0-26.171 12.57-49.404 31.999-64h-27.99a12 12 0 0 1-11.384-8.205l-8-24C-1.965 160.024 3.818 152 12.009 152H58.46l6.544-15.271A119.867 119.867 0 0 1 175.302 64h161.396a119.864 119.864 0 0 1 110.297 72.73L453.54 152h46.451c8.191 0 13.974 8.024 11.384 15.795zM96.968 184h318.063l-12.155-28.362A71.917 71.917 0 0 0 336.698 112H175.302a71.92 71.92 0 0 0-66.179 43.638L96.968 184zM456 264c0-22.056-17.944-40-40-40H96c-22.056 0-40 17.944-40 40v72c0 8.822 7.176 15.999 15.998 16h368.005c8.821-.001 15.998-7.178 15.998-16v-72zm-126 16H182a6 6 0 0 0-6 6v10c0 13.255 10.745 24 24 24h112c13.255 0 24-10.745 24-24v-10a6 6 0 0 0-6-6z\"] };\nvar faCaretCircleDown = { prefix: 'far', iconName: 'caret-circle-down', icon: [512, 512, [], \"f32d\", \"M157.1 216h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-48 0c0-110.5-89.5-200-200-200S56 145.5 56 256s89.5 200 200 200 200-89.5 200-200z\"] };\nvar faCaretCircleLeft = { prefix: 'far', iconName: 'caret-circle-left', icon: [512, 512, [], \"f32e\", \"M296 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm0-48c110.5 0 200-89.5 200-200S366.5 56 256 56 56 145.5 56 256s89.5 200 200 200z\"] };\nvar faCaretCircleRight = { prefix: 'far', iconName: 'caret-circle-right', icon: [512, 512, [], \"f330\", \"M216 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm0 48C145.5 56 56 145.5 56 256s89.5 200 200 200 200-89.5 200-200S366.5 56 256 56z\"] };\nvar faCaretCircleUp = { prefix: 'far', iconName: 'caret-circle-up', icon: [512, 512, [], \"f331\", \"M354.9 296H157.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm48 0c0 110.5 89.5 200 200 200s200-89.5 200-200S366.5 56 256 56 56 145.5 56 256z\"] };\nvar faCaretDown = { prefix: 'far', iconName: 'caret-down', icon: [320, 512, [], \"f0d7\", \"M272 160H48.1c-42.6 0-64.2 51.7-33.9 81.9l111.9 112c18.7 18.7 49.1 18.7 67.9 0l112-112c30-30.1 8.7-81.9-34-81.9zM160 320L48 208h224L160 320z\"] };\nvar faCaretLeft = { prefix: 'far', iconName: 'caret-left', icon: [224, 512, [], \"f0d9\", \"M224 367.952V144.057c0-42.638-51.731-64.151-81.941-33.941l-112 111.943c-18.745 18.745-18.746 49.137 0 67.882l112 111.952C172.208 432.042 224 410.675 224 367.952zM64 256l112-112v224L64 256z\"] };\nvar faCaretRight = { prefix: 'far', iconName: 'caret-right', icon: [224, 512, [], \"f0da\", \"M0 144.048v223.895c0 42.638 51.731 64.151 81.941 33.941l112-111.943c18.745-18.745 18.746-49.137 0-67.882l-112-111.952C51.792 79.958 0 101.325 0 144.048zM160 256L48 368V144l112 112z\"] };\nvar faCaretSquareDown = { prefix: 'far', iconName: 'caret-square-down', icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCaretSquareLeft = { prefix: 'far', iconName: 'caret-square-left', icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCaretSquareRight = { prefix: 'far', iconName: 'caret-square-right', icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCaretSquareUp = { prefix: 'far', iconName: 'caret-square-up', icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faCaretUp = { prefix: 'far', iconName: 'caret-up', icon: [320, 512, [], \"f0d8\", \"M48.048 352h223.895c42.638 0 64.151-51.731 33.941-81.941l-111.943-112c-18.745-18.745-49.137-18.746-67.882 0l-111.952 112C-16.042 300.208 5.325 352 48.048 352zM160 192l112 112H48l112-112z\"] };\nvar faCartArrowDown = { prefix: 'far', iconName: 'cart-arrow-down', icon: [576, 512, [], \"f218\", \"M551.991 64H144.28l-8.726-44.608C133.35 8.128 123.478 0 112 0H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h80.24l69.594 355.701C150.796 415.201 144 430.802 144 448c0 35.346 28.654 64 64 64s64-28.654 64-64a63.681 63.681 0 0 0-8.583-32h145.167a63.681 63.681 0 0 0-8.583 32c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-18.136-7.556-34.496-19.676-46.142l1.035-4.757c3.254-14.96-8.142-29.101-23.452-29.101H203.76l-9.39-48h312.405c11.29 0 21.054-7.869 23.452-18.902l45.216-208C578.695 78.139 567.299 64 551.991 64zM208 472c-13.234 0-24-10.766-24-24s10.766-24 24-24 24 10.766 24 24-10.766 24-24 24zm256 0c-13.234 0-24-10.766-24-24s10.766-24 24-24 24 10.766 24 24-10.766 24-24 24zm23.438-200H184.98l-31.31-160h368.548l-34.78 160zm-91.923-59.515l-51.029 51.029c-4.686 4.686-12.284 4.686-16.971 0l-51.029-51.029c-7.56-7.56-2.206-20.485 8.485-20.485H312v-52c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v52h27.029c10.691 0 16.045 12.926 8.486 20.485z\"] };\nvar faCartPlus = { prefix: 'far', iconName: 'cart-plus', icon: [576, 512, [], \"f217\", \"M551.991 64H144.28l-8.726-44.608C133.35 8.128 123.478 0 112 0H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h80.24l69.594 355.701C150.796 415.201 144 430.802 144 448c0 35.346 28.654 64 64 64s64-28.654 64-64a63.681 63.681 0 0 0-8.583-32h145.167a63.681 63.681 0 0 0-8.583 32c0 35.346 28.654 64 64 64s64-28.654 64-64c0-18.136-7.556-34.496-19.676-46.142l1.035-4.757c3.254-14.96-8.142-29.101-23.452-29.101H203.76l-9.39-48h312.405c11.29 0 21.054-7.869 23.452-18.902l45.216-208C578.695 78.139 567.299 64 551.991 64zM464 424c13.234 0 24 10.766 24 24s-10.766 24-24 24-24-10.766-24-24 10.766-24 24-24zm-256 0c13.234 0 24 10.766 24 24s-10.766 24-24 24-24-10.766-24-24 10.766-24 24-24zm279.438-152H184.98l-31.31-160h368.548l-34.78 160zM272 200v-16c0-6.627 5.373-12 12-12h32v-32c0-6.627 5.373-12 12-12h16c6.627 0 12 5.373 12 12v32h32c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12h-32v32c0 6.627-5.373 12-12 12h-16c-6.627 0-12-5.373-12-12v-32h-32c-6.627 0-12-5.373-12-12z\"] };\nvar faCertificate = { prefix: 'far', iconName: 'certificate', icon: [512, 512, [], \"f0a3\", \"M489.199 255.927c41.041-40.173 24.263-102.49-31.145-116.634C473.43 85.289 427.935 38 372.589 53.775 358.41-1.828 295.346-17.915 256 22.621 242.445 8.655 226.954.019 205.706.018c-29.388-.001-57.144 17.868-66.295 53.757-54.95-15.663-100.976 31.042-85.465 85.518-55.295 14.115-72.274 76.374-31.145 116.634-40.946 40.08-24.367 102.464 31.145 116.634-15.512 54.481 30.59 101.158 85.465 85.518C153.747 514.3 216.434 529.714 256 489.25c39.511 40.408 102.326 24.759 116.589-31.171 55.007 15.678 100.937-31.177 85.465-85.518 55.295-14.115 72.274-76.374 31.145-116.634zm-31.205 36.574c11.133 10.539 5.95 29.28-8.665 32.775l-50.903 12.992 14.349 50.387c4.055 14.491-9.607 28.165-24.099 24.108l-50.37-14.354-12.987 50.92c-3.525 14.75-22.608 19.626-32.764 8.668L256 420.621l-36.554 37.376c-10.263 10.849-29.158 6.421-32.764-8.668l-12.987-50.92-50.37 14.354c-14.489 4.056-28.154-9.615-24.099-24.108l14.349-50.387-50.903-12.992c-14.609-3.494-19.803-22.231-8.665-32.775l37.363-36.566-37.363-36.566c-11.133-10.539-5.95-29.28 8.665-32.775l50.903-12.992-14.349-50.387c-4.054-14.49 9.605-28.166 24.099-24.108l50.37 14.354 12.987-50.92c3.476-14.546 22.503-19.514 32.764-8.668L256 91.525l36.554-37.652c10.382-10.974 29.328-5.71 32.764 8.668l12.987 50.92 50.37-14.354c14.488-4.056 28.154 9.615 24.099 24.108l-14.349 50.387 50.903 12.992c14.609 3.494 19.802 22.231 8.665 32.775l-37.363 36.566 37.364 36.566z\"] };\nvar faChartArea = { prefix: 'far', iconName: 'chart-area', icon: [512, 512, [], \"f1fe\", \"M500 400c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v324h452zM372 128.7l-84 56-85.1-85.1c-5.5-5.5-14.8-4.4-18.8 2.3L96 256v96h384l-90.3-218.1c-3-6.9-11.5-9.4-17.7-5.2zM144 269.3l57.5-103.2 80.4 80.4c71.8-47.9 8.2-5.4 80.7-53.8L407.2 304H144v-34.7z\"] };\nvar faChartBar = { prefix: 'far', iconName: 'chart-bar', icon: [512, 512, [], \"f080\", \"M500 400c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v324h452zm-356-60v-72c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v72c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V140c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v200c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V204c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v136c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V108c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v232c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z\"] };\nvar faChartLine = { prefix: 'far', iconName: 'chart-line', icon: [512, 512, [], \"f201\", \"M500 400c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v324h452zM468 96H332c-10.7 0-16 12.9-8.5 20.5l52 52L288 256l-64-64L79 334.1l34 33.9 111-110.1 64 62.1 120.8-118.2 50.7 50.7c7.6 7.6 20.5 2.2 20.5-8.5V108c0-6.6-5.4-12-12-12z\"] };\nvar faChartPie = { prefix: 'far', iconName: 'chart-pie', icon: [544, 512, [], \"f200\", \"M280 48c101.6 0 184 82.4 184 184H280V48m-48 48v184l130.1 130.1C328.8 443.4 282.8 464 232 464c-101.6 0-184-82.4-184-184S130.4 96 232 96m264 184c0 49.9-19 99.8-57.1 137.9L301 280h195M232 12v36C103.9 48 0 151.8 0 280c0 128.1 103.8 232 232 232 62.1 0 120.7-24.6 164.1-67.9l.6-.6 8.3 8.3 25.5 25.5c4.7 4.7 12.3 4.7 17 0l25.5-25.5c46-46 71.2-107.6 71.2-171.8v-36c0-6.6-5.4-12-12-12h-20c0-31.3-6.1-61.7-18.3-90.3C471 87.8 427.5 42.4 370.3 18.3 341.7 6.1 311.3 0 280 0h-36c-6.6 0-12 5.4-12 12z\"] };\nvar faCheck = { prefix: 'far', iconName: 'check', icon: [512, 512, [], \"f00c\", \"M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z\"] };\nvar faCheckCircle = { prefix: 'far', iconName: 'check-circle', icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"] };\nvar faCheckSquare = { prefix: 'far', iconName: 'check-square', icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"] };\nvar faChess = { prefix: 'far', iconName: 'chess', icon: [512, 512, [], \"f439\", \"M402.239 354.24H365.76v-36.481c0-10.073 8.166-18.239 18.239-18.239s18.239 8.166 18.239 18.239v36.481zM512 434.098V500c0 6.627-5.373 12-12 12H268c-6.627 0-12-5.373-12-12 0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-64.193c0-4.242 2.239-8.169 5.89-10.328L24 414.766V388c0-6.627 5.373-12 12-12h14.954c11.649-40.3 11.203-84.904 10.943-110.208L61.878 264H36c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h18.631l-29.652-88.365C19.761 112.086 31.331 96 47.732 96h54.492V68.766H82.4a5.98 5.98 0 0 1-5.979-5.98V40.363a5.98 5.98 0 0 1 5.979-5.98h28.42V5.98A5.98 5.98 0 0 1 116.799 0h22.424a5.98 5.98 0 0 1 5.979 5.98v28.403h28.388a5.98 5.98 0 0 1 5.979 5.98v22.403a6 6 0 0 1-6 6h-19.771V96h54.46c16.401 0 27.97 16.084 22.754 31.634L201.366 216H220c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-25.865l-.014 1.741c-.214 27.219-.546 70.647 10.926 110.259H220c6.627 0 12 5.373 12 12v26.766l18.11 10.713a12 12 0 0 1 5.89 10.328v-1.708c0-3.721 1.727-7.232 4.674-9.504l13.679-10.545V388c0-6.627 5.373-12 12-12h5.528c6.61-33.066 7.377-60.888 7.382-79.44l-29.916-19.932a12 12 0 0 1-5.347-9.986V184c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v82.641c0 4.013-2.006 7.761-5.347 9.986l-29.913 19.93c.008 18.59.778 46.446 7.376 79.442h5.531c6.627 0 12 5.373 12 12v26.05l13.679 10.545a12.002 12.002 0 0 1 4.674 9.504zM81.102 144l24.16 72h45.476l24.156-72H81.102zm19.459 232h54.868c-9.847-41.899-9.52-83.513-9.307-110.637l.011-1.363H109.88l.014 1.3c.259 25.299.697 67.937-9.333 110.7zM208 456.338l-24-14.197V424H72v18.141l-24 14.197V464h160v-7.662zm104-208.97l35.157 23.423.043 12.797c.004 1.348.015 2.796.025 4.34.127 18.333.344 49.335-6.494 88.072h86.534c-6.823-38.673-6.614-69.729-6.49-88.094.011-1.534.021-2.975.024-4.315l.042-12.799L456 247.368V208h-25v24.64h-30V208h-34v24.64h-30V208h-25v39.368zm152 204.435l-18.353-14.147V424H322.353v13.655L304 451.803V464h160v-12.197z\"] };\nvar faChessBishop = { prefix: 'far', iconName: 'chess-bishop', icon: [320, 512, [], \"f43a\", \"M0 295.873c0-73.645 55.103-182.382 113.211-223.006C102.813 65.644 96 53.62 96 40c0-22.091 17.909-40 40-40h47.795c22.091 0 40 17.909 40 40 0 13.57-6.764 25.554-17.098 32.786C265.002 113.449 320 222.407 320 295.873c0 57.184-25.676 87.138-63.999 100.303V448H64v-51.827c-38.316-13.166-64-43.12-64-100.3zm48 0c0 53.698 27.608 54.983 64 62.139V400h96.001v-41.987c36.694-7.213 64.01-8.644 64.01-62.14 0-22.768-7.446-52.217-20.103-81.84l-74.452 74.452c-4.686 4.686-12.284 4.686-16.971 0l-16.971-16.971c-4.686-4.686-4.686-12.284 0-16.971l85.202-85.202v-.001c-29.014-46.844-56.45-65.34-68.711-65.34C124.074 104 48 218.228 48 295.873zM320 500v-24c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12z\"] };\nvar faChessBishopAlt = { prefix: 'far', iconName: 'chess-bishop-alt', icon: [256, 512, [], \"f43b\", \"M232 414.766V388c0-6.627-5.373-12-12-12h-10.675c-11.786-30.064-11.672-59.502-11.52-80H212c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-14.18v-4.097c15.918-9.469 29.795-27.12 29.795-59.87 0-46.282-35.15-114.214-72.942-136.203 11.926-1.396 21.182-11.529 21.182-23.83 0-13.255-10.745-24-24-24H104C90.745 0 80 10.745 80 24c0 12.339 9.313 22.498 21.292 23.844-38.336 22.329-72.924 90.666-72.924 136.189 0 32.748 13.875 50.397 29.79 59.867v4.1H44c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h14.209c.194 19.143.424 49.368-11.567 80H36c-6.627 0-12 5.373-12 12v26.766L5.89 425.478A12 12 0 0 0 0 435.807V500c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12v-64.193c0-4.242-2.239-8.169-5.89-10.328L232 414.766zM76.368 184.033c0-34.908 34.265-91.077 51.625-95.965 3.645 1.023 13.47 8.173 24.775 24.536l-31.839 31.84a6 6 0 0 0 0 8.485l14.142 14.142a6 6 0 0 0 8.485 0l25.321-25.321c6.733 15.482 10.738 30.823 10.738 42.283 0 20.655-5.449 19.125-29.795 25.979V248h-43.662v-37.988c-24.334-6.853-29.79-5.32-29.79-25.979zM106.212 296h43.591c-.09 12.449-1.143 45.121 8.891 80H97.26c9.288-32.308 9.136-61.727 8.952-80zM208 464H48v-7.662l24-14.197V424h112v18.141l24 14.197V464z\"] };\nvar faChessBoard = { prefix: 'far', iconName: 'chess-board', icon: [512, 512, [], \"f43c\", \"M0 0v512h512V0H0zm464 464H48V48h416v416zm-336-16H64v-64h64v64zm64-64h64v64h-64v-64zm128 0h64v64h-64v-64zm-128 0h-64v-64h64v64zm128-64v64h-64v-64h64zm64 64v-64h64v64h-64zM128 256v64H64v-64h64zm128 64h-64v-64h64v64zm64-64h64v64h-64v-64zm-128 0h-64v-64h64v64zm64 0v-64h64v64h-64zm128 0v-64h64v64h-64zM128 128v64H64v-64h64zm64 64v-64h64v64h-64zm128 0v-64h64v64h-64zm-128-64h-64V64h64v64zm128 0h-64V64h64v64zm128 0h-64V64h64v64z\"] };\nvar faChessClock = { prefix: 'far', iconName: 'chess-clock', icon: [640, 512, [], \"f43d\", \"M600 128h-84c6.627 0 12-5.373 12-12V92c0-6.627-5.373-12-12-12H412c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12H200V80h28c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H124c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h28v48H40c-22.091 0-40 17.909-40 40v272c0 22.091 17.909 40 40 40h560c22.091 0 40-17.909 40-40V168c0-22.091-17.909-40-40-40zm-8 304H48V176h544v256zm-416-16c61.856 0 112-50.144 112-112s-50.144-112-112-112S64 242.144 64 304s50.144 112 112 112zm-16-180c0-6.627 5.373-12 12-12h8c6.627 0 12 5.373 12 12v72c0 6.627-5.373 12-12 12h-8c-6.627 0-12-5.373-12-12v-72zm304 180c61.856 0 112-50.144 112-112s-50.144-112-112-112-112 50.144-112 112 50.144 112 112 112zm-14.142-120.485l50.911-50.911c4.687-4.686 12.284-4.686 16.971 0l5.656 5.656c4.687 4.686 4.687 12.284 0 16.971l-50.911 50.911c-4.687 4.686-12.284 4.686-16.971 0l-5.656-5.656c-4.686-4.687-4.686-12.285 0-16.971z\"] };\nvar faChessClockAlt = { prefix: 'far', iconName: 'chess-clock-alt', icon: [640, 512, [], \"f43e\", \"M600 128H488V80h28c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H412c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h28v48H228c6.627 0 12-5.373 12-12V92c0-6.627-5.373-12-12-12H124c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12H40c-22.091 0-40 17.909-40 40v272c0 22.091 17.909 40 40 40h560c22.091 0 40-17.909 40-40V168c0-22.091-17.909-40-40-40zm-8 304H48V176h544v256zm-128-16c61.856 0 112-50.144 112-112s-50.144-112-112-112-112 50.144-112 112 50.144 112 112 112zm-16-180c0-6.627 5.373-12 12-12h8c6.627 0 12 5.373 12 12v72c0 6.627-5.373 12-12 12h-8c-6.627 0-12-5.373-12-12v-72zM176 416c61.856 0 112-50.144 112-112s-50.144-112-112-112S64 242.144 64 304s50.144 112 112 112zm-14.142-120.485l50.911-50.911c4.687-4.686 12.284-4.686 16.971 0l5.656 5.656c4.687 4.686 4.687 12.284 0 16.971l-50.911 50.911c-4.687 4.686-12.284 4.686-16.971 0l-5.656-5.656c-4.686-4.687-4.686-12.285 0-16.971z\"] };\nvar faChessKing = { prefix: 'far', iconName: 'chess-king', icon: [448, 512, [], \"f43f\", \"M416 476v24c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12zm29.705-270.741L360.418 448H87.582L2.295 205.259C-6.846 179.244 12.459 152 40.033 152H200v-48h-50a6 6 0 0 1-6-6V62a6 6 0 0 1 6-6h50V6a6 6 0 0 1 6-6h36a6 6 0 0 1 6 6v50h50a6 6 0 0 1 6 6v36a6 6 0 0 1-6 6h-50v48h159.967c27.574 0 46.879 27.244 37.738 53.259zM396.677 200H51.323l70.27 200h204.813l70.271-200z\"] };\nvar faChessKingAlt = { prefix: 'far', iconName: 'chess-king-alt', icon: [256, 512, [], \"f440\", \"M232 414.766V388c0-6.627-5.373-12-12-12h-14.953c-11.472-39.612-11.14-83.039-10.926-110.259l.013-1.741H220c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-18.634l29.647-88.366C236.23 112.084 224.66 96 208.259 96h-54.461V68.766h19.771a6 6 0 0 0 6-6V40.363a5.98 5.98 0 0 0-5.98-5.98h-28.388V5.98a5.98 5.98 0 0 0-5.98-5.98H116.8a5.98 5.98 0 0 0-5.98 5.98v28.403H82.401a5.98 5.98 0 0 0-5.98 5.98v22.424a5.98 5.98 0 0 0 5.98 5.98h19.824V96H47.732c-16.402 0-27.971 16.086-22.753 31.635L54.631 216H36c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h25.878l.018 1.792c.26 25.304.707 69.908-10.942 110.208H36c-6.627 0-12 5.373-12 12v26.766L5.89 425.478A12 12 0 0 0 0 435.807V500c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12v-64.193c0-4.242-2.239-8.169-5.89-10.328L232 414.766zM174.894 144l-24.156 72h-45.476l-24.16-72h93.792zm-65 121.3l-.014-1.3h36.253l-.011 1.363c-.213 27.124-.54 68.737 9.307 110.637h-54.868c10.03-42.763 9.592-85.401 9.333-110.7zM208 464H48v-7.662l24-14.197V424h112v18.141l24 14.197V464z\"] };\nvar faChessKnight = { prefix: 'far', iconName: 'chess-knight', icon: [384, 512, [], \"f441\", \"M160 80c79.529 0 144 64.471 144 144v176H80v-2.334a47.998 47.998 0 0 1 26.534-42.932l58.933-29.466A48.003 48.003 0 0 0 192 282.334V208l-35.295 11.765a23.997 23.997 0 0 0-15.772 17.271l-11.645 49.493a11.998 11.998 0 0 1-6.314 7.984l-13.995 6.997a12.005 12.005 0 0 1-10.094.297l-43.612-18.691A12 12 0 0 1 48 272.086V143.858a24 24 0 0 1 9.884-19.41L64 120 51.213 94.426C48.145 88.291 52.228 80 60.129 80H160m0-48H60.129c-42 0-69.668 43.12-53.176 81.05A71.95 71.95 0 0 0 0 143.858v128.229a59.932 59.932 0 0 0 36.364 55.148l18.695 8.012C32.62 361.476 32 390.024 32 397.666V448h320V224c0-105.975-85.884-192-192-192zm224 468v-24c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zM84 144c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"] };\nvar faChessKnightAlt = { prefix: 'far', iconName: 'chess-knight-alt', icon: [320, 512, [], \"f442\", \"M296 410.288V224.5c0-82.887-65.839-160.3-160.398-160.5H58.289C17.846 64-7.273 102.702 4.46 137.958A66.636 66.636 0 0 0 0 161.889v100.179c0 20.98 11.313 42.679 36.616 53.525A85.427 85.427 0 0 0 24 360.294v49.994L5.906 420.954A11.999 11.999 0 0 0 0 431.292V500c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12v-68.708c0-4.248-2.246-8.18-5.906-10.338L296 410.288zM72 360.294a37.501 37.501 0 0 1 20.882-33.617l46.236-23.104A37.501 37.501 0 0 0 160 269.956V212l-27.074 9.191a18.75 18.75 0 0 0-12.322 13.493l-9.098 38.666a9.376 9.376 0 0 1-4.933 6.238l-10.934 5.467a9.378 9.378 0 0 1-7.886.232l-34.071-14.602A9.375 9.375 0 0 1 48 262.068V161.889a18.751 18.751 0 0 1 7.722-15.164l4.778-3.475s-6.015-12.03-9.938-19.163c-3.125-5.683 1.309-12.489 7.727-12.489h.019l77.193.163C197.67 111.893 248 162.329 248 224.5V360l-16 16H88l-16-15.706zM272 464H48v-12.141l24-14.147V424h176v13.712l24 14.147V464zM93.63 180.444c0 9-7.296 16.296-16.296 16.296s-16.296-7.296-16.296-16.296 7.296-16.296 16.296-16.296 16.296 7.296 16.296 16.296z\"] };\nvar faChessPawn = { prefix: 'far', iconName: 'chess-pawn', icon: [320, 512, [], \"f443\", \"M320 476v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h296c6.627 0 12 5.373 12 12zM40 448s38.248-51.057 51.523-144H56c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h25.703C60.92 235.656 48 207.31 48 176c0-61.757 50.243-112 112-112s112 50.243 112 112c0 31.31-12.92 59.656-33.703 80H264c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-35.523C241.752 396.943 280 448 280 448H40zm162.965-48c-15.715-43.507-21.999-83.472-24.708-112h-36.514c-2.709 28.531-8.993 68.495-24.708 112h85.93zM96 176c0 35.29 28.71 64 64 64s64-28.71 64-64-28.71-64-64-64-64 28.71-64 64z\"] };\nvar faChessPawnAlt = { prefix: 'far', iconName: 'chess-pawn-alt', icon: [320, 512, [], \"f444\", \"M296 410.288V388c0-6.627-5.373-12-12-12h-35.469c-12.526-36.287-14.467-69.215-14.665-96H252c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-10.08c14.397-18.387 22.75-41.722 22.038-66.989-1.535-54.425-45.449-98.828-99.855-100.932C104.897 61.79 56 109.292 56 168c0 24.116 8.253 46.34 22.08 64H68c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h18.153c-.158 25.878-2.089 59.407-14.691 96H36c-6.627 0-12 5.373-12 12v22.288L5.906 420.954A11.999 11.999 0 0 0 0 431.292V500c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12v-68.708c0-4.248-2.246-8.18-5.906-10.338L296 410.288zM160 112c30.879 0 56 25.122 56 56s-25.121 56-56 56-56-25.122-56-56 25.121-56 56-56zm-25.846 168h51.709c.178 25.998 1.867 59.07 12.364 96h-76.479c10.574-37.307 12.262-70.86 12.406-96zM272 464H48v-12.141l24-14.147V424h176v13.712l24 14.147V464z\"] };\nvar faChessQueen = { prefix: 'far', iconName: 'chess-queen', icon: [512, 512, [], \"f445\", \"M64 500v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12zm191.579-388c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56 25.072 56 56 56zM112 448L6.986 190.552a12 12 0 0 1 5.51-15.145l39.179-20.679c5.642-2.978 12.634-1.027 15.899 4.453 10.608 17.8 23.735 38.025 44.425 38.025 28.753 0 30.635-19.898 31.688-57.539.182-6.493 5.5-11.667 11.995-11.667h41.005c5.175 0 9.754 3.328 11.388 8.238 8.89 26.709 26.074 40.992 47.925 40.992s39.034-14.283 47.924-40.992c1.634-4.91 6.213-8.238 11.388-8.238h41.006c6.494 0 11.812 5.172 11.995 11.664 1.062 37.738 2.973 57.542 31.686 57.542 21.318 0 35.449-22.285 44.065-37.802 3.166-5.702 10.314-7.815 16.082-4.77l39.357 20.773a12 12 0 0 1 5.51 15.145L400 448H112zM77.96 237.46L144.26 400h223.48l66.304-162.55c-37.654 17.908-91.742 6.272-107.557-44.594-37.73 43.31-103.293 43.247-140.969.005-15.977 51.33-70.334 62.305-107.558 44.599z\"] };\nvar faChessQueenAlt = { prefix: 'far', iconName: 'chess-queen-alt', icon: [256, 512, [], \"f446\", \"M99.824 28c0-15.464 12.536-28 28-28s28 12.536 28 28-12.536 28-28 28-28-12.536-28-28zM250.11 425.478a12 12 0 0 1 5.89 10.328V500c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-64.193c0-4.242 2.239-8.169 5.89-10.328L24 414.766V388c0-6.627 5.373-12 12-12h14.712c11.897-42.774 11.446-90.127 11.184-116.942L61.867 256H36c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h13.233L3.669 95.225a6 6 0 0 1 2.762-7.554l19.561-10.324a5.99 5.99 0 0 1 2.801-.696 5.983 5.983 0 0 1 5.146 2.918c5.295 8.886 11.848 18.98 22.176 18.98 14.35 0 15.293-9.928 15.819-28.709A6.003 6.003 0 0 1 77.931 64h20.458a6.001 6.001 0 0 1 5.688 4.113c4.438 13.333 13.016 20.464 23.925 20.464 10.908 0 19.486-7.13 23.925-20.464a6 6 0 0 1 5.688-4.114h20.459a6.005 6.005 0 0 1 5.998 5.839c.53 18.829 1.488 28.71 15.818 28.71 10.635 0 17.687-11.109 21.989-18.855a5.998 5.998 0 0 1 8.046-2.395l19.649 10.371a6 6 0 0 1 2.763 7.553L206.798 208H220c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-25.857l-.022 3.01c-.216 28.846-.55 74.941 11.168 116.99H220c6.627 0 12 5.373 12 12v26.766l18.11 10.712zM75.118 143.933L101.003 208h54.03l25.869-64.063c-9.146-2.64-17.295-7.22-24.02-13.469-8.844 3.984-18.586 6.11-28.88 6.11s-20.035-2.125-28.879-6.11c-6.721 6.246-14.865 10.824-24.005 13.465zM100.227 376h55.537c-10.189-44.325-9.856-88.614-9.642-117.35l.02-2.65H109.87l.024 2.589c.261 26.791.704 72.194-9.667 117.411zM208 456.338l-24-14.197V424H72v18.141l-24 14.197V464h160v-7.662z\"] };\nvar faChessRook = { prefix: 'far', iconName: 'chess-rook', icon: [384, 512, [], \"f447\", \"M31.892 448h320.197C315.718 337.179 319.802 277.193 320 240l40.971-40.971A23.999 23.999 0 0 0 368 182.058V56c0-13.255-10.745-24-24-24H40c-13.255 0-24 10.745-24 24v126.059a23.998 23.998 0 0 0 7.029 16.97L64 240.001c.204 36.961 4.295 96.765-32.108 207.999zM64 80h40v48h48V80h80v48h48V80h40v92.118l-47.894 47.894s-.16 25.561-.202 28.769c-.405 30.978-1.027 78.466 16.548 151.219H95.503c17.634-73.001 17.004-120.401 16.594-151.307-.042-3.18-.207-28.683-.207-28.683L64 172.118V80zm156 208h-56v-56c0-15.464 12.536-28 28-28s28 12.536 28 28v56zm164 188v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12z\"] };\nvar faChessRookAlt = { prefix: 'far', iconName: 'chess-rook-alt', icon: [320, 512, [], \"f448\", \"M183.999 312h-47.998v-48.421c0-13.023 10.557-23.579 23.58-23.579h.839c13.023 0 23.58 10.557 23.58 23.579V312zm130.095 108.954A11.999 11.999 0 0 1 320 431.292V500c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-68.708c0-4.248 2.246-8.18 5.906-10.338L24 410.288V388c0-6.627 5.373-12 12-12h8.854c5.067-24.814 11.338-67.806 11.2-140.421l-31.047-24.838A24 24 0 0 1 16 192V88c0-13.255 10.745-24 24-24h240c13.255 0 24 10.745 24 24v104a24 24 0 0 1-9.007 18.741l-31.045 24.836c-.124 72.705 6.135 115.652 11.194 140.423H284c6.627 0 12 5.373 12 12v22.288l18.094 10.666zM93.592 376h132.812c-11.756-65.261-10.504-125.159-10.368-163.564L256 180.465V112h-32v40h-40v-40h-48v40H96v-40H64v68.465l39.963 31.97c.136 37.627 1.493 97.712-10.371 163.565zM272 451.859l-24-14.147V424H72v13.712l-24 14.147V464h224v-12.141z\"] };\nvar faChevronCircleDown = { prefix: 'far', iconName: 'chevron-circle-down', icon: [512, 512, [], \"f13a\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm8.5-107.5l122.8-122.8c4.7-4.7 4.7-12.3 0-17l-22.6-22.6c-4.7-4.7-12.3-4.7-17 0L256 277.8l-91.7-91.7c-4.7-4.7-12.3-4.7-17 0l-22.6 22.6c-4.7 4.7-4.7 12.3 0 17l122.8 122.8c4.7 4.7 12.3 4.7 17 0z\"] };\nvar faChevronCircleLeft = { prefix: 'far', iconName: 'chevron-circle-left', icon: [512, 512, [], \"f137\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm107.5-8.5l122.8-122.8c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17L234.2 256l91.7 91.7c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L163.5 264.5c-4.7-4.7-4.7-12.3 0-17z\"] };\nvar faChevronCircleRight = { prefix: 'far', iconName: 'chevron-circle-right', icon: [512, 512, [], \"f138\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-107.5 8.5L225.7 387.3c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l91.7-91.7-91.7-91.7c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l122.8 122.8c4.7 4.7 4.7 12.3 0 17z\"] };\nvar faChevronCircleUp = { prefix: 'far', iconName: 'chevron-circle-up', icon: [512, 512, [], \"f139\", \"M264.5 163.5l122.8 122.8c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 234.2l-91.7 91.7c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l122.8-122.8c4.7-4.7 12.3-4.7 17 0zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-48 0c0-110.5-89.5-200-200-200S56 145.5 56 256s89.5 200 200 200 200-89.5 200-200z\"] };\nvar faChevronDoubleDown = { prefix: 'far', iconName: 'chevron-double-down', icon: [448, 512, [], \"f322\", \"M441.9 89.7L232.5 299.1c-4.7 4.7-12.3 4.7-17 0L6.1 89.7c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L224 233.6 405.1 52.9c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17zm0 143l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L224 393.6 42.9 212.9c-4.7-4.7-12.3-4.7-17 0L6.1 232.7c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z\"] };\nvar faChevronDoubleLeft = { prefix: 'far', iconName: 'chevron-double-left', icon: [448, 512, [], \"f323\", \"M390.3 473.9L180.9 264.5c-4.7-4.7-4.7-12.3 0-17L390.3 38.1c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L246.4 256l180.7 181.1c4.7 4.7 4.7 12.3 0 17l-19.8 19.8c-4.7 4.7-12.3 4.7-17 0zm-143 0l19.8-19.8c4.7-4.7 4.7-12.3 0-17L86.4 256 267.1 74.9c4.7-4.7 4.7-12.3 0-17l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L20.9 247.5c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0z\"] };\nvar faChevronDoubleRight = { prefix: 'far', iconName: 'chevron-double-right', icon: [448, 512, [], \"f324\", \"M57.7 38.1l209.4 209.4c4.7 4.7 4.7 12.3 0 17L57.7 473.9c-4.7 4.7-12.3 4.7-17 0l-19.8-19.8c-4.7-4.7-4.7-12.3 0-17L201.6 256 20.9 74.9c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0zm143 0l-19.8 19.8c-4.7 4.7-4.7 12.3 0 17L361.6 256 180.9 437.1c-4.7 4.7-4.7 12.3 0 17l19.8 19.8c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17L217.7 38.1c-4.7-4.7-12.3-4.7-17 0z\"] };\nvar faChevronDoubleUp = { prefix: 'far', iconName: 'chevron-double-up', icon: [448, 512, [], \"f325\", \"M6.1 422.3l209.4-209.4c4.7-4.7 12.3-4.7 17 0l209.4 209.4c4.7 4.7 4.7 12.3 0 17l-19.8 19.8c-4.7 4.7-12.3 4.7-17 0L224 278.4 42.9 459.1c-4.7 4.7-12.3 4.7-17 0L6.1 439.3c-4.7-4.7-4.7-12.3 0-17zm0-143l19.8 19.8c4.7 4.7 12.3 4.7 17 0L224 118.4l181.1 180.7c4.7 4.7 12.3 4.7 17 0l19.8-19.8c4.7-4.7 4.7-12.3 0-17L232.5 52.9c-4.7-4.7-12.3-4.7-17 0L6.1 262.3c-4.7 4.7-4.7 12.3 0 17z\"] };\nvar faChevronDown = { prefix: 'far', iconName: 'chevron-down', icon: [448, 512, [], \"f078\", \"M441.9 167.3l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L224 328.2 42.9 147.5c-4.7-4.7-12.3-4.7-17 0L6.1 167.3c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z\"] };\nvar faChevronLeft = { prefix: 'far', iconName: 'chevron-left', icon: [256, 512, [], \"f053\", \"M231.293 473.899l19.799-19.799c4.686-4.686 4.686-12.284 0-16.971L70.393 256 251.092 74.87c4.686-4.686 4.686-12.284 0-16.971L231.293 38.1c-4.686-4.686-12.284-4.686-16.971 0L4.908 247.515c-4.686 4.686-4.686 12.284 0 16.971L214.322 473.9c4.687 4.686 12.285 4.686 16.971-.001z\"] };\nvar faChevronRight = { prefix: 'far', iconName: 'chevron-right', icon: [256, 512, [], \"f054\", \"M24.707 38.101L4.908 57.899c-4.686 4.686-4.686 12.284 0 16.971L185.607 256 4.908 437.13c-4.686 4.686-4.686 12.284 0 16.971L24.707 473.9c4.686 4.686 12.284 4.686 16.971 0l209.414-209.414c4.686-4.686 4.686-12.284 0-16.971L41.678 38.101c-4.687-4.687-12.285-4.687-16.971 0z\"] };\nvar faChevronSquareDown = { prefix: 'far', iconName: 'chevron-square-down', icon: [448, 512, [], \"f329\", \"M215.5 348.5L92.7 225.7c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l91.7 91.7 91.7-91.7c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17L232.5 348.5c-4.7 4.7-12.3 4.7-17 0zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faChevronSquareLeft = { prefix: 'far', iconName: 'chevron-square-left', icon: [448, 512, [], \"f32a\", \"M131.5 247.5l122.8-122.8c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17L202.2 256l91.7 91.7c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L131.5 264.5c-4.7-4.7-4.7-12.3 0-17zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faChevronSquareRight = { prefix: 'far', iconName: 'chevron-square-right', icon: [448, 512, [], \"f32b\", \"M316.5 264.5L193.7 387.3c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l91.7-91.7-91.7-91.7c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l122.8 122.8c4.7 4.7 4.7 12.3 0 17zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faChevronSquareUp = { prefix: 'far', iconName: 'chevron-square-up', icon: [448, 512, [], \"f32c\", \"M232.5 163.5l122.8 122.8c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L224 234.2l-91.7 91.7c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l122.8-122.8c4.7-4.7 12.3-4.7 17 0zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faChevronUp = { prefix: 'far', iconName: 'chevron-up', icon: [448, 512, [], \"f077\", \"M6.101 359.293L25.9 379.092c4.686 4.686 12.284 4.686 16.971 0L224 198.393l181.13 180.698c4.686 4.686 12.284 4.686 16.971 0l19.799-19.799c4.686-4.686 4.686-12.284 0-16.971L232.485 132.908c-4.686-4.686-12.284-4.686-16.971 0L6.101 342.322c-4.687 4.687-4.687 12.285 0 16.971z\"] };\nvar faChild = { prefix: 'far', iconName: 'child', icon: [448, 512, [], \"f1ae\", \"M410.947 101.089c-22.433-22.431-55.179-26.458-81.062-14.53C320.167 38.057 277.177 0 224 0c-53.179 0-96.168 38.06-105.885 86.559-25.929-11.95-58.664-7.866-81.06 14.527-28.074 28.075-28.074 73.752-.003 101.825L96 261.823V440c0 39.701 32.299 72 72 72h8c18.423 0 35.253-6.955 48-18.378C236.747 505.045 253.577 512 272 512h8c39.701 0 72-32.299 72-72V261.823l58.946-58.912c28.072-28.073 28.072-73.75.001-101.822zM224 48c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm152.971 120.971L304 241.941V440c0 13.255-10.745 24-24 24h-8c-13.255 0-24-10.745-24-24v-96h-48v96c0 13.255-10.745 24-24 24h-8c-13.255 0-24-10.745-24-24V241.941L71.029 168.97c-9.372-9.373-9.372-24.569 0-33.942 9.373-9.372 24.568-9.372 33.941 0L177.941 208h92.117l72.971-72.971c9.373-9.372 24.568-9.372 33.941 0 9.373 9.373 9.373 24.569.001 33.942z\"] };\nvar faCircle = { prefix: 'far', iconName: 'circle', icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"] };\nvar faCircleNotch = { prefix: 'far', iconName: 'circle-notch', icon: [512, 512, [], \"f1ce\", \"M288 28.977v16.391c0 7.477 5.182 13.945 12.474 15.598C389.568 81.162 456 160.742 456 256c0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-95.244 66.422-174.837 155.526-195.034C218.818 59.313 224 52.845 224 45.368V28.981c0-10.141-9.322-17.76-19.246-15.675C91.959 37.004 7.373 137.345 8.004 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-119.349-84.308-219.003-196.617-242.665C297.403 11.232 288 18.779 288 28.977z\"] };\nvar faClipboard = { prefix: 'far', iconName: 'clipboard', icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.29-28.71-64-64-64s-64 28.71-64 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h42v36c0 6.627 5.373 12 12 12h168c6.627 0 12-5.373 12-12v-36h42a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zM192 40c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24\"] };\nvar faClipboardCheck = { prefix: 'far', iconName: 'clipboard-check', icon: [384, 512, [], \"f46c\", \"M269.3 225.8c-3.9-3.9-10.2-3.9-14.1-.1l-88 87.3-38.1-38.5c-3.9-3.9-10.2-3.9-14.1-.1l-23.6 23.4c-3.9 3.9-3.9 10.2-.1 14.1l68.5 69.1c3.9 3.9 10.2 3.9 14.1.1l118.6-117.6c3.9-3.9 3.9-10.2.1-14.1l-23.3-23.6zM336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 48c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm144 408c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V120c0-4.4 3.6-8 8-8h40v32c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-32h40c4.4 0 8 3.6 8 8v336z\"] };\nvar faClipboardList = { prefix: 'far', iconName: 'clipboard-list', icon: [384, 512, [], \"f46d\", \"M280 240H168c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm0 96H168c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zM112 232c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 48c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm144 408c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V120c0-4.4 3.6-8 8-8h40v32c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-32h40c4.4 0 8 3.6 8 8v336z\"] };\nvar faClock = { prefix: 'far', iconName: 'clock', icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"] };\nvar faClone = { prefix: 'far', iconName: 'clone', icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"] };\nvar faClosedCaptioning = { prefix: 'far', iconName: 'closed-captioning', icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"] };\nvar faCloud = { prefix: 'far', iconName: 'cloud', icon: [640, 512, [], \"f0c2\", \"M272 80c53.473 0 99.279 32.794 118.426 79.363C401.611 149.793 416.125 144 432 144c35.346 0 64 28.654 64 64 0 11.829-3.222 22.9-8.817 32.407A96.998 96.998 0 0 1 496 240c53.019 0 96 42.981 96 96s-42.981 96-96 96H160c-61.856 0-112-50.144-112-112 0-56.428 41.732-103.101 96.014-110.859-.003-.381-.014-.76-.014-1.141 0-70.692 57.308-128 128-128m0-48c-84.587 0-155.5 59.732-172.272 139.774C39.889 196.13 0 254.416 0 320c0 88.374 71.642 160 160 160h336c79.544 0 144-64.487 144-144 0-61.805-39.188-115.805-96.272-135.891C539.718 142.116 491.432 96 432 96c-7.558 0-15.051.767-22.369 2.262C377.723 58.272 328.091 32 272 32z\"] };\nvar faCloudDownload = { prefix: 'far', iconName: 'cloud-download', icon: [640, 512, [], \"f0ed\", \"M272 80c53.473 0 99.279 32.794 118.426 79.363C401.611 149.793 416.125 144 432 144c35.346 0 64 28.654 64 64 0 11.829-3.222 22.9-8.817 32.407A96.998 96.998 0 0 1 496 240c53.019 0 96 42.981 96 96s-42.981 96-96 96H160c-61.856 0-112-50.144-112-112 0-56.428 41.732-103.101 96.014-110.859-.003-.381-.014-.76-.014-1.141 0-70.692 57.308-128 128-128m0-48c-84.587 0-155.5 59.732-172.272 139.774C39.889 196.13 0 254.416 0 320c0 88.374 71.642 160 160 160h336c79.544 0 144-64.487 144-144 0-61.805-39.188-115.805-96.272-135.891C539.718 142.116 491.432 96 432 96c-7.558 0-15.051.767-22.369 2.262C377.723 58.272 328.091 32 272 32zm-8 140v139.465l-54.545-55.762c-4.671-4.775-12.341-4.817-17.064-.094l-16.877 16.877c-4.686 4.686-4.686 12.284 0 16.971l104 104c4.686 4.686 12.284 4.686 16.971 0l104-104c4.686-4.686 4.686-12.284 0-16.971l-16.877-16.877c-4.723-4.723-12.393-4.681-17.064.094L312 311.465V172c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12z\"] };\nvar faCloudDownloadAlt = { prefix: 'far', iconName: 'cloud-download-alt', icon: [640, 512, [], \"f381\", \"M272 32c-84.587 0-155.5 59.732-172.272 139.774C39.889 196.13 0 254.416 0 320c0 88.374 71.642 160 160 160h336c79.544 0 144-64.487 144-144 0-61.805-39.188-115.805-96.272-135.891C539.718 142.116 491.432 96 432 96c-7.558 0-15.051.767-22.369 2.262C377.723 58.272 328.091 32 272 32zm0 48c53.473 0 99.279 32.794 118.426 79.363C401.611 149.793 416.125 144 432 144c35.346 0 64 28.654 64 64 0 11.829-3.222 22.9-8.817 32.407A96.998 96.998 0 0 1 496 240c53.019 0 96 42.981 96 96s-42.981 96-96 96H160c-61.856 0-112-50.144-112-112 0-56.428 41.732-103.101 96.014-110.859-.003-.381-.014-.76-.014-1.141 0-70.692 57.308-128 128-128m-91.515 196.485l99.029 99.029c4.686 4.686 12.284 4.686 16.971 0l99.029-99.029c7.56-7.56 2.206-20.485-8.485-20.485H320v-84c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v84h-67.029c-10.691 0-16.045 12.926-8.486 20.485z\"] };\nvar faCloudUpload = { prefix: 'far', iconName: 'cloud-upload', icon: [640, 512, [], \"f0ee\", \"M272 80c53.473 0 99.279 32.794 118.426 79.363C401.611 149.793 416.125 144 432 144c35.346 0 64 28.654 64 64 0 11.829-3.222 22.9-8.817 32.407A96.998 96.998 0 0 1 496 240c53.019 0 96 42.981 96 96s-42.981 96-96 96H160c-61.856 0-112-50.144-112-112 0-56.428 41.732-103.101 96.014-110.859-.003-.381-.014-.76-.014-1.141 0-70.692 57.308-128 128-128m0-48c-84.587 0-155.5 59.732-172.272 139.774C39.889 196.13 0 254.416 0 320c0 88.374 71.642 160 160 160h336c79.544 0 144-64.487 144-144 0-61.805-39.188-115.805-96.272-135.891C539.718 142.116 491.432 96 432 96c-7.558 0-15.051.767-22.369 2.262C377.723 58.272 328.091 32 272 32zm40 340V232.535l54.545 55.762c4.671 4.775 12.341 4.817 17.064.094l16.877-16.877c4.686-4.686 4.686-12.284 0-16.971l-104-104c-4.686-4.686-12.284-4.686-16.971 0l-104 104c-4.686 4.686-4.686 12.284 0 16.971l16.877 16.877c4.723 4.723 12.393 4.681 17.064-.094L264 232.535V372c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12z\"] };\nvar faCloudUploadAlt = { prefix: 'far', iconName: 'cloud-upload-alt', icon: [640, 512, [], \"f382\", \"M272 32c-84.587 0-155.5 59.732-172.272 139.774C39.889 196.13 0 254.416 0 320c0 88.374 71.642 160 160 160h336c79.544 0 144-64.487 144-144 0-61.805-39.188-115.805-96.272-135.891C539.718 142.116 491.432 96 432 96c-7.558 0-15.051.767-22.369 2.262C377.723 58.272 328.091 32 272 32zm0 48c53.473 0 99.279 32.794 118.426 79.363C401.611 149.793 416.125 144 432 144c35.346 0 64 28.654 64 64 0 11.829-3.222 22.9-8.817 32.407A96.998 96.998 0 0 1 496 240c53.019 0 96 42.981 96 96s-42.981 96-96 96H160c-61.856 0-112-50.144-112-112 0-56.428 41.732-103.101 96.014-110.859-.003-.381-.014-.76-.014-1.141 0-70.692 57.308-128 128-128m123.515 187.515l-99.029-99.029c-4.686-4.686-12.284-4.686-16.971 0l-99.029 99.029c-7.56 7.56-2.206 20.485 8.485 20.485H256v84c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-84h67.029c10.691 0 16.045-12.926 8.486-20.485z\"] };\nvar faClub = { prefix: 'far', iconName: 'club', icon: [512, 512, [], \"f327\", \"M256 48c60.3 0 101.3 60.9 79.6 116.5L321 201.9c-1.6 4 1.4 8.2 5.6 8.2.3 0 .5 0 .8-.1l39.8-5.3c3.9-.5 7.7-.8 11.5-.8 46.8 0 85.5 38.2 85.3 85.8-.2 47.3-39.4 85.1-86.6 85.1h-.8c-38.1-.3-48.9-6-78.4-36.2-1.2-1.3-2.7-1.8-4.2-1.8-3.1 0-6 2.4-6 6V360c0 37.7-2.3 48.8 24.7 82.9 6.8 8.5.7 21.1-10.2 21.1h-93.1c-10.9 0-16.9-12.6-10.2-21.1 27-34 24.7-45.2 24.7-82.9v-17.1c0-3.6-3-6-6-6-1.5 0-3 .6-4.2 1.8-29.2 29.9-40.1 35.8-78.3 36.2h-.8c-47.2 0-86.5-37.9-86.6-85.2-.1-47.5 38.6-85.6 85.3-85.6 3.8 0 7.6.2 11.5.8l39.8 5.3c.3 0 .5.1.8.1 4.1 0 7.1-4.2 5.6-8.2l-14.6-37.4C154.6 108.8 195.8 48 256 48m0-48c-22.4 0-44.5 5.6-63.9 16.2-18.3 10-34.3 24.6-46.2 42-11.9 17.4-19.6 37.6-22.3 58.4-1.7 13.2-1.4 26.6.9 39.7-14.8 1-29.3 4.4-43.1 10.3-15.9 6.8-30.2 16.4-42.4 28.7-25.2 25.3-39.1 58.8-39 94.5.2 73.4 60.5 133.1 134.6 133.1h1.2c6.9-.1 13.5-.3 19.9-.8-3.9 7.2-6.3 15.2-7.1 23.5-1 11 1 22.1 5.9 32 4.8 10 12.2 18.4 21.4 24.5 9.9 6.5 21.5 10 33.5 10h93.1c12 0 23.6-3.5 33.5-10 9.2-6.1 16.6-14.5 21.4-24.5 4.8-10 6.8-21 5.9-32-.7-8.3-3.2-16.2-7.1-23.5 6.4.5 13 .8 20 .8h1.2c73.9 0 134.3-59.6 134.6-132.9.1-35.7-13.7-69.3-38.9-94.6-12.3-12.3-26.5-22-42.5-28.7-13.8-5.9-28.3-9.3-43.1-10.3 2.3-13.1 2.6-26.5.9-39.7-2.7-20.8-10.4-41-22.3-58.4s-27.9-31.9-46.2-41.9C300.5 5.6 278.4 0 256 0z\"] };\nvar faCode = { prefix: 'far', iconName: 'code', icon: [576, 512, [], \"f121\", \"M234.8 511.7L196 500.4c-4.2-1.2-6.7-5.7-5.5-9.9L331.3 5.8c1.2-4.2 5.7-6.7 9.9-5.5L380 11.6c4.2 1.2 6.7 5.7 5.5 9.9L244.7 506.2c-1.2 4.3-5.6 6.7-9.9 5.5zm-83.2-121.1l27.2-29c3.1-3.3 2.8-8.5-.5-11.5L72.2 256l106.1-94.1c3.4-3 3.6-8.2.5-11.5l-27.2-29c-3-3.2-8.1-3.4-11.3-.4L2.5 250.2c-3.4 3.2-3.4 8.5 0 11.7L140.3 391c3.2 3 8.2 2.8 11.3-.4zm284.1.4l137.7-129.1c3.4-3.2 3.4-8.5 0-11.7L435.7 121c-3.2-3-8.3-2.9-11.3.4l-27.2 29c-3.1 3.3-2.8 8.5.5 11.5L503.8 256l-106.1 94.1c-3.4 3-3.6 8.2-.5 11.5l27.2 29c3.1 3.2 8.1 3.4 11.3.4z\"] };\nvar faCodeBranch = { prefix: 'far', iconName: 'code-branch', icon: [384, 512, [], \"f126\", \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.5 14-17.4 21.1-39.8 21.6-67.9 31.6-10.7 54.4-40.6 54.4-75.8zM80 48c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm0 416c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm224-288c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"] };\nvar faCodeCommit = { prefix: 'far', iconName: 'code-commit', icon: [640, 512, [], \"f386\", \"M128 256c0 10.8.9 21.5 2.6 32H12c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h118.6c-1.7 10.5-2.6 21.2-2.6 32zm500-32H509.4c1.8 10.5 2.6 21.2 2.6 32s-.9 21.5-2.6 32H628c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm-308-80c-29.9 0-58 11.7-79.2 32.8C219.6 198 208 226.1 208 256s11.6 58 32.8 79.2C262 356.3 290.1 368 320 368s58-11.7 79.2-32.8C420.4 314 432 285.9 432 256s-11.6-58-32.8-79.2C378 155.7 349.9 144 320 144m0-48c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160S231.6 96 320 96z\"] };\nvar faCodeMerge = { prefix: 'far', iconName: 'code-merge', icon: [384, 512, [], \"f387\", \"M304 192c-38 0-69.8 26.5-77.9 62-23.9-3.5-58-12.9-83.9-37.6-16.6-15.9-27.9-36.5-33.7-61.6C138.6 143.3 160 114.1 160 80c0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V246.1c1.6 1.7 3.3 3.4 5 5 39.3 37.5 90.4 48.6 121.2 51.8 12.1 28.9 40.6 49.2 73.8 49.2 44.2 0 80-35.8 80-80S348.2 192 304 192zM80 48c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm0 416c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm224-160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"] };\nvar faCoffee = { prefix: 'far', iconName: 'coffee', icon: [640, 512, [], \"f0f4\", \"M512 32H112c-8.8 0-16 7.2-16 16v256c0 44.2 35.8 80 80 80h224c44.2 0 80-35.8 80-80v-16h32c70.6 0 128-57.4 128-128S582.6 32 512 32zm-80 272c0 17.6-14.4 32-32 32H176c-17.6 0-32-14.4-32-32V80h288v224zm80-64h-32V80h32c44.1 0 80 35.9 80 80s-35.9 80-80 80zm55.8 240H40.2c-37.3 0-50.2-48-32-48h591.7c18.1 0 5.2 48-32.1 48z\"] };\nvar faCog = { prefix: 'far', iconName: 'cog', icon: [512, 512, [], \"f013\", \"M452.515 237l31.843-18.382c9.426-5.441 13.996-16.542 11.177-27.054-11.404-42.531-33.842-80.547-64.058-110.797-7.68-7.688-19.575-9.246-28.985-3.811l-31.785 18.358a196.276 196.276 0 0 0-32.899-19.02V39.541a24.016 24.016 0 0 0-17.842-23.206c-41.761-11.107-86.117-11.121-127.93-.001-10.519 2.798-17.844 12.321-17.844 23.206v36.753a196.276 196.276 0 0 0-32.899 19.02l-31.785-18.358c-9.41-5.435-21.305-3.877-28.985 3.811-30.216 30.25-52.654 68.265-64.058 110.797-2.819 10.512 1.751 21.613 11.177 27.054L59.485 237a197.715 197.715 0 0 0 0 37.999l-31.843 18.382c-9.426 5.441-13.996 16.542-11.177 27.054 11.404 42.531 33.842 80.547 64.058 110.797 7.68 7.688 19.575 9.246 28.985 3.811l31.785-18.358a196.202 196.202 0 0 0 32.899 19.019v36.753a24.016 24.016 0 0 0 17.842 23.206c41.761 11.107 86.117 11.122 127.93.001 10.519-2.798 17.844-12.321 17.844-23.206v-36.753a196.34 196.34 0 0 0 32.899-19.019l31.785 18.358c9.41 5.435 21.305 3.877 28.985-3.811 30.216-30.25 52.654-68.266 64.058-110.797 2.819-10.512-1.751-21.613-11.177-27.054L452.515 275c1.22-12.65 1.22-25.35 0-38zm-52.679 63.019l43.819 25.289a200.138 200.138 0 0 1-33.849 58.528l-43.829-25.309c-31.984 27.397-36.659 30.077-76.168 44.029v50.599a200.917 200.917 0 0 1-67.618 0v-50.599c-39.504-13.95-44.196-16.642-76.168-44.029l-43.829 25.309a200.15 200.15 0 0 1-33.849-58.528l43.819-25.289c-7.63-41.299-7.634-46.719 0-88.038l-43.819-25.289c7.85-21.229 19.31-41.049 33.849-58.529l43.829 25.309c31.984-27.397 36.66-30.078 76.168-44.029V58.845a200.917 200.917 0 0 1 67.618 0v50.599c39.504 13.95 44.196 16.642 76.168 44.029l43.829-25.309a200.143 200.143 0 0 1 33.849 58.529l-43.819 25.289c7.631 41.3 7.634 46.718 0 88.037zM256 160c-52.935 0-96 43.065-96 96s43.065 96 96 96 96-43.065 96-96-43.065-96-96-96zm0 144c-26.468 0-48-21.532-48-48 0-26.467 21.532-48 48-48s48 21.533 48 48c0 26.468-21.532 48-48 48z\"] };\nvar faCogs = { prefix: 'far', iconName: 'cogs', icon: [640, 512, [], \"f085\", \"M217.1 478.1c-23.8 0-41.6-3.5-57.5-7.5-10.6-2.7-18.1-12.3-18.1-23.3v-31.7c-9.4-4.4-18.4-9.6-26.9-15.6l-26.7 15.4c-9.6 5.6-21.9 3.8-29.5-4.3-35.4-37.6-44.2-58.6-57.2-98.5-3.6-10.9 1.1-22.7 11-28.4l26.8-15c-.9-10.3-.9-20.7 0-31.1L12.2 223c-10-5.6-14.6-17.5-11-28.4 13.1-40 21.9-60.9 57.2-98.5 7.6-8.1 19.8-9.9 29.5-4.3l26.7 15.4c8.5-6 17.5-11.2 26.9-15.6V61.4c0-11.1 7.6-20.8 18.4-23.3 44.2-10.5 70-10.5 114.3 0 10.8 2.6 18.4 12.2 18.4 23.3v30.4c9.4 4.4 18.4 9.6 26.9 15.6L346.2 92c9.7-5.6 21.9-3.7 29.6 4.4 26.1 27.9 48.4 58.5 56.8 100.3 2 9.8-2.4 19.8-10.9 25.1l-26.6 16.5c.9 10.3.9 20.7 0 31.1l26.6 16.5c8.4 5.2 12.9 15.2 10.9 24.9-8.1 40.5-29.6 71.3-56.9 100.6-7.6 8.1-19.8 9.9-29.5 4.3l-26.7-15.4c-8.5 6-17.5 11.2-26.9 15.6v31.7c0 11-7.4 20.6-18.1 23.3-15.8 3.8-33.6 7.2-57.4 7.2zm-27.6-50.7c18.3 2.9 36.9 2.9 55.1 0v-44.8l16-5.7c15.2-5.4 29.1-13.4 41.3-23.9l12.9-11 38.8 22.4c11.7-14.4 21-30.5 27.6-47.7l-38.8-22.4 3.1-16.7c2.9-15.9 2.9-32 0-47.9l-3.1-16.7 38.8-22.4c-6.6-17.2-15.9-33.3-27.6-47.7l-38.8 22.4-12.9-11c-12.3-10.5-26.2-18.6-41.3-23.9l-16-5.7V80c-18.3-2.9-36.9-2.9-55.1 0v44.8l-16 5.7c-15.2 5.4-29.1 13.4-41.3 23.9l-12.9 11L80.5 143c-11.7 14.4-21 30.5-27.6 47.7l38.8 22.4-3.1 16.7c-2.9 15.9-2.9 32 0 47.9l3.1 16.7-38.8 22.4c6.6 17.2 15.9 33.4 27.6 47.7l38.8-22.4 12.9 11c12.3 10.5 26.2 18.6 41.3 23.9l16 5.7v44.7zm27.1-85.1c-22.6 0-45.2-8.6-62.4-25.8-34.4-34.4-34.4-90.4 0-124.8 34.4-34.4 90.4-34.4 124.8 0 34.4 34.4 34.4 90.4 0 124.8-17.3 17.2-39.9 25.8-62.4 25.8zm0-128.4c-10.3 0-20.6 3.9-28.5 11.8-15.7 15.7-15.7 41.2 0 56.9 15.7 15.7 41.2 15.7 56.9 0 15.7-15.7 15.7-41.2 0-56.9-7.8-7.9-18.1-11.8-28.4-11.8zM638.5 85c-1-5.8-6-10-11.9-10h-16.1c-3.5-9.9-8.8-19-15.5-26.8l8-13.9c2.9-5.1 1.8-11.6-2.7-15.3C591 11.3 580.5 5.1 569 .8c-5.5-2.1-11.8.1-14.7 5.3l-8 13.9c-10.2-1.9-20.7-1.9-30.9 0l-8-13.9c-3-5.1-9.2-7.3-14.7-5.3-11.5 4.3-22.1 10.5-31.4 18.2-4.5 3.7-5.7 10.2-2.7 15.3l8 13.9c-6.7 7.8-12 16.9-15.5 26.8H435c-5.9 0-11 4.3-11.9 10.2-2 12.2-1.9 24.5 0 36.2 1 5.8 6 10 11.9 10h16.1c3.5 9.9 8.8 19 15.5 26.8l-8 13.9c-2.9 5.1-1.8 11.6 2.7 15.3 9.3 7.7 19.9 13.9 31.4 18.2 5.5 2.1 11.8-.1 14.7-5.3l8-13.9c10.2 1.9 20.7 1.9 30.9 0l8 13.9c3 5.1 9.2 7.3 14.7 5.3 11.5-4.3 22.1-10.5 31.4-18.2 4.5-3.7 5.7-10.2 2.7-15.3l-8-13.9c6.7-7.8 12-16.9 15.5-26.8h16.1c5.9 0 11-4.3 11.9-10.2 1.9-12.2 1.9-24.4-.1-36.2zm-107.8 50.2c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm107.8 255.4c-1-5.8-6-10-11.9-10h-16.1c-3.5-9.9-8.8-19-15.5-26.8l8-13.9c2.9-5.1 1.8-11.6-2.7-15.3-9.3-7.7-19.9-13.9-31.4-18.2-5.5-2.1-11.8.1-14.7 5.3l-8 13.9c-10.2-1.9-20.7-1.9-30.9 0l-8-13.9c-3-5.1-9.2-7.3-14.7-5.3-11.5 4.3-22.1 10.5-31.4 18.2-4.5 3.7-5.7 10.2-2.7 15.3l8 13.9c-6.7 7.8-12 16.9-15.5 26.8h-16.1c-5.9 0-11 4.3-11.9 10.2-2 12.2-1.9 24.5 0 36.2 1 5.8 6 10 11.9 10H451c3.5 9.9 8.8 19 15.5 26.8l-8 13.9c-2.9 5.1-1.8 11.6 2.7 15.3 9.3 7.7 19.9 13.9 31.4 18.2 5.5 2.1 11.8-.1 14.7-5.3l8-13.9c10.2 1.9 20.7 1.9 30.9 0l8 13.9c3 5.1 9.2 7.3 14.7 5.3 11.5-4.3 22.1-10.5 31.4-18.2 4.5-3.7 5.7-10.2 2.7-15.3l-8-13.9c6.7-7.8 12-16.9 15.5-26.8h16.1c5.9 0 11-4.3 11.9-10.2 2-12.1 2-24.4 0-36.2zm-107.8 50.2c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"] };\nvar faColumns = { prefix: 'far', iconName: 'columns', icon: [512, 512, [], \"f0db\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM232 432H54a6 6 0 0 1-6-6V112h184v320zm226 0H280V112h184v314a6 6 0 0 1-6 6z\"] };\nvar faComment = { prefix: 'far', iconName: 'comment', icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentAlt = { prefix: 'far', iconName: 'comment-alt', icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"] };\nvar faCommentAltCheck = { prefix: 'far', iconName: 'comment-alt-check', icon: [512, 512, [], \"f4a2\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM332.7 130.4c-3.8-3.9-10.1-3.9-14-.1L231.4 217l-37.9-38.2c-3.8-3.9-10.1-3.9-14-.1l-23.4 23.2c-3.9 3.8-3.9 10.1-.1 14l68.1 68.6c3.8 3.9 10.1 3.9 14 .1l117.8-116.8c3.9-3.8 3.9-10.1.1-14l-23.3-23.4z\"] };\nvar faCommentAltDots = { prefix: 'far', iconName: 'comment-alt-dots', icon: [512, 512, [], \"f4a3\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM128 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm128 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm128 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"] };\nvar faCommentAltEdit = { prefix: 'far', iconName: 'comment-alt-edit', icon: [512, 512, [], \"f4a4\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM164.9 243.2l-4.8 42.8c-.6 5.7 4.2 10.6 10 10l42.8-4.8 85.5-85.5-48-48-85.5 85.5zm159.3-133.9c-7-7-18.4-7-25.4 0l-28.3 28.3 48 48 28.3-28.3c7-7 7-18.4 0-25.4l-22.6-22.6z\"] };\nvar faCommentAltExclamation = { prefix: 'far', iconName: 'comment-alt-exclamation', icon: [512, 512, [], \"f4a5\", \"M256 256c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM284.7 96h-57.4c-10 0-17.6 9.1-15.7 18.9l18 96c1.4 7.6 8 13.1 15.7 13.1h21.4c7.7 0 14.3-5.5 15.7-13.1l18-96c1.9-9.8-5.7-18.9-15.7-18.9z\"] };\nvar faCommentAltLines = { prefix: 'far', iconName: 'comment-alt-lines', icon: [512, 512, [], \"f4a6\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zm-96-216H144c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-96 96H144c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faCommentAltMinus = { prefix: 'far', iconName: 'comment-alt-minus', icon: [512, 512, [], \"f4a7\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM336 184H176c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faCommentAltPlus = { prefix: 'far', iconName: 'comment-alt-plus', icon: [512, 512, [], \"f4a8\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM336 184h-56v-56c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v56h-56c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h56v56c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-56h56c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faCommentAltSlash = { prefix: 'far', iconName: 'comment-alt-slash', icon: [640, 512, [], \"f4a9\", \"M634 471L36 3.5C29.1-2 19-.9 13.5 6l-10 12.5C-2 25.4-.9 35.5 6 41l58 45.3 41.6 32.5L604 508.5c6.9 5.5 17 4.4 22.5-2.5l10-12.5c5.5-6.9 4.4-17-2.5-22.5zM512 48c8.8 0 16 7.2 16 16v263.2l46.8 36.6c.7-3.8 1.2-7.8 1.2-11.8V64c0-35.3-28.7-64-64-64H128c-5.5 0-10.7.9-15.8 2.2L170.8 48H512zM339.2 377.6L272 428v-60H128c-8.8 0-16-7.2-16-16V184.8l-48-37.5V352c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L368 416h39.8l-58.6-45.8-10 7.4z\"] };\nvar faCommentAltSmile = { prefix: 'far', iconName: 'comment-alt-smile', icon: [512, 512, [], \"f4aa\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM325.8 240.2C308.5 260.4 283.1 272 256 272s-52.5-11.6-69.8-31.8c-8.6-10.1-23.8-11.3-33.8-2.7s-11.2 23.8-2.7 33.8c26.5 31 65.2 48.7 106.3 48.7s79.8-17.8 106.2-48.7c8.6-10.1 7.4-25.2-2.7-33.8-10-8.6-25.1-7.4-33.7 2.7zM192 192c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"] };\nvar faCommentAltTimes = { prefix: 'far', iconName: 'comment-alt-times', icon: [512, 512, [], \"f4ab\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288zM329.5 145.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 174.1l-39.6-39.6c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6l39.6 39.6-39.6 39.6c-6.2 6.2-6.2 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l39.6-39.6 39.6 39.6c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L289.9 208l39.6-39.6c6.3-6.2 6.3-16.4 0-22.6z\"] };\nvar faCommentCheck = { prefix: 'far', iconName: 'comment-check', icon: [512, 512, [], \"f4ac\", \"M332.7 162.4c-3.8-3.9-10.1-3.9-14-.1L231.4 249l-37.9-38.2c-3.8-3.9-10.1-3.9-14-.1l-23.4 23.2c-3.9 3.8-3.9 10.1-.1 14l68.1 68.6c3.8 3.9 10.1 3.9 14 .1l117.8-116.8c3.9-3.8 3.9-10.1.1-14l-23.3-23.4zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentDots = { prefix: 'far', iconName: 'comment-dots', icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentEdit = { prefix: 'far', iconName: 'comment-edit', icon: [512, 512, [], \"f4ae\", \"M164.9 275.2l-4.8 42.8c-.6 5.7 4.2 10.6 10 10l42.8-4.8 85.5-85.5-48-48-85.5 85.5zm159.3-133.9c-7-7-18.4-7-25.4 0l-28.3 28.3 48 48 28.3-28.3c7-7 7-18.4 0-25.4l-22.6-22.6zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentExclamation = { prefix: 'far', iconName: 'comment-exclamation', icon: [512, 512, [], \"f4af\", \"M256 288c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm28.7-160h-57.4c-10 0-17.6 9.1-15.7 18.9l18 96c1.4 7.6 8 13.1 15.7 13.1h21.4c7.7 0 14.3-5.5 15.7-13.1l18-96c1.9-9.8-5.7-18.9-15.7-18.9zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentLines = { prefix: 'far', iconName: 'comment-lines', icon: [512, 512, [], \"f4b0\", \"M368 168H144c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-96 96H144c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentMinus = { prefix: 'far', iconName: 'comment-minus', icon: [512, 512, [], \"f4b1\", \"M336 216H176c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentPlus = { prefix: 'far', iconName: 'comment-plus', icon: [512, 512, [], \"f4b2\", \"M336 216h-56v-56c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v56h-56c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h56v56c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-56h56c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentSlash = { prefix: 'far', iconName: 'comment-slash', icon: [640, 512, [], \"f4b3\", \"M320 80c114.7 0 208 71.8 208 160 0 25.3-7.9 49.1-21.5 70.4l37.9 29.6c20.1-29.6 31.6-63.7 31.6-100 0-114.9-114.6-208-256-208-48.2 0-93 11-131.5 29.8l43 33.6C258.4 85.6 288.3 80 320 80zm0 320c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C133.7 314.1 112 282.2 112 240c0-16.6 3.3-32.7 9.5-47.8L82.8 162c-12 24.1-18.8 50.4-18.8 78 0 47.6 19.9 91.2 52.9 126.3-14.9 39.4-45.9 72.8-46.4 73.2-6.6 7-8.4 17.2-4.6 26S78.4 480 88 480c61.5 0 110-25.7 139.1-46.3C256 442.8 287.2 448 320 448c37.5 0 73-6.7 105.1-18.5l-46.2-36.2c-18.7 4.3-38.5 6.7-58.9 6.7zm314 71L481.6 351.8l-6.8-5.3L36 3.5C29.1-2 19-.9 13.5 6l-10 12.5C-2 25.4-.9 35.5 6 41l598 467.5c6.9 5.5 17 4.4 22.5-2.5l10-12.5c5.5-6.9 4.4-17-2.5-22.5z\"] };\nvar faCommentSmile = { prefix: 'far', iconName: 'comment-smile', icon: [512, 512, [], \"f4b4\", \"M325.8 272.2C308.5 292.4 283.1 304 256 304s-52.5-11.6-69.8-31.8c-8.6-10.1-23.8-11.2-33.8-2.7-10.1 8.6-11.2 23.8-2.7 33.8 26.5 31 65.2 48.7 106.3 48.7s79.8-17.8 106.2-48.7c8.6-10.1 7.4-25.2-2.7-33.8-10-8.6-25.1-7.4-33.7 2.7zM192 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faCommentTimes = { prefix: 'far', iconName: 'comment-times', icon: [512, 512, [], \"f4b5\", \"M329.5 177.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 206.1l-39.6-39.6c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6l39.6 39.6-39.6 39.6c-6.2 6.2-6.2 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l39.6-39.6 39.6 39.6c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L289.9 240l39.6-39.6c6.3-6.2 6.3-16.4 0-22.6zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"] };\nvar faComments = { prefix: 'far', iconName: 'comments', icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"] };\nvar faCommentsAlt = { prefix: 'far', iconName: 'comments-alt', icon: [576, 512, [], \"f4b6\", \"M512 160h-96V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v160c0 35.3 28.7 64 64 64h32v52c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4l76.9-43.5V384c0 35.3 28.7 64 64 64h96l108.9 61.6c2.2 1.6 4.7 2.4 7.1 2.4 6.2 0 12-4.9 12-12v-52h32c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64zM96 240H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v160c0 8.8-7.2 16-16 16H211.4l-11 6.2-56.4 31.9V240H96zm432 144c0 8.8-7.2 16-16 16h-80v38.1l-56.4-31.9-11-6.2H256c-8.8 0-16-7.2-16-16v-96h112c35.3 0 64-28.7 64-64v-16h96c8.8 0 16 7.2 16 16v160z\"] };\nvar faCompass = { prefix: 'far', iconName: 'compass', icon: [512, 512, [], \"f14e\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm91.326-312.131l-33.359 137.779a24.005 24.005 0 0 1-6.772 11.729l-102.64 97.779c-17.104 16.293-45.56.434-39.88-23.024l33.359-137.779a23.997 23.997 0 0 1 6.772-11.729l102.642-97.779c17.285-16.47 45.494-.175 39.878 23.024zM256 224c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"] };\nvar faCompress = { prefix: 'far', iconName: 'compress', icon: [448, 512, [], \"f066\", \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v100h100c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v100H12c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h100v100c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm176 0V368h100c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z\"] };\nvar faCompressAlt = { prefix: 'far', iconName: 'compress-alt', icon: [448, 512, [], \"f422\", \"M224 232v-95.005c0-21.382 25.851-32.09 40.971-16.971l27.704 27.704L404.888 35.515c4.686-4.686 12.284-4.686 16.971 0l22.627 22.627c4.686 4.686 4.686 12.284 0 16.971L332.272 187.326l27.704 27.704c15.119 15.119 4.411 40.97-16.971 40.97H248c-13.255 0-24-10.745-24-24zM43.112 476.485l112.213-112.213 27.704 27.704c15.12 15.119 40.971 4.411 40.971-16.971V280c0-13.255-10.745-24-24-24h-95.005c-21.382 0-32.09 25.851-16.971 40.971l27.704 27.704L3.515 436.888c-4.686 4.686-4.686 12.284 0 16.971l22.627 22.627c4.686 4.686 12.284 4.686 16.97-.001z\"] };\nvar faCompressWide = { prefix: 'far', iconName: 'compress-wide', icon: [512, 512, [], \"f326\", \"M500 224H376c-13.3 0-24-10.7-24-24V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v100h100c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12zm-340-24V76c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v100H12c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 236V312c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h100v100c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm240 0V336h100c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12H376c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z\"] };\nvar faContainerStorage = { prefix: 'far', iconName: 'container-storage', icon: [640, 512, [], \"f4b7\", \"M640 64V48c0-8.8-7.2-16-16-16H16C7.2 32 0 39.2 0 48v16c0 8.8 7.2 16 16 16v352c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16V80c8.8 0 16-7.2 16-16zm-64 368H64V80h512v352zm-440-48h32c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm224 0h32c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm112 0h32c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8zm-224 0h32c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v240c0 4.4 3.6 8 8 8z\"] };\nvar faConveyorBelt = { prefix: 'far', iconName: 'conveyor-belt', icon: [640, 512, [], \"f46e\", \"M544 320H96c-53 0-96 43-96 96s43 96 96 96h448c53 0 96-43 96-96s-43-96-96-96zm0 144H96c-26.5 0-48-21.5-48-48s21.5-48 48-48h448c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-416-80c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm384 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-176-96h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm32-240h80v112l64-32 64 32V48h80v192H176V48z\"] };\nvar faConveyorBeltAlt = { prefix: 'far', iconName: 'conveyor-belt-alt', icon: [640, 512, [], \"f46f\", \"M544 320H96c-53 0-96 43-96 96s43 96 96 96h448c53 0 96-43 96-96s-43-96-96-96zm0 144H96c-26.5 0-48-21.5-48-48s21.5-48 48-48h448c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-416-80c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm384 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-208-96h416c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H384V16c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm272-176h112v128H384V112zM144 48h192v192H144V48z\"] };\nvar faCopy = { prefix: 'far', iconName: 'copy', icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"] };\nvar faCopyright = { prefix: 'far', iconName: 'copyright', icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"] };\nvar faCouch = { prefix: 'far', iconName: 'couch', icon: [640, 512, [], \"f4b8\", \"M576 196.6V128c0-53-43-96-96-96H160c-53 0-96 43-96 96v68.6C29.4 207.3 3.1 236.9.3 273-2 302 9.9 329.5 32 347.6V440c0 22.1 17.9 40 40 40h88c4 0 30.2-.9 31.9-32h256.2c1.4 30.8 28 32 31.9 32h88c22.1 0 40-17.9 40-40v-92.4c22-18.1 34-45.5 31.7-74.6-2.8-36.1-29.1-65.7-63.7-76.4zM144 432H80V321.3l-11.9-7C54.6 306.5 47 292 48.2 276.7 49.7 256.5 69.4 240 92 240h12c22.1 0 40 17.9 40 40v152zm304-128v96H192v-96h256zm3.7-48H188.2c-9.8-34.3-39.7-59.8-76.2-63.2V128c0-26.5 21.5-48 48-48h320c26.5 0 48 21.5 48 48v64.8c-36.6 3.4-66.5 28.9-76.3 63.2zm120.2 58.4l-11.9 7V432h-64V280c0-22.1 17.9-40 40-40h12c22.6 0 42.3 16.5 43.9 36.8 1.1 15.3-6.5 29.7-20 37.6z\"] };\nvar faCreditCard = { prefix: 'far', iconName: 'credit-card', icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"] };\nvar faCreditCardBlank = { prefix: 'far', iconName: 'credit-card-blank', icon: [576, 512, [], \"f389\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zm-6 400H54.1c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h467.8c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6zM192 364v8c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v8c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"] };\nvar faCreditCardFront = { prefix: 'far', iconName: 'credit-card-front', icon: [576, 512, [], \"f38a\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zm-6 400H54.1c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h467.8c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6zM192 364v8c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v8c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12zm-124-44h-56c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm28-12v-40c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12zm-192 0v-40c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12zm384-40v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm0-132v48c0 13.3-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24v-48c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24z\"] };\nvar faCricket = { prefix: 'far', iconName: 'cricket', icon: [640, 512, [], \"f449\", \"M635.7 31.9l-15.2-21.6c-7.6-10.8-22.6-13.5-33.4-5.9L442.6 105.9c-14.5 10.1-34.4 6.6-44.5-7.8L385.4 80c-9.9-14-29.7-18.2-44.5-7.8L13.8 300.7C4.9 306.9-.7 317.2.1 328c5.6 79.3 54.7 149.2 127.4 181.6 15.4 6.9 28.9-2.5 30.4-3.5L485 277.6c14.5-10.1 18-30 7.9-44.4l-15.3-21.8c-10.1-14.4-6.6-34.3 7.9-44.4L629.8 65.2c10.8-7.6 13.5-22.5 5.9-33.3zM138 461.5c-48.8-25.3-82-72.6-89.1-126.9l224.8-157.1-19.1 107.9 108.2 19L138 461.5zM437.8 252l-37.9 26.5-108.2-19 19.1-107.9 37.9-26.5c3.6-2.5 8.6-1.6 11.1 2L439.7 241c2.6 3.5 1.7 8.5-1.9 11zm73.8 68.5c-52.9 0-95.9 42.9-95.9 95.7s43 95.7 95.9 95.7 95.9-42.9 95.9-95.7-43-95.7-95.9-95.7zm0 143.6c-26.4 0-48-21.5-48-47.9s21.5-47.9 48-47.9c26.4 0 48 21.5 48 47.9 0 26.5-21.5 47.9-48 47.9z\"] };\nvar faCrop = { prefix: 'far', iconName: 'crop', icon: [513, 512, [], \"f125\", \"M488 384h-40V99.2l61.9-61.7c4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0L415.3 64H128V24c0-13.3-10.7-24-24-24H88C74.7 0 64 10.7 64 24v40H24C10.7 64 0 74.7 0 88v16c0 13.3 10.7 24 24 24h40v296c0 13.3 10.7 24 24 24h296v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24zM351 128L128 350.2V128h223zM162 384l222-221.1V384H162z\"] };\nvar faCrosshairs = { prefix: 'far', iconName: 'crosshairs', icon: [512, 512, [], \"f05b\", \"M500 232h-29.334C459.597 131.885 380.115 52.403 280 41.334V12c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v29.334C131.885 52.403 52.403 131.885 41.334 232H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h29.334C52.403 380.115 131.885 459.597 232 470.666V500c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12v-29.334C380.115 459.597 459.597 380.115 470.666 280H500c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zM280 422.301V380c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v42.301C158.427 411.84 100.154 353.532 89.699 280H132c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H89.699C100.16 158.427 158.468 100.154 232 89.699V132c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V89.699C353.573 100.16 411.846 158.468 422.301 232H380c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h42.301C411.84 353.573 353.532 411.846 280 422.301zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"] };\nvar faCube = { prefix: 'far', iconName: 'cube', icon: [512, 512, [], \"f1b2\", \"M239.1 7.5l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V130.5c0-20-12.4-37.9-31.1-44.9l-208-78C262 3.4 250 3.4 239.1 7.5zm16.9 45l208 78v.3l-208 84.5-208-84.5v-.3l208-78zM48 182.6l184 74.8v190.2l-184-92v-173zm232 264.9V257.4l184-74.8v172.9l-184 92z\"] };\nvar faCubes = { prefix: 'far', iconName: 'cubes', icon: [512, 512, [], \"f1b3\", \"M384 215.1V102.5c0-15-9.3-28.4-23.4-33.7l-92-34.5c-8.1-3.1-17.1-3.1-25.3 0l-92 34.5c-14.1 5.3-23.4 18.7-23.4 33.7v112.6L23.4 254.4C9.3 259.6 0 273.1 0 288.1v106.6c0 13.6 7.7 26.1 19.9 32.2l98.6 49.3c10.1 5.1 22.1 5.1 32.2 0L256 423.6l105.3 52.6c10.1 5.1 22.1 5.1 32.2 0l98.6-49.3c12.2-6.1 19.9-18.6 19.9-32.2V288.1c0-15-9.3-28.4-23.4-33.7L384 215.1zm-116 34.8V152l92-31.7v97.6l-92 32zM152 94.2l104-39 104 39v.2L256 131 152 94.3v-.1zm0 26.1l92 31.7v97.9l-92-32v-97.6zm-30 329.4l-96.8-48.4V308l96.8 39.3v102.4zM25.2 280.8v-.2l109.4-41 108.1 40.5v1.2l-108.1 43.9-109.4-44.4zm122 66.5l95.5-38.8V402l-95.5 47.8V347.3zm217.6 102.4L269.3 402v-93.4l95.5 38.8v102.3zm122-48.4L390 449.7V347.3l96.8-39.3v93.3zm0-120.5l-109.4 44.4-108.1-43.9v-1.2l108.1-40.5 109.4 41v.2z\"] };\nvar faCurling = { prefix: 'far', iconName: 'curling', icon: [640, 512, [], \"f44a\", \"M540.5 199.7C529.7 158.5 492.6 128 448 128H288v-16c0-26.5 21.5-48 48-48h128c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H336c-61.9 0-112 50.1-112 112v16h-32c-44.6 0-81.7 30.5-92.5 71.7C41.9 218.6 0 272.1 0 336v32c0 79.5 64.5 144 144 144h352c79.5 0 144-64.5 144-144v-32c0-63.9-41.9-117.4-99.5-136.3zM144 240h352c52.9 0 96 43.1 96 96H48c0-52.9 43.1-96 96-96zm352 224H144c-52.9 0-96-43.1-96-96h544c0 52.9-43.1 96-96 96z\"] };\nvar faCut = { prefix: 'far', iconName: 'cut', icon: [448, 512, [], \"f0c4\", \"M263.391 256L445.657 73.372a8 8 0 0 0 0-11.313c-18.745-18.745-49.137-18.745-67.882 0L223.822 216.352l-43.097-43.183C187.917 159.706 192 144.331 192 128c0-53.019-42.981-96-96-96S0 74.981 0 128s42.981 96 96 96c16.307 0 31.662-4.071 45.111-11.245L184.261 256l-43.149 43.245C127.662 292.071 112.307 288 96 288c-53.019 0-96 42.981-96 96s42.981 96 96 96 96-42.981 96-96c0-16.331-4.083-31.706-11.275-45.169l43.097-43.183 153.953 154.293c18.745 18.745 49.137 18.745 67.882 0a8 8 0 0 0 0-11.313L263.391 256zM96 176c-26.467 0-48-21.533-48-48s21.533-48 48-48 48 21.533 48 48-21.533 48-48 48zm0 256c-26.467 0-48-21.533-48-48s21.533-48 48-48 48 21.533 48 48-21.533 48-48 48zm128-168a8 8 0 1 1 0-16 8 8 0 0 1 0 16z\"] };\nvar faDatabase = { prefix: 'far', iconName: 'database', icon: [448, 512, [], \"f1c0\", \"M224 48c97.167 0 176 27.723 176 61.714v4.571C400 148.277 321.167 176 224 176S48 148.277 48 114.286v-4.571C48 75.723 126.833 48 224 48m176 135.018v26.399c0 33.991-78.833 61.714-176 61.714S48 243.408 48 209.417v-26.399C85.813 210.982 155.021 224 224 224s138.187-13.018 176-40.982m0 96v26.834c0 33.991-78.833 61.714-176 61.714S48 339.842 48 305.851v-26.834C85.813 306.982 155.021 320 224 320s138.187-13.018 176-40.982m0 96v27.268C400 436.277 321.167 464 224 464S48 436.277 48 402.286v-27.268C85.813 402.982 155.021 416 224 416s138.187-13.018 176-40.982M224 0C137.052 0 0 23.26 0 109.714v292.571C0 488.758 137.03 512 224 512c86.948 0 224-23.26 224-109.714V109.714C448 23.242 310.97 0 224 0z\"] };\nvar faDeaf = { prefix: 'far', iconName: 'deaf', icon: [512, 512, [], \"f2a4\", \"M404.486 124.485l-16.971-16.971c-4.686-4.686-4.686-12.284 0-16.971l87.029-87.029c4.686-4.686 12.284-4.686 16.971 0l16.971 16.971c4.686 4.686 4.686 12.284 0 16.971l-87.029 87.029c-4.687 4.687-12.285 4.687-16.971 0zm-367.03 384l151.029-151.029c4.686-4.686 4.686-12.284 0-16.971l-16.971-16.971c-4.686-4.686-12.284-4.686-16.971 0L3.515 474.544c-4.686 4.686-4.686 12.284 0 16.971l16.971 16.971c4.686 4.686 12.284 4.686 16.97-.001zM351.15 397.282C351.901 351.835 424 338.659 424 264c0-93.516-75.03-168-168-168-93.134 0-168 74.662-168 168 0 13.255 10.745 24 24 24s24-10.745 24-24c0-67.05 53.62-120 120-120 66.503 0 120 53.082 120 120 0 48.824-71.843 60.62-72.849 132.757l-.002.334c0 36.894-29.607 66.909-66 66.909-13.255 0-24 10.745-24 24s10.745 24 24 24c62.796 0 113.894-51.446 114.001-114.718zM320 288c-13.255 0-24-10.745-24-24 0-22.056-17.944-40-40-40s-40 17.944-40 40c0 13.255-10.745 24-24 24s-24-10.745-24-24c0-48.523 39.477-88 88-88s88 39.477 88 88c0 13.255-10.745 24-24 24z\"] };\nvar faDesktop = { prefix: 'far', iconName: 'desktop', icon: [576, 512, [], \"f108\", \"M528 0H48C21.5 0 0 21.5 0 48v288c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V54c0-3.3 2.7-6 6-6h468c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-42 152c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h98.7l18.6-55.8c1.6-4.9 6.2-8.2 11.4-8.2h78.7c5.2 0 9.8 3.3 11.4 8.2l18.6 55.8H456c13.3 0 24 10.7 24 24z\"] };\nvar faDesktopAlt = { prefix: 'far', iconName: 'desktop-alt', icon: [576, 512, [], \"f390\", \"M528 0H48C21.5 0 0 21.5 0 48v288c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM48 54c0-3.3 2.7-6 6-6h468c3.3 0 6 2.7 6 6v234H48V54zm432 434c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h98.7l18.6-55.8c1.6-4.9 6.2-8.2 11.4-8.2h78.7c5.2 0 9.8 3.3 11.4 8.2l18.6 55.8H456c13.3 0 24 10.7 24 24z\"] };\nvar faDiagnoses = { prefix: 'far', iconName: 'diagnoses', icon: [640, 512, [], \"f470\", \"M632 464H8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h624c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8zM256 304c0 8.8 7.2 16 16 16s16-7.2 16-16-7.2-16-16-16-16 7.2-16 16zm240-48c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM96 272c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm488.6 56.4l-17.8 26.7c-3.1 4.6-8.1 7.2-13.3 7.2-9.8 0-55.6-34.9-137.5-58.9V416h48v-43.8c26.3 11.7 46.7 23.1 57 29.2 9.9 5.8 21.1 8.9 32.5 8.9 21.4 0 41.3-10.7 53.2-28.6l17.8-26.7c9.7-14.6 13.1-32.7 9.2-49.7-3.8-16.9-14.5-31.7-29.4-40.6-13.8-8.3-35.3-20.1-61.2-32.3 4.2 26.5-13.3 41.5-17.4 44.9 23.2 11.1 42.2 21.6 53.9 28.6 8 4.7 10.1 14.9 5 22.5zM33.2 381.7c11.9 17.9 31.8 28.6 53.2 28.6 11.4 0 22.7-3.1 32.5-8.9 10.3-6.1 30.7-17.5 57-29.2V416h48V303.4C142.8 327.2 96 362.3 86.4 362.3c-5.2 0-10.2-2.5-13.3-7.2l-17.8-26.7c-5.1-7.6-2.9-17.8 4.9-22.5 3.6-2.2 8.5-4.9 13.4-7.7-14.7-7.8-24.9-23-25.5-40.7-4.4 2.5-9.1 5.1-12.6 7.2-14.9 8.9-25.6 23.7-29.4 40.6-3.8 17-.5 35.1 9.2 49.7l17.9 26.7zm110-117.3C192.7 243.5 255.7 224 320 224c44.9 0 89 9.6 128.6 22.4-3.6-26.6 14.1-41.1 18.3-44.4-19.9-6.6-41.1-12.3-63-16.8 17.2-19.7 28-45.1 28-73.3C432 50.2 381.8 0 320 0c-61.8 0-112 50.2-112 112 0 28 10.7 53.4 27.8 73.1-39.8 8.1-77.1 20.8-109.3 34.2 15.3 12.7 19.3 30.2 16.7 45.1zM320 48c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm32 336c0 8.8 7.2 16 16 16s16-7.2 16-16-7.2-16-16-16-16 7.2-16 16z\"] };\nvar faDiamond = { prefix: 'far', iconName: 'diamond', icon: [448, 512, [], \"f219\", \"M189.5 496L11 285.7c-14.6-17.2-14.6-42.2 0-59.5L189.5 16c18.1-21.4 50.9-21.3 69 0L437 226.3c14.6 17.2 14.6 42.2 0 59.5L258.5 496c-18.1 21.4-50.9 21.3-69 0zM48 256l176 206.5L400 256 224 49.5 48 256z\"] };\nvar faDna = { prefix: 'far', iconName: 'dna', icon: [384, 512, [], \"f471\", \"M384 16.9C384.5 9 378.8 0 368.6 0h-15.4c-8.1 0-14.7 6.2-15.3 14.4-.3 4.5-1 10.5-2.2 17.6h-287c-1.2-7.1-2.1-13.4-2.5-17.7C45.5 6.2 38.9 0 30.9 0H15.4C3.9 0-.4 10.7 0 16.9c2.1 29.5 16.3 126.8 108.5 208.8 12.6-9.3 26.2-18.2 40.9-26.7-9.1-7.5-17-15.2-24.6-23h135.5c-20.6 20.9-46.4 41.3-79.3 59.3C24.2 321.5 2.8 456 0 495.1-.5 503 5.2 512 15.4 512h15.4c8.1 0 14.7-6.2 15.3-14.4.3-4.5 1-10.5 2.2-17.6h287.1c1.2 7.1 2 13.2 2.4 17.7.7 8.1 7.3 14.3 15.3 14.3h15.5c10.2 0 15.9-9 15.3-16.8-2.6-35.7-21.2-153-147.9-238.9C362.7 170.6 381.4 53.1 384 16.9zM61.6 432c5.7-15 13.6-31.3 24.2-48h211.9c10.6 16.8 18.5 33 24.3 48H61.6zM192 283.2c27.4 16.3 49.4 34.3 67.5 52.8H124.2c18.1-18.4 40.2-36.4 67.8-52.8zM322.6 80c-5.7 14.9-13.5 31.2-24.1 48H86.8c-10.6-16.8-18.6-33-24.4-48h260.2z\"] };\nvar faDollarSign = { prefix: 'far', iconName: 'dollar-sign', icon: [288, 512, [], \"f155\", \"M211.9 242.1L95.6 208.9c-15.8-4.5-28.6-17.2-31.1-33.5C60.6 150 80.3 128 105 128h73.8c15.9 0 31.5 5 44.4 14.1 6.4 4.5 15 3.8 20.5-1.7l22.9-22.9c6.8-6.8 6.1-18.2-1.5-24.1C240.4 74.3 210.4 64 178.8 64H176V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C60.3 64 14.9 95.8 3.1 143.6c-13.9 56.2 20.2 111.2 73 126.3l116.3 33.2c15.8 4.5 28.6 17.2 31.1 33.5C227.4 362 207.7 384 183 384h-73.8c-15.9 0-31.5-5-44.4-14.1-6.4-4.5-15-3.8-20.5 1.7l-22.9 22.9c-6.8 6.8-6.1 18.2 1.5 24.1 24.6 19.1 54.6 29.4 86.3 29.4h2.8v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h2.5c49.2 0 94.6-31.8 106.4-79.6 13.9-56.2-20.2-111.2-73-126.3z\"] };\nvar faDolly = { prefix: 'far', iconName: 'dolly', icon: [576, 512, [], \"f472\", \"M575.2 309.9l-5.1-15.2c-2.8-8.4-11.9-12.9-20.2-10.1L531 291 459.1 75.3C455.7 65.2 448.6 57 439 52.2c-9.5-4.7-20.4-5.5-30.5-2.2l-221.9 74L158 38.3C150.4 15.4 129 0 105 0H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h88.9c3.4 0 6.5 2.2 7.6 5.5l93.6 280.8c-27.6 16.9-46.2 47-46.2 81.7 0 53 43 96 96 96s96-43 96-96c0-4.9-.7-9.5-1.4-14.2L565 330.2c8.4-2.8 13-11.9 10.2-20.3zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm75.6-106.5C314 334.8 286.9 320 256 320c-1.3 0-2.6.3-3.9.4l-50.3-150.8 86.5-28.8 19.9 59.7c2.8 8.4 11.9 12.9 20.2 10.1l15.2-5.1c8.4-2.8 12.9-11.9 10.1-20.2l-19.9-59.7 82.3-27.4 69.4 208.1-153.9 51.2z\"] };\nvar faDollyEmpty = { prefix: 'far', iconName: 'dolly-empty', icon: [576, 512, [], \"f473\", \"M575.2 309.9l-5.1-15.2c-2.8-8.4-11.9-12.9-20.2-10.1l-218.3 72.9C314 334.8 286.9 320 256 320c-1.3 0-2.6.3-3.9.4l-94-282.1C150.4 15.4 129 0 105 0H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h88.9c3.4 0 6.5 2.2 7.6 5.5l93.6 280.8c-27.6 16.9-46.2 47-46.2 81.7 0 53 43 96 96 96s96-43 96-96c0-4.9-.7-9.5-1.4-14.2L565 330.2c8.4-2.8 13-11.9 10.2-20.3zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"] };\nvar faDollyFlatbed = { prefix: 'far', iconName: 'dolly-flatbed', icon: [640, 512, [], \"f474\", \"M208 352h384c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm32-240h112v112l48-32 48 32V112h112v192H240V112zm384 288H144V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h80v384c0 8.8 7.2 16 16 16h50.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faDollyFlatbedAlt = { prefix: 'far', iconName: 'dolly-flatbed-alt', icon: [640, 512, [], \"f475\", \"M208 352h384c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm208-240h80v80h-80v-80zm0 128h144v64H416v-64zM240 112h128v192H240V112zm384 288H144V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h80v384c0 8.8 7.2 16 16 16h50.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faDollyFlatbedEmpty = { prefix: 'far', iconName: 'dolly-flatbed-empty', icon: [640, 512, [], \"f476\", \"M624 400H144V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h80v384c0 8.8 7.2 16 16 16h50.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faDonate = { prefix: 'far', iconName: 'donate', icon: [512, 512, [], \"f4b9\", \"M225.6 232.3l50.1 14.3c3.6 1 6.1 4.4 6.1 8.1 0 4.6-3.8 8.4-8.4 8.4h-32.8c-3.6 0-7.1-.8-10.3-2.2-4.8-2.2-10.4-1.7-14.1 2l-17.5 17.5c-5.3 5.3-4.7 14.3 1.5 18.4 9.5 6.3 20.4 10.1 31.8 11.5V328c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-17.6c30.3-3.6 53.4-31 49.3-63-2.9-23-20.7-41.3-42.9-47.7l-50.1-14.3c-3.6-1-6.1-4.4-6.1-8.1 0-4.6 3.8-8.4 8.4-8.4h32.8c3.6 0 7.1.8 10.3 2.2 4.8 2.2 10.4 1.7 14.1-2l17.5-17.5c5.3-5.3 4.7-14.3-1.5-18.4-9.5-6.3-20.4-10.1-31.8-11.5V104c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.6c-30.3 3.6-53.4 31-49.3 63 2.9 23 20.6 41.3 42.9 47.7zM480 320h-34.7c17-30.9 26.7-66.3 26.7-104C472 96.7 375.3 0 256 0S40 96.7 40 216c0 37.7 9.7 73.1 26.7 104H32c-17.7 0-32 17.2-32 38.4v115.2C0 494.8 14.3 512 32 512h448c17.7 0 32-17.2 32-38.4V358.4c0-21.2-14.3-38.4-32-38.4zM256 48c92.6 0 168 75.4 168 168s-75.4 168-168 168S88 308.6 88 216 163.4 48 256 48zm208 416H48v-96h54.6c12.2 12.3 25.9 22.9 40.7 32H104c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8h-39.3c14.8-9.1 28.5-19.7 40.7-32H464v96z\"] };\nvar faDotCircle = { prefix: 'far', iconName: 'dot-circle', icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"] };\nvar faDove = { prefix: 'far', iconName: 'dove', icon: [512, 512, [], \"f4ba\", \"M368 160.2c0 8.8 7.2 16 16 16s16-7.2 16-16-7.2-16-16-16c-8.9 0-16 7.2-16 16zM384 64c-46.2 0-84.8 32.8-93.9 76.4-29-36.6-49-79.8-56.2-126.5C231.8.6 215-5.1 206 5.5c-25.1 29.6-44.3 65.1-55 105.1-1.6 5.8-2.4 11.7-3.4 17.5-25.4-24.4-46.3-53.5-60.6-86.3-5.5-12.6-23.3-13.1-29.1-.7-16.1 34.1-25.3 72-25.9 112-1.3 96.1 54.8 163.1 95.9 199.4L13.8 391C1.6 394.3-3.9 409.2 3 420.3c19.8 32.3 68.9 87 174.8 91.6 13.5.6 17.6-4.6 25.2-9.4l76.4-54.1H320c88.4 0 160-71.7 160-160.1V159.9L512 64H384zm-186.6 59c2.6-9.7 5.8-19.1 9.6-28.2 15.9 38.4 39.9 72.9 69.3 102.4-30.2-6.8-58.6-18.2-84.1-34.1.4-13.7 1.8-27.2 5.2-40.1zM432 152.1v136.1c0 61.8-50.2 111.7-112 111.7h-55.9l-89.4 63.7c-52.3-3.3-85.9-21.4-107-40.2l154-52C165.9 324.9 78.6 261.1 80 153.7c.1-9 .8-17 1.9-25.7C174.6 249.1 320 256 336 256v-95.8c0-26.6 21.5-48.1 48-48.1h61.4l-13.4 40z\"] };\nvar faDownload = { prefix: 'far', iconName: 'download', icon: [576, 512, [], \"f019\", \"M528 288h-92.1l46.1-46.1c30.1-30.1 8.8-81.9-33.9-81.9h-64V48c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v112h-64c-42.6 0-64.2 51.7-33.9 81.9l46.1 46.1H48c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48zm-400-80h112V48h96v160h112L288 368 128 208zm400 256H48V336h140.1l65.9 65.9c18.8 18.8 49.1 18.7 67.9 0l65.9-65.9H528v128zm-88-64c0-13.3 10.7-24 24-24s24 10.7 24 24-10.7 24-24 24-24-10.7-24-24z\"] };\nvar faDumbbell = { prefix: 'far', iconName: 'dumbbell', icon: [640, 512, [], \"f44b\", \"M632 224h-24v-72c0-30.9-25.1-56-56-56h-32c-2.7 0-5.4.4-8 .8V88c0-30.9-25.1-56-56-56h-32c-30.9 0-56 25.1-56 56v136h-96V88c0-30.9-25.1-56-56-56h-32c-30.9 0-56 25.1-56 56v8.8c-2.6-.4-5.3-.8-8-.8H88c-30.9 0-56 25.1-56 56v72H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v72c0 30.9 25.1 56 56 56h32c2.7 0 5.4-.4 8-.8v8.8c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V288h96v136c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56v-8.8c2.6.4 5.3.8 8 .8h32c30.9 0 56-25.1 56-56v-72h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM120 368H88c-4.4 0-8-3.6-8-8V152c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v208c0 4.4-3.6 8-8 8zm104 56c0 4.4-3.6 8-8 8h-32c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v336zm240 0c0 4.4-3.6 8-8 8h-32c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v336zm96-64c0 4.4-3.6 8-8 8h-32c-4.4 0-8-3.6-8-8V152c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v208z\"] };\nvar faEdit = { prefix: 'far', iconName: 'edit', icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"] };\nvar faEject = { prefix: 'far', iconName: 'eject', icon: [448, 512, [], \"f052\", \"M400 320H48c-26.51 0-48 21.49-48 48v64c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-64c0-26.51-21.49-48-48-48zm0 112H48v-64h352v64zM48.048 304h351.895c42.637 0 64.151-51.731 33.941-81.941l-175.943-176c-18.745-18.745-49.137-18.746-67.882 0l-175.952 176C-16.042 252.208 5.325 304 48.048 304zM224 80l176 176H48L224 80z\"] };\nvar faEllipsisH = { prefix: 'far', iconName: 'ellipsis-h', icon: [512, 512, [], \"f141\", \"M304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm120-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-336 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"] };\nvar faEllipsisHAlt = { prefix: 'far', iconName: 'ellipsis-h-alt', icon: [512, 512, [], \"f39b\", \"M256 184c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24zm176-96c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24zM80 184c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"] };\nvar faEllipsisV = { prefix: 'far', iconName: 'ellipsis-v', icon: [128, 512, [], \"f142\", \"M64 208c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zM16 104c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm0 304c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48z\"] };\nvar faEllipsisVAlt = { prefix: 'far', iconName: 'ellipsis-v-alt', icon: [192, 512, [], \"f39c\", \"M96 184c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24zm0 80c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24zm0-304c39.8 0 72-32.2 72-72S135.8 8 96 8 24 40.2 24 80s32.2 72 72 72zm0-96c13.2 0 24 10.8 24 24s-10.8 24-24 24-24-10.8-24-24 10.8-24 24-24z\"] };\nvar faEnvelope = { prefix: 'far', iconName: 'envelope', icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"] };\nvar faEnvelopeOpen = { prefix: 'far', iconName: 'envelope-open', icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"] };\nvar faEnvelopeSquare = { prefix: 'far', iconName: 'envelope-square', icon: [448, 512, [], \"f199\", \"M187.293 260.374C114.743 210.491 115.482 210.366 96 196v-12c0-13.255 10.745-24 24-24h208c13.255 0 24 10.745 24 24v12c-19.497 14.376-18.747 14.494-91.293 64.374-8.414 5.812-25.104 19.79-36.707 19.625-11.6.166-28.296-13.816-36.707-19.625zm91.563 26.355C267.519 294.575 247.377 312.105 224 312c-23.241.104-43.082-17.118-54.849-25.266-45.054-30.977-62.02-42.883-73.151-50.958V328c0 13.255 10.745 24 24 24h208c13.255 0 24-10.745 24-24v-92.224c-11.13 8.074-28.094 19.978-73.144 50.953zM448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-48 346V86a6 6 0 0 0-6-6H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6z\"] };\nvar faEraser = { prefix: 'far', iconName: 'eraser', icon: [512, 512, [], \"f12d\", \"M497.942 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.746-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48 48 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H339.883l158.059-158.059zM304 80l160 160-103.029 103.029-160-160L304 80zM144 432l-96-96 119.03-119.029 160 160L272 432H144z\"] };\nvar faEuroSign = { prefix: 'far', iconName: 'euro-sign', icon: [320, 512, [], \"f153\", \"M315.595 458.559l-6.504-29.443c-1.446-6.544-7.962-10.628-14.485-9.087-10.306 2.435-26.461 5.352-44.699 5.352-65.469 0-117.018-39.532-138.208-97.382h129.515a12 12 0 0 0 11.749-9.558l4.989-24c1.549-7.45-4.139-14.442-11.749-14.442H98.159c-1.495-16.139-2.068-32.264-.591-48H260.06a12 12 0 0 0 11.737-9.499l5.114-24c1.591-7.466-4.103-14.501-11.737-14.501H108.057c21.02-58.359 72.527-97.995 140.009-97.995 14.663 0 28.909 2.084 38.245 3.823 6.167 1.149 12.175-2.635 13.796-8.695l7.907-29.567c1.809-6.766-2.528-13.633-9.416-14.902C287.192 34.562 269.204 32 249.294 32 149.268 32 69.61 96.076 43.43 184H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h23.129c-1.159 15.771-1.031 35.474.383 48H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h32.248c25.98 88.704 103.428 152 205.045 152 24.402 0 45.381-4.155 57.538-7.221 6.288-1.585 10.163-7.889 8.764-14.22z\"] };\nvar faExchange = { prefix: 'far', iconName: 'exchange', icon: [512, 512, [], \"f0ec\", \"M508.485 168.485l-100.375 100c-4.686 4.686-12.284 4.686-16.97 0l-19.626-19.626c-4.753-4.753-4.675-12.484.173-17.14L422.916 184H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h410.916l-51.228-47.719c-4.849-4.656-4.927-12.387-.173-17.14l19.626-19.626c4.686-4.686 12.284-4.686 16.97 0l100.375 100c4.685 4.686 4.685 12.284-.001 16.97zm-504.97 192l100.375 100c4.686 4.686 12.284 4.686 16.97 0l19.626-19.626c4.753-4.753 4.675-12.484-.173-17.14L89.084 376H500c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H89.084l51.228-47.719c4.849-4.656 4.927-12.387.173-17.14l-19.626-19.626c-4.686-4.686-12.284-4.686-16.97 0l-100.375 100c-4.686 4.686-4.686 12.284.001 16.97z\"] };\nvar faExchangeAlt = { prefix: 'far', iconName: 'exchange-alt', icon: [512, 512, [], \"f362\", \"M508.485 168.48l-96.16 96.16c-7.58 7.58-20.485 2.14-20.485-8.485L391.833 184H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h379.833l.01-72.162c.001-10.683 12.949-16.022 20.485-8.485l96.156 96.156c4.687 4.686 4.688 12.285.001 16.971zM3.515 360.491l96.156 96.156c7.536 7.536 20.484 2.198 20.485-8.485l.01-72.162H500c6.627 0 12-5.373 12-12v-24c0-6.628-5.373-12-12-12H120.167l-.007-72.154c0-10.625-12.905-16.066-20.485-8.485l-96.16 96.16c-4.687 4.685-4.686 12.284 0 16.97z\"] };\nvar faExclamation = { prefix: 'far', iconName: 'exclamation', icon: [256, 512, [], \"f12a\", \"M173.854 48c6.874 0 12.343 5.763 11.984 12.628l-11.742 224c-.334 6.375-5.6 11.372-11.984 11.372H93.888c-6.383 0-11.65-4.997-11.984-11.372l-11.742-224C69.802 53.763 75.271 48 82.146 48h91.708M128 336c35.29 0 64 28.71 64 64s-28.71 64-64 64-64-28.71-64-64 28.71-64 64-64M173.854 0H82.146C47.881 0 20.427 28.783 22.228 63.141l11.742 224c.698 13.309 5.689 25.414 13.592 35.001C28.035 342.31 16 369.777 16 400c0 61.757 50.243 112 112 112s112-50.243 112-112c0-30.223-12.035-57.69-31.561-77.858a59.78 59.78 0 0 0 13.592-35.001l11.742-224C235.566 28.922 208.259 0 173.854 0z\"] };\nvar faExclamationCircle = { prefix: 'far', iconName: 'exclamation-circle', icon: [512, 512, [], \"f06a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm42-104c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42zm-81.37-211.401l6.8 136c.319 6.387 5.591 11.401 11.985 11.401h41.17c6.394 0 11.666-5.014 11.985-11.401l6.8-136c.343-6.854-5.122-12.599-11.985-12.599h-54.77c-6.863 0-12.328 5.745-11.985 12.599z\"] };\nvar faExclamationSquare = { prefix: 'far', iconName: 'exclamation-square', icon: [448, 512, [], \"f321\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-48 346V86a6 6 0 0 0-6-6H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6zm-134-74c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42zm-81.37-211.401l6.8 136c.319 6.387 5.591 11.401 11.985 11.401h41.17c6.394 0 11.666-5.014 11.985-11.401l6.8-136c.343-6.854-5.122-12.599-11.985-12.599h-54.77c-6.863 0-12.328 5.745-11.985 12.599z\"] };\nvar faExclamationTriangle = { prefix: 'far', iconName: 'exclamation-triangle', icon: [576, 512, [], \"f071\", \"M248.747 204.705l6.588 112c.373 6.343 5.626 11.295 11.979 11.295h41.37a12 12 0 0 0 11.979-11.295l6.588-112c.405-6.893-5.075-12.705-11.979-12.705h-54.547c-6.903 0-12.383 5.812-11.978 12.705zM330 384c0 23.196-18.804 42-42 42s-42-18.804-42-42 18.804-42 42-42 42 18.804 42 42zm-.423-360.015c-18.433-31.951-64.687-32.009-83.154 0L6.477 440.013C-11.945 471.946 11.118 512 48.054 512H527.94c36.865 0 60.035-39.993 41.577-71.987L329.577 23.985zM53.191 455.002L282.803 57.008c2.309-4.002 8.085-4.002 10.394 0l229.612 397.993c2.308 4-.579 8.998-5.197 8.998H58.388c-4.617.001-7.504-4.997-5.197-8.997z\"] };\nvar faExpand = { prefix: 'far', iconName: 'expand', icon: [448, 512, [], \"f065\", \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H48v100c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v24c0 6.6 5.4 12 12 12h100v100c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-24c-6.6 0-12 5.4-12 12v100H300c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-24c0-6.6-5.4-12-12-12H48V332c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"] };\nvar faExpandAlt = { prefix: 'far', iconName: 'expand-alt', icon: [448, 512, [], \"f424\", \"M448 56v95.005c0 21.382-25.851 32.09-40.971 16.971l-27.704-27.704-107.242 107.243c-4.686 4.686-12.284 4.686-16.971 0l-22.627-22.627c-4.686-4.686-4.686-12.284 0-16.971l107.243-107.243-27.704-27.704C296.905 57.851 307.613 32 328.995 32H424c13.255 0 24 10.745 24 24zM175.917 264.485L68.674 371.728 40.97 344.024C25.851 328.905 0 339.613 0 360.995V456c0 13.255 10.745 24 24 24h95.005c21.382 0 32.09-25.851 16.971-40.971l-27.704-27.704 107.243-107.243c4.686-4.686 4.686-12.284 0-16.971l-22.627-22.627c-4.687-4.685-12.285-4.685-16.971.001z\"] };\nvar faExpandArrows = { prefix: 'far', iconName: 'expand-arrows', icon: [448, 512, [], \"f31d\", \"M447.9 332l.1 136c0 6.6-5.4 12-12 12l-136-.1c-6.6 0-12-5.4-12-12v-27.8c0-6.7 5.5-12.1 12.2-12l61.4 2.3 1.4-1.4-139-139L85 429l1.4 1.4 61.4-2.3c6.7-.1 12.2 5.3 12.2 12v27.8c0 6.6-5.4 12-12 12L12 480c-6.6 0-12-5.4-12-12l.1-136c0-6.6 5.4-12 12-12h27.8c6.7 0 12.1 5.5 12 12.2l-2.3 61.4L51 395l139-139L51 117l-1.4 1.4 2.3 61.4c.1 6.7-5.3 12.2-12 12.2H12.1c-6.6 0-12-5.4-12-12L0 44c0-6.6 5.4-12 12-12l136 .1c6.6 0 12 5.4 12 12v27.8c0 6.7-5.5 12.1-12.2 12l-61.4-2.3L85 83l139 139L363 83l-1.4-1.4-61.4 2.3c-6.7.1-12.2-5.3-12.2-12V44.1c0-6.6 5.4-12 12-12l136-.1c6.6 0 12 5.4 12 12l-.1 136c0 6.6-5.4 12-12 12h-27.8c-6.7 0-12.1-5.5-12-12.2l2.3-61.4-1.4-1.4-139 139 139 139 1.4-1.4-2.3-61.4c-.1-6.7 5.3-12.2 12-12.2h27.8c6.6 0 12 5.4 12 12z\"] };\nvar faExpandArrowsAlt = { prefix: 'far', iconName: 'expand-arrows-alt', icon: [448, 512, [], \"f31e\", \"M252.3 256l121.4 121.4 53.8-53.8c7.6-7.6 20.5-2.2 20.5 8.5v136c0 6.6-5.4 12-12 12H300c-10.7 0-16-12.9-8.5-20.5l53.8-53.8L224 284.3 102.6 405.7l53.8 53.8c7.6 7.6 2.2 20.5-8.5 20.5h-136c-6.6 0-12-5.4-12-12V332c0-10.7 12.9-16 20.5-8.5l53.8 53.8L195.7 256 74.3 134.6l-53.8 53.8C12.9 196 0 190.7 0 180V44c0-6.6 5.4-12 12-12h136c10.7 0 16 12.9 8.5 20.5l-53.8 53.8L224 227.7l121.4-121.4-53.8-53.8C284 44.9 289.3 32 300 32h136c6.6 0 12 5.4 12 12v136c0 10.7-12.9 16-20.5 8.5l-53.8-53.8L252.3 256z\"] };\nvar faExpandWide = { prefix: 'far', iconName: 'expand-wide', icon: [512, 512, [], \"f320\", \"M0 212V88c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H48v100c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM352 76v24c0 6.6 5.4 12 12 12h100v100c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V88c0-13.3-10.7-24-24-24H364c-6.6 0-12 5.4-12 12zm148 212h-24c-6.6 0-12 5.4-12 12v100H364c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V300c0-6.6-5.4-12-12-12zM160 436v-24c0-6.6-5.4-12-12-12H48V300c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"] };\nvar faExternalLink = { prefix: 'far', iconName: 'external-link', icon: [576, 512, [], \"f08e\", \"M576 14.4l-.174 163.2c0 7.953-6.447 14.4-14.4 14.4H528.12c-8.067 0-14.56-6.626-14.397-14.691l2.717-73.627-2.062-2.062-278.863 278.865c-4.686 4.686-12.284 4.686-16.971 0l-23.029-23.029c-4.686-4.686-4.686-12.284 0-16.971L474.379 61.621l-2.062-2.062-73.626 2.717C390.626 62.44 384 55.946 384 47.879V14.574c0-7.953 6.447-14.4 14.4-14.4L561.6 0c7.953 0 14.4 6.447 14.4 14.4zM427.515 233.74l-24 24a12.002 12.002 0 0 0-3.515 8.485V458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h301.976c10.691 0 16.045-12.926 8.485-20.485l-24-24A12.002 12.002 0 0 0 331.976 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V242.225c0-10.691-12.926-16.045-20.485-8.485z\"] };\nvar faExternalLinkAlt = { prefix: 'far', iconName: 'external-link-alt', icon: [576, 512, [], \"f35d\", \"M448 241.823V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h339.976c10.691 0 16.045 12.926 8.485 20.485l-24 24a12.002 12.002 0 0 1-8.485 3.515H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6V265.823c0-3.183 1.264-6.235 3.515-8.485l24-24c7.559-7.56 20.485-2.206 20.485 8.485zM564 0H428.015c-10.658 0-16.039 12.93-8.485 20.485l48.187 48.201-272.202 272.202c-4.686 4.686-4.686 12.284 0 16.971l22.627 22.627c4.687 4.686 12.285 4.686 16.971 0l272.201-272.201 48.201 48.192c7.513 7.513 20.485 2.235 20.485-8.485V12c0-6.627-5.373-12-12-12z\"] };\nvar faExternalLinkSquare = { prefix: 'far', iconName: 'external-link-square', icon: [448, 512, [], \"f14c\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-54-304l-136 .145c-6.627 0-12 5.373-12 12V167.9c0 6.722 5.522 12.133 12.243 11.998l58.001-2.141L99.515 340.485c-4.686 4.686-4.686 12.284 0 16.971l23.03 23.029c4.686 4.686 12.284 4.686 16.97 0l162.729-162.729-2.141 58.001c-.136 6.721 5.275 12.242 11.998 12.242h27.755c6.628 0 12-5.373 12-12L352 140c0-6.627-5.373-12-12-12z\"] };\nvar faExternalLinkSquareAlt = { prefix: 'far', iconName: 'external-link-square-alt', icon: [448, 512, [], \"f360\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-54-304H204.015c-10.658 0-16.039 12.93-8.485 20.485l48.187 48.201L99.515 340.888c-4.686 4.686-4.686 12.284 0 16.971l22.627 22.627c4.687 4.686 12.285 4.686 16.971 0l144.201-144.201 48.201 48.192c7.513 7.513 20.485 2.235 20.485-8.485V140c0-6.627-5.373-12-12-12z\"] };\nvar faEye = { prefix: 'far', iconName: 'eye', icon: [576, 512, [], \"f06e\", \"M569.354 231.631C512.97 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-102.556 0-192.091-54.701-240-136 44.157-74.933 123.677-127.27 216.162-135.007C273.958 131.078 280 144.83 280 160c0 30.928-25.072 56-56 56s-56-25.072-56-56l.001-.042C157.794 179.043 152 200.844 152 224c0 75.111 60.889 136 136 136s136-60.889 136-136c0-31.031-10.4-59.629-27.895-82.515C451.704 164.638 498.009 205.106 528 256c-47.908 81.299-137.444 136-240 136z\"] };\nvar faEyeDropper = { prefix: 'far', iconName: 'eye-dropper', icon: [512, 512, [], \"f1fb\", \"M486.509 27.241C451.298-8.761 393.152-9.152 357.49 26.51l-94.863 94.863-23.515-23.515c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l23.515 23.515L39.029 344.971A24 24 0 0 0 32 361.941V432L0 488l24 24 56-32h70.059a24 24 0 0 0 16.97-7.029l178.343-178.343 23.515 23.515c4.686 4.686 12.284 4.686 16.971 0l28.285-28.285c4.686-4.686 4.686-12.284 0-16.971l-23.515-23.515 94.342-94.046c35.197-35.198 36.344-92.498 1.539-128.085zM140.118 432H80v-60.118l171.314-171.314 60.118 60.118L140.118 432z\"] };\nvar faEyeSlash = { prefix: 'far', iconName: 'eye-slash', icon: [576, 512, [], \"f070\", \"M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z\"] };\nvar faFastBackward = { prefix: 'far', iconName: 'fast-backward', icon: [512, 512, [], \"f049\", \"M12 448h24c6.6 0 12-5.4 12-12V277.7c1.1 1.2 2.2 2.4 3.5 3.4l184 159.5c20.6 17.2 52.5 2.8 52.5-24.6V292l171.5 148.6c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6L288 221.1v-125c0-27.4-31.9-41.8-52.5-24.6L51.5 232c-1.3 1.1-2.4 2.2-3.5 3.4V76c0-6.6-5.4-12-12-12H12C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12zm452-316.8V381L320.4 256.5 464 131.2zm-224 0V381L96.4 256.5 240 131.2z\"] };\nvar faFastForward = { prefix: 'far', iconName: 'fast-forward', icon: [512, 512, [], \"f050\", \"M500 64h-24c-6.6 0-12 5.4-12 12v158.3c-1.1-1.2-2.2-2.4-3.5-3.4l-184-159.5C255.9 54.3 224 68.6 224 96v124L52.5 71.4C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6L224 291v125c0 27.4 31.9 41.8 52.5 24.6l184-160.5c1.3-1.1 2.4-2.2 3.5-3.4V436c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12zM48 380.8V131.1l143.6 124.4L48 380.8zm224 0V131.1l143.6 124.4L272 380.8z\"] };\nvar faFax = { prefix: 'far', iconName: 'fax', icon: [512, 512, [], \"f1ac\", \"M80 96H64c-35.346 0-64 28.654-64 64v288c0 35.346 28.654 64 64 64h16c35.346 0 64-28.654 64-64V160c0-35.346-28.654-64-64-64zm16 352c0 8.823-7.177 16-16 16H64c-8.823 0-16-7.177-16-16V160c0-8.823 7.177-16 16-16h16c8.823 0 16 7.177 16 16v288zm160-124v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm0 96v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm96-96v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm0 96v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm128-289.258V88.568a39.996 39.996 0 0 0-11.716-28.284l-48.569-48.569A39.999 39.999 0 0 0 391.432 0H200c-22.091 0-40 17.909-40 40v424c0 26.51 21.49 48 48 48h256c26.51 0 48-21.49 48-48V176c0-20.898-13.359-38.667-32-45.258zM208 48h176v24c0 13.203 10.797 24 24 24h24v96H208V48zm256 416H208V240h256v224z\"] };\nvar faFemale = { prefix: 'far', iconName: 'female', icon: [320, 512, [], \"f182\", \"M300.621 331.514L252.582 192.47a63.903 63.903 0 0 0-17.386-26.643c15.424-17.601 24.788-40.64 24.788-65.827 0-55.14-44.86-100-100-100s-100 44.86-100 100c0 25.187 9.364 48.226 24.789 65.828a63.905 63.905 0 0 0-17.388 26.647l-47.93 138.686C5.21 373.97 36.902 416 79.999 416l-.014 32c0 35.29 28.71 64 64 64h32c35.29 0 64-28.71 64-64l.014-32c44.01-.246 74.481-42.859 60.622-84.486zM159.985 48c28.719 0 52 23.281 52 52s-23.281 52-52 52-52-23.281-52-52 23.281-52 52-52zm79.629 320h-47.629v80c0 8.837-7.164 16-16 16h-32c-8.837 0-16-7.163-16-16v-80h-48c-10.536 0-18.793-10.217-15.062-21.412L112.806 208a16 16 0 0 1 15.179-10.94h7.91a100.128 100.128 0 0 0 48.18 0h7.91A16 16 0 0 1 207.164 208l48 138.94c3.328 9.986-3.739 21.06-15.55 21.06z\"] };\nvar faFieldHockey = { prefix: 'far', iconName: 'field-hockey', icon: [640, 512, [], \"f44c\", \"M619.5 96.3L558.8 157l-45.2-45.2 91.2-91.2C612.4 12.9 607 0 596.3 0h-33.9c-3.2 0-6.2 1.3-8.5 3.5L214.7 342.7c-29.4 29.5-75.6-14.8-45.3-45.2 31.2-31.2 31.2-81.9 0-113.1-31.2-31.2-81.8-31.3-113.1 0C20 220.6 0 268.8 0 320.1 0 426.7 86.3 512 192 512c86.5 0 131.8-52.2 153.3-73.7 18.2 43.3 61 73.7 110.7 73.7 66.2 0 120-53.8 120-120 0-49.8-30.5-92.5-73.7-110.7l134.2-134.2c2.3-2.3 3.5-5.3 3.5-8.5v-33.9c0-10.6-12.9-16-20.5-8.4zM192 464c-38.5 0-74.7-14.9-101.8-42C63 394.8 48 358.6 48 320.1c0-38.5 15-74.7 42.2-101.8 29.5-29.6 75.6 14.9 45.2 45.3-31.1 31.2-31.1 81.9.2 113.2 31.1 30.8 81.7 31.3 113-.2l231.1-231.1 45.2 45.2-82.5 82.5c-55.2 6.3-98.7 49.8-105 105C293.3 422.5 262.2 464 192 464zm336-72c0 39.7-32.3 72-72 72s-72-32.3-72-72 32.3-72 72-72 72 32.3 72 72z\"] };\nvar faFighterJet = { prefix: 'far', iconName: 'fighter-jet', icon: [640, 512, [], \"f0fb\", \"M519.953 181.397l-107.935-12.336L370.219 152H359.07l-70.571-88.214c22.23-1.229 39.503-7.698 39.503-15.786 0-9-21.383-16-47.189-16H128.002v32H144v63.531L119.476 96H45.185L8 133.185v62.12l-8 .971v119.447l8 .971v62.12L45.185 416h74.291L144 384.469V448h-15.998v32h152.811c25.806 0 47.189-7 47.189-16 0-8.088-17.273-14.558-39.503-15.786L359.07 360h11.149l41.8-17.061 107.935-12.336C580.922 317.055 640.297 308.569 640 256c.298-52.759-59.534-61.154-120.047-74.603zM512 283.2L400 296l-39.2 16H336l-96 120h-48V296h-40l-56 72H65.067L56 358.933V304h8v-16h40v-8l-56-6.8v-34.4l56-6.8v-8H64v-16h-8v-54.933L65.067 144H96l56 72h40V80h48l96 120h24.8l39.2 16 112 12.8c81.6 18.133 80 22.596 80 27.2s1.6 9.067-80 27.2z\"] };\nvar faFile = { prefix: 'far', iconName: 'file', icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"] };\nvar faFileAlt = { prefix: 'far', iconName: 'file-alt', icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"] };\nvar faFileArchive = { prefix: 'far', iconName: 'file-archive', icon: [384, 512, [], \"f1c6\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM256 51.882L332.118 128H256V51.882zM336 464H48V48h79.714v16h32V48H208v104c0 13.255 10.745 24 24 24h104v288zM192.27 96h-32V64h32v32zm-32 0v32h-32V96h32zm0 64v32h-32v-32h32zm32 0h-32v-32h32v32zm1.909 105.678A12 12 0 0 0 182.406 256H160.27v-32h-32v32l-19.69 97.106C101.989 385.611 126.834 416 160 416c33.052 0 57.871-30.192 51.476-62.62l-17.297-87.702zM160.27 390.073c-17.918 0-32.444-12.105-32.444-27.036 0-14.932 14.525-27.036 32.444-27.036s32.444 12.105 32.444 27.036c0 14.931-14.526 27.036-32.444 27.036zm32-166.073h-32v-32h32v32z\"] };\nvar faFileAudio = { prefix: 'far', iconName: 'file-audio', icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"] };\nvar faFileCheck = { prefix: 'far', iconName: 'file-check', icon: [384, 512, [], \"f316\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm261.151-192.661L166.842 412.508c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.7c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.706 4.636 12.303-.069 16.971z\"] };\nvar faFileCode = { prefix: 'far', iconName: 'file-code', icon: [384, 512, [], \"f1c9\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm101.677-115.115L116.854 320l32.822-28.885a8.793 8.793 0 0 0 .605-12.624l-17.403-18.564c-3.384-3.613-8.964-3.662-12.438-.401L62.78 313.58c-3.703 3.474-3.704 9.367.001 12.84l57.659 54.055a8.738 8.738 0 0 0 6.012 2.381 8.746 8.746 0 0 0 6.427-2.782l17.403-18.563a8.795 8.795 0 0 0-.605-12.626zm84.284-127.85l-24.401-7.084a8.796 8.796 0 0 0-10.905 5.998L144.04 408.061c-1.353 4.66 1.338 9.552 5.998 10.905l24.403 7.084c4.68 1.355 9.557-1.354 10.905-5.998l54.612-188.112c1.354-4.66-1.337-9.552-5.997-10.905zm87.258 92.545l-57.658-54.055c-3.526-3.307-9.099-3.165-12.439.401l-17.403 18.563a8.795 8.795 0 0 0 .605 12.625L267.146 320l-32.822 28.885a8.793 8.793 0 0 0-.605 12.624l17.403 18.564a8.797 8.797 0 0 0 12.439.401h-.001l57.66-54.055c3.703-3.473 3.703-9.366-.001-12.839z\"] };\nvar faFileEdit = { prefix: 'far', iconName: 'file-edit', icon: [384, 512, [], \"f31c\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm163.1-229.9l46.8 46.8c2 2 2 5.2 0 7.2L143.4 402.6 95.2 408c-6.4.7-11.9-4.7-11.2-11.2l5.4-48.2 114.5-114.5c2-2 5.2-2 7.2 0zm83 17.8l-19.5 19.5c-2 2-5.2 2-7.2 0l-46.8-46.8c-2-2-2-5.2 0-7.2l19.5-19.5c7.9-7.9 20.7-7.9 28.6 0l25.4 25.4c7.9 7.9 7.9 20.7 0 28.6z\"] };\nvar faFileExcel = { prefix: 'far', iconName: 'file-excel', icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"] };\nvar faFileExclamation = { prefix: 'far', iconName: 'file-exclamation', icon: [384, 512, [], \"f31a\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm108.6-251.3l6.5 104c.4 6.3 5.6 11.3 12 11.3h33.8c6.3 0 11.6-4.9 12-11.3l6.5-104c.4-6.9-5.1-12.7-12-12.7h-46.8c-6.9 0-12.4 5.8-12 12.7zM232 384c0 22.1-17.9 40-40 40s-40-17.9-40-40 17.9-40 40-40 40 17.9 40 40z\"] };\nvar faFileImage = { prefix: 'far', iconName: 'file-image', icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"] };\nvar faFileMedical = { prefix: 'far', iconName: 'file-medical', icon: [384, 512, [], \"f477\", \"M224 232c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-56v-56zM369.8 98l-83.9-83.9C276.9 5.1 264.7 0 252 0H48C21.5.1 0 21.6 0 48.1V464c0 26.5 21.5 48 48 48h287.9c26.5 0 48.1-21.5 48.1-48V132c0-12.7-5.2-25-14.2-34zM255.9 52l76.1 76.1h-76.1V52zM336 464H48V48.1h160v104c0 13.3 10.7 24 24 24h104V464z\"] };\nvar faFileMedicalAlt = { prefix: 'far', iconName: 'file-medical-alt', icon: [448, 512, [], \"f478\", \"M433.9 98l-84-84c-9-9-21.1-14-33.8-14h-204C85.6.1 64 21.6 64 48.1V272H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h113.2l32.5 65.1c5.9 11.8 22.7 11.8 28.6 0l49.7-99.4 17.2 34.3H344c13.2 0 24-10.8 24-24s-10.8-24-24-24h-57.2l-32.5-65.1c-5.9-11.8-22.7-11.8-28.6 0L176 306.3 158.9 272H112V48.1h160v104c0 13.3 10.7 24 24 24h104V464H112.1v-96H64v96c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V132c0-12.8-5.1-25-14.1-34zM320 128.1V52l76.1 76.1H320z\"] };\nvar faFileMinus = { prefix: 'far', iconName: 'file-minus', icon: [384, 512, [], \"f318\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm44-136c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H92z\"] };\nvar faFilePdf = { prefix: 'far', iconName: 'file-pdf', icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"] };\nvar faFilePlus = { prefix: 'far', iconName: 'file-plus', icon: [384, 512, [], \"f319\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm256-172v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76H92c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12z\"] };\nvar faFilePowerpoint = { prefix: 'far', iconName: 'file-powerpoint', icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"] };\nvar faFileTimes = { prefix: 'far', iconName: 'file-times', icon: [384, 512, [], \"f317\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm231.7-89.3l-17 17c-4.7 4.7-12.3 4.7-17 0L192 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0L192 270l53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L225.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17z\"] };\nvar faFileVideo = { prefix: 'far', iconName: 'file-video', icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"] };\nvar faFileWord = { prefix: 'far', iconName: 'file-word', icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"] };\nvar faFilm = { prefix: 'far', iconName: 'film', icon: [512, 512, [], \"f008\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm288 208c0 6.6-5.4 12-12 12H140c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H140c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v96zm96 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"] };\nvar faFilmAlt = { prefix: 'far', iconName: 'film-alt', icon: [512, 512, [], \"f3a0\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm280 208c0 6.6-5.4 12-12 12H148c-6.6 0-12-5.4-12-12V124c0-6.6 5.4-12 12-12h216c6.6 0 12 5.4 12 12v264zm104-16c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"] };\nvar faFilter = { prefix: 'far', iconName: 'filter', icon: [512, 512, [], \"f0b0\", \"M463.952 0H48.057C5.419 0-16.094 51.731 14.116 81.941L176 243.882V416c0 15.108 7.113 29.335 19.2 40l64 47.066c31.273 21.855 76.8 1.538 76.8-38.4V243.882L497.893 81.941C528.042 51.792 506.675 0 463.952 0zM288 224v240l-64-48V224L48 48h416L288 224z\"] };\nvar faFire = { prefix: 'far', iconName: 'fire', icon: [384, 512, [], \"f06d\", \"M216 24.008c0-23.802-31.165-33.106-44.149-13.038C76.549 158.254 200 238.729 200 288c0 22.056-17.944 40-40 40s-40-17.944-40-40V182.126c0-19.392-21.856-30.755-37.731-19.684C30.754 198.379 0 257.279 0 320c0 105.869 86.131 192 192 192s192-86.131 192-192c0-170.29-168-192.853-168-295.992zM192 464c-79.402 0-144-64.598-144-144 0-28.66 8.564-64.709 24-88v56c0 48.523 39.477 88 88 88s88-39.477 88-88c0-64.267-88-120-64-208 40 88 152 121.771 152 240 0 79.402-64.598 144-144 144z\"] };\nvar faFireExtinguisher = { prefix: 'far', iconName: 'fire-extinguisher', icon: [448, 512, [], \"f134\", \"M420.054 20.658l-144 24C264.919 46.514 256 54.906 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.318-72-92.975V120h40c0 16.871 8.727 25.454 20.054 27.342l144 24C434.681 173.78 448 162.501 448 147.669V44.331c0-14.829-13.316-26.112-27.946-23.673zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16zm96 168v224h-96V241.205c0-26.936 21.366-49.009 47.632-49.204L192 192c26.467 0 48 21.533 48 48zm168-111.218l-112-18.667v-28.23l112-18.667v65.564z\"] };\nvar faFirstAid = { prefix: 'far', iconName: 'first-aid', icon: [576, 512, [], \"f479\", \"M200 288h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-56v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM96 432H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h42v352zm336 0H144V80h288v352zm96-6c0 3.3-2.7 6-6 6h-42V80h42c3.3 0 6 2.7 6 6v340z\"] };\nvar faFlag = { prefix: 'far', iconName: 'flag', icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"] };\nvar faFlagCheckered = { prefix: 'far', iconName: 'flag-checkered', icon: [512, 512, [], \"f11e\", \"M160 112.71v70.38c-27.96 3.85-56.53 13.43-72 22.87v-69.33c17.18-10.48 43.3-21.14 72-23.92zm144 28.56c-25.921-4.31-48.847-12.909-72-19.65v66.62c23.842 6.27 46.477 15.161 72 20.52v-67.49zm-144 41.82v69.06c30.531-3.016 51.364-1.255 72 3.09v-67c-28.52-7.492-48.717-8.342-72-5.15zm72 139.64c25.944 4.314 48.857 12.914 72 19.65v-66.62c-23.657-6.212-46.507-15.174-72-20.52v67.49zM88 336.76c21.71-6.95 47.24-11.89 72-14.52v-70.09c-24.28 2.38-48.01 7.61-72 15.28v69.33zm360-216.68c-21.23 8.13-46.68 15.82-72 20.19v70.59c25.04-4.04 48.57-12.48 72-21.45v-69.33zm0 207.29v-69.33c-15.47 9.44-44.04 19.02-72 22.87v70.38c28.7-2.78 54.82-13.44 72-23.92zM304 208.76v67c28.52 7.492 48.717 8.342 72 5.15v-70.05c-23.832 3.83-46.524 3.263-72-2.1zM445.096 51.819C476.736 38.169 512 61.478 512 95.937v239.918c0 16.196-8.154 31.306-21.713 40.164C463.711 393.383 420.218 416 361.739 416c-68.608 0-112.781-32-161.913-32-56.567 0-89.957 11.28-127.826 28.557V496c0 8.837-7.163 16-16 16H40c-8.837 0-16-7.163-16-16V89.562C9.657 81.262 0 65.764 0 48 0 20.431 23.242-1.71 51.201.104c22.966 1.49 41.865 19.471 44.48 42.336a48.038 48.038 0 0 1-2.142 20.727C115.958 54.482 142.96 48 174.261 48c68.608 0 112.781 32 161.913 32 35.467 0 73.019-12.691 108.922-28.181zM464 96c-31.507 14.634-84.555 32-127.826 32-59.911 0-101.968-32-161.913-32C132.824 96 93.784 112.588 72 128v232c31.447-14.597 84.465-24 127.826-24 59.911 0 101.968 32 161.913 32 41.437 0 80.478-16.588 102.261-32V96z\"] };\nvar faFlask = { prefix: 'far', iconName: 'flask', icon: [448, 512, [], \"f0c3\", \"M437.2 403.5L320 215V48h20c6.6 0 12-5.4 12-12V12c0-6.6-5.4-12-12-12H108c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h20v167L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM377.1 464H70.9c-18.1 0-28.7-20.1-19.3-35.2l117.2-188.5c4.7-7.6 7.2-16.4 7.2-25.3V48h96v167c0 9 2.5 17.7 7.2 25.3l117.2 188.5c9.4 15.1-1.1 35.2-19.3 35.2z\"] };\nvar faFolder = { prefix: 'far', iconName: 'folder', icon: [512, 512, [], \"f07b\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-6 272H54c-3.314 0-6-2.678-6-5.992V117.992A5.993 5.993 0 0 1 54 112h134.118l64 64H458a6 6 0 0 1 6 6v212a6 6 0 0 1-6 6z\"] };\nvar faFolderOpen = { prefix: 'far', iconName: 'folder-open', icon: [576, 512, [], \"f07c\", \"M527.943 224H480v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h400a48.001 48.001 0 0 0 40.704-22.56l79.942-128c19.948-31.917-3.038-73.44-40.703-73.44zM54 112h134.118l64 64H426a6 6 0 0 1 6 6v42H152a48 48 0 0 0-41.098 23.202L48 351.449V117.993A5.993 5.993 0 0 1 54 112zm394 288H72l77.234-128H528l-80 128z\"] };\nvar faFont = { prefix: 'far', iconName: 'font', icon: [448, 512, [], \"f031\", \"M402.629 430.504L262.703 39.953A12 12 0 0 0 251.406 32h-54.811a12 12 0 0 0-11.297 7.953L45.371 430.504H20c-6.627 0-12 5.373-12 12V468c0 6.627 5.373 12 12 12h120c6.627 0 12-5.373 12-12v-25.496c0-6.627-5.373-12-12-12h-30.538l34.901-99.625h158.64l34.901 99.625H308c-6.627 0-12 5.373-12 12V468c0 6.627 5.373 12 12 12h120c6.627 0 12-5.373 12-12v-25.496c0-6.627-5.373-12-12-12h-25.371zM160.227 280.113l55.206-155.468C221.145 106.244 224 90.38 224 90.38s2.221 15.864 8.566 34.266l54.573 155.468H160.227z\"] };\nvar faFootballBall = { prefix: 'far', iconName: 'football-ball', icon: [496, 512, [], \"f44e\", \"M481.4 60.9c-4.8-18.2-19.1-32.5-37.2-37.4-23.8-6.4-211.8-59.9-349.7 78.2C-28.2 224.6-2.4 386.9 14.6 451.6c4.8 18.2 19.1 31.6 37.2 36.5 23.8 6.4 211.7 60.9 349.7-77.3 122.7-122.9 96.9-285.3 79.9-349.9zM64.3 442.6c-1.6-.4-2.8-1.7-3.2-3.3-5.4-20.3-11.7-51.9-12.8-88.9l105.1 105.1c-36.8-1.2-68.5-7.4-89.1-12.9zm303.3-66.7c-41.2 41.3-91.6 66.6-150.1 75.9L52.3 286.6c8.2-50.2 29.6-103.9 76.1-150.5 41.2-41.3 91.6-66.6 150.1-75.9l165.1 165.1c-8.1 50.3-29.5 104-76 150.6zm-25-319.4c36.8 1.2 68.5 7.4 89.1 12.9 1.6.4 2.8 1.7 3.2 3.3 5.4 20.3 11.7 51.9 12.8 88.9L342.6 56.5zm-88.9 103.3l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-22.7 22.7-28.3-28.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-22.6 22.6-28.3-28.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-28.3 28.3c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l28.3-28.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3 22.6-22.6 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3L270.6 256l22.6-22.6 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3 28.3-28.3c3.1-3.1 3.1-8.2 0-11.3l-11.3-11.3c-3.1-3.1-8.2-3.1-11.3 0l-28.3 28.3-28.2-28.4c-3.2-3.1-8.2-3.1-11.3 0z\"] };\nvar faFootballHelmet = { prefix: 'far', iconName: 'football-helmet', icon: [512, 512, [], \"f44f\", \"M479.6 320H355.5l-15.2-76 136.5-17.8c9-1.2 15.6-9.8 13.9-18.7C468.1 93.8 368.3 8 248 8 114.9 8 18.2 109.5 2.6 219.9-7.6 292 13.3 359 53.7 409.9c3.1 3.9 7.8 6.1 12.8 6.1H120c92.7 46.4 95 49.8 115 49.8 17 0 33.8-6.6 46.4-19.2 36.2-36.2 10.9-79.7 5-94.6h42.9l9.5 49.5c9.5 47.4 47.6 83.2 95.6 89.2 42.2 5.3 52.6 9.6 66.5-2.6 14.3-12.6 10.8-18.4 10.8-136.1-.1-17.7-14.4-32-32.1-32zm-206 0l-10.3-25.7c-7.8-19.4 4.9-40.9 25.6-43.6l19.6-2.6 14.4 71.9h-49.3zm9.1-116.9c-51.8 6.7-83.4 60.5-64 109l32.6 81.6c4.6 11.5-3.9 24.1-16.3 24.1-5.9 0 .2 2.1-103.7-49.8H82.4c-28-41.2-39.5-90.9-32.3-141.4C62.3 140.1 139.6 56 248 56c83.2 0 156.4 51.9 185.8 127.4l-151.1 19.7zm196.9 261l-41.3-5.2c-25.9-3.2-47.6-18.7-59.7-40.7h101.1l-.1 45.9zm0-80.1H368.3l-6.4-32h117.7v32zM176 312c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24z\"] };\nvar faForklift = { prefix: 'far', iconName: 'forklift', icon: [640, 512, [], \"f47a\", \"M416 344.9V237.1c0-8.7-1.8-17.2-5.2-25.2L332.5 29.1C324.9 11.4 307.6 0 288.3 0H144c-26.5 0-48 21.5-48 48v112H48c-26.5 0-48 21.5-48 48v208c0 53 43 96 96 96s96-43 96-96h64c0 53 43 96 96 96s96-43 96-96c0-28.3-12.5-53.5-32-71.1zM144 48h144.3l78.4 182.8c.9 2 1.3 4.1 1.3 6.3v2.9H246.1c-8.9 0-17.7-3-24.7-8.5L144 170.6V48zM96 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm173.3-96h-90.6c-16.6-28.6-47.2-48-82.7-48-17.6 0-33.8 5.1-48 13.3V208h65.9l77.9 61.2c15.4 12.1 34.8 18.8 54.4 18.8H368v33.6c-5.2-.9-10.5-1.6-16-1.6-35.4 0-66.1 19.4-82.7 48zm82.7 96c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm272-64h-96V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v416c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faForward = { prefix: 'far', iconName: 'forward', icon: [512, 512, [], \"f04e\", \"M244.5 230.8L52.5 71.4C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160.6c15.3-12.8 15.3-36.4 0-49.2zM48 381.7V130.1l151 125.4L48 381.7zm452.5-150.9l-192-159.4C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160.6c15.3-12.8 15.3-36.4 0-49.2zM304 381.7V130.1l151 125.4-151 126.2z\"] };\nvar faFragile = { prefix: 'far', iconName: 'fragile', icon: [288, 512, [], \"f4bb\", \"M200 464h-32V349.4c72.7-12.4 126.3-79.5 119.4-156.7l-16-178.1C270.7 6.3 263.9 0 255.7 0H32.3c-8.2 0-15 6.3-15.7 14.6L.6 192.7C-6.3 269.9 47.3 337 120 349.4V464H88.1c-37.2 0-50 48-32 48h175.8c18.1 0 5.2-48-31.9-48zM72.6 272c-18.5-20.6-27.4-47.3-24.9-75L61.1 48h61.7l26.6 38L80 130l98.7 94-40.1-82L208 98l-24.8-50H227l13.3 149c2.5 27.8-6.4 54.4-24.9 75s-43.9 32-71.4 32-52.9-11.3-71.4-32z\"] };\nvar faFrown = { prefix: 'far', iconName: 'frown', icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.5 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c4.8 5.7 11.6 8.6 18.5 8.6 5.4 0 10.9-1.8 15.4-5.6 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"] };\nvar faFutbol = { prefix: 'far', iconName: 'futbol', icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"] };\nvar faGamepad = { prefix: 'far', iconName: 'gamepad', icon: [640, 512, [], \"f11b\", \"M256 240v32c0 4.4-3.6 8-8 8h-48v48c0 4.4-3.6 8-8 8h-32c-4.4 0-8-3.6-8-8v-48h-48c-4.4 0-8-3.6-8-8v-32c0-4.4 3.6-8 8-8h48v-48c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v48h48c4.4 0 8 3.6 8 8zm240-64c-22.1 0-40 17.9-40 40s17.9 40 40 40 40-17.9 40-40-17.9-40-40-40zm-64 80c-22.1 0-40 17.9-40 40s17.9 40 40 40 40-17.9 40-40-17.9-40-40-40zm32-128H176c-70.8 0-128 57.3-128 128 0 70.8 57.3 128 128 128 56.2 0 86.1-33.3 101.7-48h84.6c16.2 15.3 45.9 48 101.7 48 70.8 0 128-57.3 128-128 0-70.8-57.3-128-128-128m0-48c97.2 0 176 78.8 176 176s-78.8 176-176 176c-46.8 0-89.3-18.2-120.8-48h-46.4c-31.5 29.8-74 48-120.8 48C78.8 432 0 353.2 0 256S78.8 80 176 80h288z\"] };\nvar faGavel = { prefix: 'far', iconName: 'gavel', icon: [512, 512, [], \"f0e3\", \"M497.965 176.618l-23.185-23.185c-13.611-13.61-33.433-17.321-50.434-11.133l-54.624-54.624c6.189-16.998 2.479-36.821-11.133-50.433l-23.185-23.174c-18.757-18.757-49.122-18.76-67.882 0L163.914 117.667c-18.715 18.715-18.715 49.167 0 67.883l23.184 23.184c13.613 13.613 33.433 17.326 50.434 11.133l10.342 10.342-56.543 56.52c-22.021-22.02-51.866-19.249-69.498-1.616L14.069 392.908c-18.757 18.757-18.76 49.122 0 67.882l37.163 37.174c18.714 18.714 49.165 18.715 67.882 0l107.773-107.796c17.412-17.41 20.652-47.231-1.616-69.499l56.543-56.519 10.341 10.341c-6.189 16.998-2.479 36.821 11.134 50.434l25.417 25.417c17.484 17.484 45.932 17.485 63.417 0L497.965 244.5c18.713-18.715 18.713-49.167 0-67.882zM85.195 464.043l-.021-.021L48 426.849l107.773-107.795 37.173 37.173L85.195 464.043zm275.219-149.875l-23.184-23.184 14.793-14.793L235.832 160l-14.792 14.792-23.184-23.184L301.465 48l23.184 23.184L307.832 88l116.191 116.191 16.816-16.816 23.184 23.184-103.609 103.609z\"] };\nvar faGem = { prefix: 'far', iconName: 'gem', icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"] };\nvar faGenderless = { prefix: 'far', iconName: 'genderless', icon: [288, 512, [], \"f22d\", \"M144 160c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96m0-48C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"] };\nvar faGift = { prefix: 'far', iconName: 'gift', icon: [512, 512, [], \"f06b\", \"M464 160h-26.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H48c-26.5 0-48 21.5-48 48v128c0 8.8 7.2 16 16 16h16v75.4c0 29 23.6 52.6 52.6 52.6h342.8c29 0 52.6-23.6 52.6-52.6V352h16c8.8 0 16-7.2 16-16V208c0-26.5-21.5-48-48-48zM232 432H84.6c-2.5 0-4.6-2-4.6-4.6V352h112v-48H48v-96h184v224zm-78.1-272c-22.1 0-40-17.9-40-40s17.9-40 40-40c22 0 37.5 7.6 84.1 77l2 3h-86.1zm122-3C322.5 87.6 338 80 360 80c22.1 0 40 17.9 40 40s-17.9 40-40 40h-86.1l2-3zM464 304H320v48h112v75.4c0 2.5-2 4.6-4.6 4.6H280V208h184v96z\"] };\nvar faGlassMartini = { prefix: 'far', iconName: 'glass-martini', icon: [512, 512, [], \"f000\", \"M508 26.6C517.1 16.3 509.7 0 496 0H16C2.3 0-5.1 16.3 4 26.6L232 285v187H124c-15.5 0-28 12.5-28 28 0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12 0-15.5-12.5-28-28-28H280V285L508 26.6zM425.1 48L256 239.6 86.9 48h338.2z\"] };\nvar faGlobe = { prefix: 'far', iconName: 'globe', icon: [496, 512, [], \"f0ac\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm179.3 160h-67.2c-6.7-36.5-17.5-68.8-31.2-94.7 42.9 19 77.7 52.7 98.4 94.7zM248 56c18.6 0 48.6 41.2 63.2 112H184.8C199.4 97.2 229.4 56 248 56zM48 256c0-13.7 1.4-27.1 4-40h77.7c-1 13.1-1.7 26.3-1.7 40s.7 26.9 1.7 40H52c-2.6-12.9-4-26.3-4-40zm20.7 88h67.2c6.7 36.5 17.5 68.8 31.2 94.7-42.9-19-77.7-52.7-98.4-94.7zm67.2-176H68.7c20.7-42 55.5-75.7 98.4-94.7-13.7 25.9-24.5 58.2-31.2 94.7zM248 456c-18.6 0-48.6-41.2-63.2-112h126.5c-14.7 70.8-44.7 112-63.3 112zm70.1-160H177.9c-1.1-12.8-1.9-26-1.9-40s.8-27.2 1.9-40h140.3c1.1 12.8 1.9 26 1.9 40s-.9 27.2-2 40zm10.8 142.7c13.7-25.9 24.4-58.2 31.2-94.7h67.2c-20.7 42-55.5 75.7-98.4 94.7zM366.3 296c1-13.1 1.7-26.3 1.7-40s-.7-26.9-1.7-40H444c2.6 12.9 4 26.3 4 40s-1.4 27.1-4 40h-77.7z\"] };\nvar faGolfBall = { prefix: 'far', iconName: 'golf-ball', icon: [416, 512, [], \"f450\", \"M416 208C416 94.2 324.7 1.8 211.3 0 97.3-1.8 2.5 89.4.1 203.4c-1.3 60.7 23.6 115.3 64 154.1V416c0 30.9 25.1 56 56 56h16c4.4 0 8 3.6 8 8v20c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-20c0-30.9-25.1-56-56-56-12.8 0-24 2.1-24-8v-32h192v32c0 10.1-11.2 8-24 8-30.9 0-56 25.1-56 56v20c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-20c0-4.4 3.6-8 8-8h16c30.9 0 56-25.1 56-56v-58.5C391.3 319.7 416 266.8 416 208zM208 48c88.2 0 160 71.8 160 160 0 52.7-25.9 99-65.5 128h-189C73.9 307 48 260.7 48 208c0-88.2 71.8-160 160-160zm48 142.9c0 18.3-14.8 33.1-33.1 33.1-14.4 0-26.3-9.3-30.9-22.1 26.3 9.4 51.5-15.2 41.9-41.9 12.8 4.6 22.1 16.5 22.1 30.9zm80 16c0 18.3-14.8 33.1-33.1 33.1-14.4 0-26.3-9.3-30.9-22.1 26.3 9.4 51.5-15.2 41.9-41.9 12.8 4.6 22.1 16.5 22.1 30.9zm-64 64c0 18.3-14.8 33.1-33.1 33.1-14.4 0-26.3-9.3-30.9-22.1 26.3 9.4 51.5-15.2 41.9-41.9 12.8 4.6 22.1 16.5 22.1 30.9z\"] };\nvar faGolfClub = { prefix: 'far', iconName: 'golf-club', icon: [640, 512, [], \"f451\", \"M631 8.6l-14.4-6.9c-8-3.9-17.5-.5-21.4 7.4L465.5 279.3 75.8 206.2C36 198.7 0 229.5 0 269.1V448c0 35.3 28.6 64 64 64h302.7c24.6 0 47-14.1 57.7-36.3l214-445.8c3.8-7.9.5-17.5-7.4-21.3zM434.9 342.9l-53.8 112c-2.7 5.5-8.3 9.1-14.4 9.1H64c-19.1 0-16-23-16-24h72c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H48v-48h72c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H48v-26.9c0-9.6 8.6-17.7 18.9-15.7l356.5 66.9c10.4 1.9 16 13.1 11.5 22.6z\"] };\nvar faGraduationCap = { prefix: 'far', iconName: 'graduation-cap', icon: [640, 512, [], \"f19d\", \"M607.13 147.683L352.139 68.701l-.311-.094a112.25 112.25 0 0 0-63.656 0l-255.31 79.078C13.505 153.533 0 171.734 0 192s13.505 38.467 32.863 44.315l17.559 5.439c-1.009 5.804-1.619 11.865-1.957 18.27C38.646 265.489 32 275.966 32 288c0 11.952 6.557 22.366 16.265 27.861L32.068 438.956C31.438 443.747 35.172 448 40 448h48c4.832 0 8.562-4.257 7.932-9.044L79.735 315.861C89.443 310.366 96 299.952 96 288c0-11.645-6.222-21.835-15.521-27.433.191-3.236.453-6.305.827-9.245l50.665 15.695C126.234 305.318 120 347.276 120 348.8c0 65.722 134.242 80.32 200 80.32 65.75 0 200-14.593 200-80.32 0-2.037-6.224-43.583-11.983-81.78l99.113-30.703C626.491 230.472 640 212.269 640 192s-13.509-38.472-32.87-44.317zm-135.511 200.37C457.32 365.398 391.446 381.12 320 381.12c-47.192 0-132.44-9.806-151.62-33.067l9.999-66.659 109.482 33.915.312.095A112.432 112.432 0 0 0 320 320.01a112.503 112.503 0 0 0 31.827-4.606l109.793-34.011 9.999 66.66zm-133.512-78.648a64.368 64.368 0 0 1-36.208.002L48 192l253.89-77.404a64.325 64.325 0 0 1 36.216-.001L592 192l-253.893 77.405z\"] };\nvar faHSquare = { prefix: 'far', iconName: 'h-square', icon: [448, 512, [], \"f0fd\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-50-292v232c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12v-92H152v92c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V140c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v92h144v-92c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12z\"] };\nvar faH1 = { prefix: 'far', iconName: 'h1', icon: [640, 512, [], \"f313\", \"M156.369 382.846V404c0 6.627-5.373 12-12 12H36.123c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.513v-230.13H36.123c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.951v91.832h149.164v-91.832h-26.951c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.514v230.13h26.514c6.627 0 12 5.373 12 12V404c0 6.627-5.373 12-12 12H239.632c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.951v-91.394H117.418v91.394h26.951c6.628 0 12 5.373 12 12zM533.293 96h-29.389a12 12 0 0 0-8.357 3.388l-67.423 65.428c-4.751 4.611-4.871 12.199-.266 16.957l17.196 17.77c4.637 4.792 12.292 4.884 17.044.205l24.172-23.806a133.088 133.088 0 0 0 6.009-6.146c-.012 1.15-.018 2.318-.018 3.489v194.061h-56.274c-6.627 0-12 5.373-12 12V404c0 6.627 5.373 12 12 12h164.704c6.627 0 12-5.373 12-12v-24.655c0-6.627-5.373-12-12-12h-55.399V108c.001-6.627-5.372-12-11.999-12z\"] };\nvar faH2 = { prefix: 'far', iconName: 'h2', icon: [640, 512, [], \"f314\", \"M465.047 367.418h140.525c6.627 0 12 5.373 12 12V404c0 6.627-5.373 12-12 12H418.861a12.003 12.003 0 0 1-11.895-10.404c-.775-5.742-1.411-12.127-1.411-18.694 0-113.15 151.2-130.424 151.2-198.396 0-27.292-20.093-45.629-49.998-45.629-22.424 0-41.163 13.308-54.337 31.805-3.781 5.308-11.073 6.68-16.485 3.049l-21.572-14.475c-5.308-3.562-6.894-10.658-3.61-16.143 5.132-8.572 11.61-16.791 20.528-25.119 15.027-14.032 40.851-30.759 78.535-30.759 60.615 0 102.95 38.741 102.95 94.21 0 101.506-139.073 120.723-147.719 181.973zm-308.678 15.428V404c0 6.627-5.373 12-12 12H36.123c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.513v-230.13H36.123c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.951v91.832h149.164v-91.832h-26.951c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.514v230.13h26.514c6.627 0 12 5.373 12 12V404c0 6.627-5.373 12-12 12H239.632c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.951v-91.394H117.418v91.394h26.951c6.628 0 12 5.373 12 12z\"] };\nvar faH3 = { prefix: 'far', iconName: 'h3', icon: [640, 512, [], \"f315\", \"M616.045 316.065c0 57.788-45.891 104.698-110.38 104.698-38.959 0-75.124-15.889-99.864-39.575-4.305-4.122-4.876-10.806-1.393-15.643l16.064-22.311c4.201-5.835 12.51-6.64 17.851-1.827 18.495 16.667 41.451 27.278 65.595 27.278 32.739 0 57.428-21.87 57.428-50.872 0-23.669-17.329-51.31-66.167-51.31H478.03a12 12 0 0 1-11.008-7.223l-6.741-15.534a12 12 0 0 1 1.869-12.553l64.673-76.012a253.429 253.429 0 0 1 9.816-10.854c-3.571.149-7.786.252-12.619.252h-97.942c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12H597.49c6.627 0 12 5.373 12 12v18.602c0 2.892-1.044 5.687-2.941 7.87l-75.722 87.159c48.291 9.03 85.218 42.581 85.218 94.434zm-459.676 66.781V404c0 6.627-5.373 12-12 12H36.123c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.513v-230.13H36.123c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.951v91.832h149.164v-91.832h-26.951c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h108.246c6.627 0 12 5.373 12 12v20.716c0 6.627-5.373 12-12 12h-26.514v230.13h26.514c6.627 0 12 5.373 12 12V404c0 6.627-5.373 12-12 12H239.632c-6.627 0-12-5.373-12-12v-21.154c0-6.627 5.373-12 12-12h26.951v-91.394H117.418v91.394h26.951c6.628 0 12 5.373 12 12z\"] };\nvar faHandHeart = { prefix: 'far', iconName: 'hand-heart', icon: [480, 512, [], \"f4bc\", \"M408 112c-2.7 0-5.4.2-8 .4V104c0-39.7-32.3-72-72-72-6.4 0-12.7.8-18.6 2.4C296.7 13.8 273.9 0 248 0s-48.7 13.8-61.4 34.4c-5.9-1.6-12.2-2.4-18.6-2.4-39.7 0-72 32.3-72 72v92.1c-10.5-3.7-38.1-10.2-65.3 8.9C-1.8 227.8-9.8 272.8 13 305.3l113.5 171c14.9 22.4 39.8 35.7 66.6 35.7h180.6c38 0 71-27 78.5-64.3l20.6-103.2c4.7-23.7 7.1-48 7.1-72.2V184c.1-39.7-32.2-72-71.9-72zm24 160.3c0 21.1-2.1 42.1-6.2 62.8l-20.6 103.2c-3 15-16.1 25.7-31.4 25.7H193.1c-10.7 0-20.7-5.4-26.7-14.3L52.3 277.8c-18-25.7 20.7-54.1 39.3-27.5l37.8 54.4c4.5 6.5 14.6 3.2 14.6-4.6V104c0-31.8 48-31.7 48 0v144c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V72c0-31.8 48-31.7 48 0v176c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V104c0-31.8 48-31.7 48 0v144c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-64c0-31.8 48-31.7 48 0v88.3zm-95.5 24.5c-19.6-15.3-45.2-8.5-58.3 3.9l-6.2 5.8-6.2-5.8c-12.8-12-38.5-19.3-58.3-3.9-19.6 15.3-20.7 42.8-3.1 59.4l60.5 57.1c3.9 3.7 10.2 3.7 14.1 0l60.5-57.1c17.6-16.6 16.6-44.1-3-59.4z\"] };\nvar faHandHolding = { prefix: 'far', iconName: 'hand-holding', icon: [576, 512, [], \"f4bd\", \"M551.9 312c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6z\"] };\nvar faHandHoldingBox = { prefix: 'far', iconName: 'hand-holding-box', icon: [576, 512, [], \"f47b\", \"M551.9 312c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6zm-439.4-56h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-352c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm32-208h80v112l64-32 64 32V48h80v160h-288V48z\"] };\nvar faHandHoldingHeart = { prefix: 'far', iconName: 'hand-holding-heart', icon: [576, 512, [], \"f4be\", \"M266.8 247.1c13 13.4 32.5 10.2 42.4 0l98.7-102c30.1-31.1 36.4-90.1-6-126.3C363.5-14 312.8 1 288 26.6 263.2 1 212.5-14 174.2 18.8c-42.4 36.2-36.1 95.2-6 126.3l98.6 102zM204.5 55.6c14.1-12 36.1-9 49.3 4.7L288 95.6l34.1-35.4c13.2-13.7 35.3-16.7 49.3-4.7 18.9 16.1 15.7 42.4 2.7 55.9L288 200.5l-86.1-89.1c-13.1-13.4-16.2-39.7 2.6-55.8zM551.9 312c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6z\"] };\nvar faHandHoldingSeedling = { prefix: 'far', iconName: 'hand-holding-seedling', icon: [576, 512, [], \"f4bf\", \"M250.7 192H264v48c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-48h13.3C410.6 192 480 116.6 480 24V0h-61.3C363.5 0 315.4 31.7 288 79 260.6 31.7 212.5 0 157.3 0H96v24c0 92.6 69.4 168 154.7 168zm168-144h11.2c-9.9 54.7-53 96-104.5 96h-11.2c9.9-54.7 53-96 104.5-96zm-261.4 0c51.5 0 94.6 41.3 104.5 96h-11.2c-51.5 0-94.6-41.3-104.5-96h11.2zm394.6 264c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6z\"] };\nvar faHandHoldingUsd = { prefix: 'far', iconName: 'hand-holding-usd', icon: [576, 512, [], \"f4c0\", \"M551.9 312c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6zM257.6 144.3l50.1 14.3c3.6 1 6.1 4.4 6.1 8.1 0 4.6-3.8 8.4-8.4 8.4h-32.8c-3.6 0-7.1-.8-10.3-2.2-4.8-2.2-10.4-1.7-14.1 2l-17.5 17.5c-5.3 5.3-4.7 14.3 1.5 18.4 9.5 6.3 20.4 10.1 31.8 11.5V240c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-17.6c30.3-3.6 53.4-31 49.3-63-2.9-23-20.7-41.3-42.9-47.7l-50.1-14.3c-3.6-1-6.1-4.4-6.1-8.1 0-4.6 3.8-8.4 8.4-8.4h32.8c3.6 0 7.1.8 10.3 2.2 4.8 2.2 10.4 1.7 14.1-2l17.5-17.5c5.3-5.3 4.7-14.3-1.5-18.4-9.5-6.3-20.4-10.1-31.8-11.5V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.6c-30.3 3.6-53.4 31-49.3 63 2.9 23 20.6 41.3 42.9 47.7z\"] };\nvar faHandHoldingWater = { prefix: 'far', iconName: 'hand-holding-water', icon: [576, 512, [], \"f4c1\", \"M551.9 312c-31.1-26.4-69.3-16.1-88.4-1.8l-60.4 45.5h-3.3c-.2-38-30.5-67.8-69.2-67.8h-144c-28.4 0-56.3 9.4-78.5 26.3L79.8 336H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h80l41.3-31.5c14-10.7 31.4-16.5 49.4-16.5h144c27.9 0 29.1 40.2-1.1 40.2h-59.8c-7.6 0-13.8 6.2-13.8 13.8v.1c0 7.6 6.2 13.8 13.8 13.8h134.5c9.7 0 19.2-3.2 26.9-9l61.3-46.1c8.3-6.2 20.5-6.7 28.4 0 10.1 8.5 9.3 23.1-.9 30.7L419.4 455c-7.8 5.8-17.2 9-26.9 9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h376.8c19.9 0 39.3-6.5 55.2-18.5l100.8-75.9c16.6-12.5 26.5-31.5 27.1-52 .7-20.5-8.1-40.1-24-53.6zM288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-3.2-4.3-8-6.4-12.8-6.4s-9.6 2.1-12.8 6.4C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm0-185.1c34 49.8 47.5 81.1 48 91.1 0 25.4-21.5 46-48 46s-48-20.6-48-45.8c.5-10.1 14-41.5 48-91.3z\"] };\nvar faHandLizard = { prefix: 'far', iconName: 'hand-lizard', icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"] };\nvar faHandPaper = { prefix: 'far', iconName: 'hand-paper', icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"] };\nvar faHandPeace = { prefix: 'far', iconName: 'hand-peace', icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"] };\nvar faHandPointDown = { prefix: 'far', iconName: 'hand-point-down', icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"] };\nvar faHandPointLeft = { prefix: 'far', iconName: 'hand-point-left', icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"] };\nvar faHandPointRight = { prefix: 'far', iconName: 'hand-point-right', icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"] };\nvar faHandPointUp = { prefix: 'far', iconName: 'hand-point-up', icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"] };\nvar faHandPointer = { prefix: 'far', iconName: 'hand-pointer', icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"] };\nvar faHandReceiving = { prefix: 'far', iconName: 'hand-receiving', icon: [640, 512, [], \"f47c\", \"M297.6 246.7c6.2 6.2 14.3 9.3 22.4 9.3s16.2-3.1 22.4-9.3l96.4-96.4c12.4-12.3 12.4-32.4 0-44.7L342.4 9.3C336.2 3.1 328.1 0 320 0s-16.2 3.1-22.4 9.3l-96.4 96.4c-12.4 12.3-12.4 32.4 0 44.7l96.4 96.3zM320 54l74 74-74 74-74-74 74-74zm252.9 42.2C531 93.4 496 126.7 496 168c0 0-.1 39-.2 76-11.7-7.8-25.7-12-39.8-12-22.5 0-43.3 10.2-57 28l-71.8 93.3c-2.7 3.5-5 7.4-7.2 11.2-2.3-3.8-4.5-7.7-7.2-11.2L241 260c-13.8-17.8-34.6-28-57-28-14.1 0-28.1 4.3-39.8 12-.1-37.1-.2-76-.2-76 0-41.3-35-74.6-76.9-71.8C28.8 98.7 0 132.2 0 170.5V362c0 25.3 8.7 50.2 24.5 70l58.7 74c3 3.8 7.7 6.1 12.5 6.1H112c8.8 0 16-7.2 16-16v-11.6L62 402c-9.1-11.3-14-25.4-14-40V168.9c0-11.6 7.8-22.3 19.2-24.4 15.3-3 28.8 8.7 28.8 23.5 0 0 .2 101 .3 132.6 0 7.6 2.8 14.8 7.8 20.6l76.5 92.6c4.4 5.3 10.7 8 17 8 5.8 0 11.7-2.3 16.1-7 7.5-7.9 7.3-20.4.8-29.2l-49.5-67c-8.1-10.5-6.1-25.6 4.4-33.7 4.4-3.4 9.5-5 14.6-5 7.2 0 14.3 3.2 19.1 9.4l71.7 93.2c8.6 11.2 13.3 24.9 13.3 39V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-74.4c0-14.1 4.7-27.8 13.3-39l71.7-93.2c4.7-6.1 11.9-9.4 19.1-9.4 5.1 0 10.2 1.6 14.6 5 10.5 8.1 12.5 23.1 4.4 33.7l-49.5 67c-6.5 8.8-6.6 21.3.8 29.2 4.4 4.7 10.2 7 16.1 7 6.3 0 12.6-2.7 17-8l76.5-92.6c5-5.8 7.7-13 7.8-20.6-.1-31.7.1-132.7.1-132.7 0-14.8 13.4-26.5 28.8-23.5 11.4 2.2 19.2 12.8 19.2 24.4V362c0 14.5-4.9 28.6-14 39.9l-66 82.5V496c0 8.8 7.2 16 16 16h16.3c4.9 0 9.5-2.2 12.5-6.1l58.7-74c15.8-19.8 24.5-44.6 24.5-70V170.5c0-38.3-28.8-71.8-67.1-74.3z\"] };\nvar faHandRock = { prefix: 'far', iconName: 'hand-rock', icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"] };\nvar faHandScissors = { prefix: 'far', iconName: 'hand-scissors', icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"] };\nvar faHandSpock = { prefix: 'far', iconName: 'hand-spock', icon: [512, 512, [], \"f259\", \"M21.096 381.79l129.092 121.513a32 32 0 0 0 21.932 8.698h237.6c14.17 0 26.653-9.319 30.68-22.904l31.815-107.313A115.955 115.955 0 0 0 477 348.811v-36.839c0-4.051.476-8.104 1.414-12.045l31.73-133.41c10.099-42.412-22.316-82.738-65.544-82.525-4.144-24.856-22.543-47.165-49.85-53.992-35.803-8.952-72.227 12.655-81.25 48.75L296.599 184 274.924 52.01c-8.286-36.07-44.303-58.572-80.304-50.296-29.616 6.804-50.138 32.389-51.882 61.295-42.637.831-73.455 40.563-64.071 81.844l31.04 136.508c-27.194-22.515-67.284-19.992-91.482 5.722-25.376 26.961-24.098 69.325 2.871 94.707zm32.068-61.811l.002-.001c7.219-7.672 19.241-7.98 26.856-.813l53.012 49.894C143.225 378.649 160 371.4 160 357.406v-69.479c0-1.193-.134-2.383-.397-3.546l-34.13-150.172c-5.596-24.617 31.502-32.86 37.054-8.421l30.399 133.757a16 16 0 0 0 15.603 12.454h8.604c10.276 0 17.894-9.567 15.594-19.583l-41.62-181.153c-5.623-24.469 31.39-33.076 37.035-8.508l45.22 196.828A16 16 0 0 0 288.956 272h13.217a16 16 0 0 0 15.522-12.119l42.372-169.49c6.104-24.422 42.962-15.159 36.865 9.217L358.805 252.12c-2.521 10.088 5.115 19.88 15.522 19.88h9.694a16 16 0 0 0 15.565-12.295L426.509 146.6c5.821-24.448 42.797-15.687 36.966 8.802L431.72 288.81a100.094 100.094 0 0 0-2.72 23.162v36.839c0 6.548-.943 13.051-2.805 19.328L397.775 464h-219.31L53.978 346.836c-7.629-7.18-7.994-19.229-.814-26.857z\"] };\nvar faHands = { prefix: 'far', iconName: 'hands', icon: [640, 512, [], \"f4c2\", \"M572.9 96.2C531 93.4 496 126.7 496 168c0 0-.1 39-.2 76-11.7-7.8-25.7-12-39.8-12-22.5 0-43.3 10.2-57 28l-71.8 93.3c-2.7 3.5-5 7.4-7.2 11.2-2.3-3.8-4.5-7.7-7.2-11.2L241 260c-13.8-17.8-34.6-28-57-28-14.1 0-28.1 4.3-39.8 12-.1-37.1-.2-76-.2-76 0-41.3-35-74.6-76.9-71.8C28.8 98.7 0 132.2 0 170.5V362c0 25.3 8.7 50.2 24.5 70l58.7 74c3 3.8 7.7 6.1 12.5 6.1H112c8.8 0 16-7.2 16-16v-11.6L62 402c-9.1-11.3-14-25.4-14-40V168.9c0-11.6 7.8-22.3 19.2-24.4 15.3-3 28.8 8.7 28.8 23.5 0 0 .2 101 .3 132.6 0 7.6 2.8 14.8 7.8 20.6l76.5 92.6c4.4 5.3 10.7 8 17 8 5.8 0 11.7-2.3 16.1-7 7.5-7.9 7.3-20.4.8-29.2l-49.5-67c-8.1-10.5-6.1-25.6 4.4-33.7 4.4-3.4 9.5-5 14.6-5 7.2 0 14.3 3.2 19.1 9.4l71.7 93.2c8.6 11.2 13.3 24.9 13.3 39V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-74.4c0-14.1 4.7-27.8 13.3-39l71.7-93.2c4.7-6.1 11.9-9.4 19.1-9.4 5.1 0 10.2 1.6 14.6 5 10.5 8.1 12.5 23.1 4.4 33.7l-49.5 67c-6.5 8.8-6.6 21.3.8 29.2 4.4 4.7 10.2 7 16.1 7 6.3 0 12.6-2.7 17-8l76.5-92.6c5-5.8 7.7-13 7.8-20.6-.1-31.7.1-132.7.1-132.7 0-14.8 13.4-26.5 28.8-23.5 11.4 2.2 19.2 12.8 19.2 24.4V362c0 14.5-4.9 28.6-14 39.9l-66 82.5V496c0 8.8 7.2 16 16 16h16.3c4.9 0 9.5-2.2 12.5-6.1l58.7-74c15.8-19.8 24.5-44.6 24.5-70V170.5c0-38.3-28.8-71.8-67.1-74.3z\"] };\nvar faHandsHeart = { prefix: 'far', iconName: 'hands-heart', icon: [640, 512, [], \"f4c3\", \"M298.8 247.1c6.3 6.5 13.8 8.9 21.2 8.9 7.3.1 14.9-2.4 21.2-8.9l98.7-102c30.1-31.1 36.4-90.1-6-126.3C395.5-14 344.8 1 320 26.6 295.2 1 244.5-14 206.2 18.8c-42.4 36.2-36.1 95.2-6 126.3l98.6 102zM236.5 55.6c14.1-12 36.1-9 49.3 4.7L320 95.6l34.1-35.4c13.2-13.7 35.3-16.7 49.3-4.7 18.9 16.1 15.7 42.4 2.7 55.9L320 200.5l-86.1-89.1c-13.1-13.4-16.2-39.7 2.6-55.8zm336.4 40.6C531 93.4 496 126.7 496 168c0 0-.1 39-.2 76-29.8-19.8-72.5-15.5-96.8 16l-71.8 93.3c-2.7 3.5-5 7.4-7.2 11.2-2.3-3.8-4.5-7.7-7.2-11.2L241 260c-24.6-31.9-67.4-35.5-96.8-16-.1-37.1-.2-76-.2-76 0-41.3-35-74.6-76.9-71.8C28.8 98.7 0 132.2 0 170.5V362c0 25.3 8.7 50.2 24.5 70l58.7 74c3 3.8 7.7 6.1 12.5 6.1H112c8.8 0 16-7.2 16-16 0-7.5-2.6-14.8-7.2-20.6L62 402c-9.1-11.3-14-25.4-14-40V168.9c0-11.6 7.8-22.3 19.2-24.4 15.3-3 28.8 8.7 28.8 23.5 0 0 .2 101 .3 132.6 0 7.6 2.8 14.8 7.8 20.6l76.5 92.6c17.7 21.4 52.2-3.3 33.9-28.2l-49.5-67c-8.1-10.5-6.1-25.6 4.4-33.7 10.8-8.4 25.8-5.8 33.7 4.4l71.7 93.2c8.6 11.2 13.3 24.9 13.3 39V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-74.4c0-14.1 4.7-27.8 13.3-39l71.7-93.2c7.9-10.2 22.9-12.7 33.7-4.4 10.5 8.1 12.5 23.1 4.4 33.7l-49.5 67c-18.4 24.9 16.2 49.6 33.9 28.2l76.5-92.6c5-5.8 7.7-13 7.8-20.6-.1-31.7.1-132.7.1-132.7 0-14.8 13.4-26.5 28.8-23.5 11.4 2.2 19.2 12.8 19.2 24.4V362c0 14.5-4.9 28.6-14 39.9l-58.7 73.4c-4.7 5.9-7.2 13.1-7.2 20.6 0 8.8 7.2 16 16 16h16.3c4.9 0 9.5-2.2 12.5-6.1l58.7-74c15.8-19.8 24.5-44.6 24.5-70V170.5c-.1-38.3-28.9-71.8-67.2-74.3z\"] };\nvar faHandsHelping = { prefix: 'far', iconName: 'hands-helping', icon: [640, 512, [], \"f4c4\", \"M637.9 203.9l-8-13.9c-4.4-7.7-14.2-10.3-21.9-5.9l-96.7 56.4c-3.7-27.4-26.9-48.6-55.3-48.6H304v64c0 17.6-14.3 32-32 32s-32-14.4-32-32v-86.3c0-11 5.7-21.3 15-27.1l33.4-20.9c10.2-6.4 21.9-9.7 33.9-9.7h105.3l119.8-68.2c7.7-4.4 10.4-14.1 6-21.8L545.5 8c-4.4-7.7-14.1-10.4-21.8-6L415 64h-92.7c-21 0-41.5 5.9-59.3 17l-33.5 20.9c-18.3 11.4-30.6 29.4-35.2 49.8l-59.4 35.6C110.8 201.8 96 227.9 96 256.1v34.1L8 341c-7.7 4.4-10.3 14.2-5.9 21.9l8 13.9c4.4 7.7 14.2 10.3 21.9 5.9L144 318v-61.8c0-11.3 5.9-21.8 15.6-27.6L192 209v42.2c0 41.8 30 80.1 71.7 84.3 47.9 4.9 88.3-32.7 88.3-79.6v-16h104c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8h-32v60c0 15.4-12.5 27.8-27.8 27.8h-24.1v24c0 17.8-14.4 32.2-32.2 32.2H211.3l-62.8 36.3c-7.7 4.4-10.3 14.2-5.9 21.9l8 13.9c4.4 7.7 14.2 10.3 21.9 5.9l51.6-29.9h115.8c36.9 0 68.1-25.1 77.4-59.2 31.5-9.2 54.7-38.4 54.7-72.8v-14.3c17.6-5.3 31.5-19 37.1-36.4L632 225.8c7.7-4.5 10.3-14.2 5.9-21.9z\"] };\nvar faHandsUsd = { prefix: 'far', iconName: 'hands-usd', icon: [640, 512, [], \"f4c5\", \"M289.6 144.3l50.1 14.3c3.6 1 6.1 4.4 6.1 8.1 0 4.6-3.8 8.4-8.4 8.4h-32.8c-3.6 0-7.1-.8-10.3-2.2-4.8-2.2-10.4-1.7-14.1 2l-17.5 17.5c-5.3 5.3-4.7 14.3 1.5 18.4 9.5 6.3 20.4 10.1 31.8 11.5V240c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-17.6c30.3-3.6 53.4-31 49.3-63-2.9-23-20.7-41.3-42.9-47.7l-50.1-14.3c-3.6-1-6.1-4.4-6.1-8.1 0-4.6 3.8-8.4 8.4-8.4h32.8c3.6 0 7.1.8 10.3 2.2 4.8 2.2 10.4 1.7 14.1-2l17.5-17.5c5.3-5.3 4.7-14.3-1.5-18.4-9.5-6.3-20.4-10.1-31.8-11.5V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.6c-30.3 3.6-53.4 31-49.3 63 2.9 23 20.6 41.3 42.9 47.7zm283.3-48.1C531 93.4 496 126.7 496 168c0 0-.1 39-.2 76-11.7-7.8-25.7-12-39.8-12-22.5 0-43.3 10.2-57 28l-71.8 93.3c-2.7 3.5-5 7.4-7.2 11.2-2.3-3.8-4.5-7.7-7.2-11.2L241 260c-13.8-17.8-34.6-28-57-28-14.1 0-28.1 4.3-39.8 12-.1-37.1-.2-76-.2-76 0-41.3-35-74.6-76.9-71.8C28.8 98.7 0 132.2 0 170.5V362c0 25.3 8.7 50.2 24.5 70l58.7 74c3 3.8 7.7 6.1 12.5 6.1H112c8.8 0 16-7.2 16-16 0-7.5-2.6-14.8-7.2-20.6L62 402c-9.1-11.3-14-25.4-14-40V168.9c0-11.6 7.8-22.3 19.2-24.4 15.3-3 28.8 8.7 28.8 23.5 0 0 .2 101 .3 132.6 0 7.6 2.8 14.8 7.8 20.6l76.5 92.6c8.1 9.8 23.6 11.1 33.1 1 7.5-7.9 7.3-20.4.8-29.2l-49.5-67c-8.1-10.5-6.1-25.6 4.4-33.7 4.4-3.4 9.5-5 14.6-5 7.2 0 14.3 3.2 19.1 9.4l71.7 93.2c8.6 11.2 13.3 24.9 13.3 39V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-74.4c0-14.1 4.7-27.8 13.3-39l71.7-93.2c4.7-6.1 11.9-9.4 19.1-9.4 5.1 0 10.2 1.6 14.6 5 10.5 8.1 12.5 23.1 4.4 33.7l-49.5 67c-6.5 8.8-6.6 21.3.8 29.2 10.2 10.9 25.7 7.9 33.1-1l76.5-92.6c5-5.8 7.7-13 7.8-20.6-.1-31.7.1-132.7.1-132.7 0-14.8 13.4-26.5 28.8-23.5 11.4 2.2 19.2 12.8 19.2 24.4V362c0 14.5-4.9 28.6-14 39.9l-58.7 73.4c-4.7 5.9-7.2 13.1-7.2 20.6 0 8.8 7.2 16 16 16h16.3c4.9 0 9.5-2.2 12.5-6.1l58.7-74c15.8-19.8 24.5-44.6 24.5-70V170.5c-.1-38.3-28.9-71.8-67.2-74.3z\"] };\nvar faHandshake = { prefix: 'far', iconName: 'handshake', icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"] };\nvar faHandshakeAlt = { prefix: 'far', iconName: 'handshake-alt', icon: [640, 512, [], \"f4c6\", \"M255.7 182.7l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H624c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H519.2l-47.6-47.6C461.1 69.9 446.9 64 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h121.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 4 7.8 1.2 11.3L411.9 377c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-2.2 2.7-5.4 4.4-8.9 4.8-3.5.4-7-.7-9.1-2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h89l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23H624c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H474.8c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.4-9.9-8.5-25.2 1.1-34z\"] };\nvar faHashtag = { prefix: 'far', iconName: 'hashtag', icon: [448, 512, [], \"f292\", \"M443.524 190.109l4.286-24c1.313-7.355-4.342-14.109-11.813-14.109h-89.045l18.909-105.89c1.313-7.355-4.342-14.11-11.813-14.11h-24.38a12 12 0 0 0-11.813 9.89L298.192 152h-111.24l18.909-105.89c1.313-7.355-4.342-14.11-11.813-14.11h-24.38a12 12 0 0 0-11.813 9.89L138.192 152H44.86a12 12 0 0 0-11.813 9.891l-4.286 24C27.448 193.246 33.103 200 40.575 200h89.045l-20 112H16.289a12 12 0 0 0-11.813 9.891l-4.286 24C-1.123 353.246 4.532 360 12.003 360h89.045L82.139 465.891C80.826 473.246 86.481 480 93.953 480h24.38a12 12 0 0 0 11.813-9.891L149.808 360h111.24l-18.909 105.891c-1.313 7.355 4.342 14.109 11.813 14.109h24.38a12 12 0 0 0 11.813-9.891L309.808 360h93.331a12 12 0 0 0 11.813-9.891l4.286-24c1.313-7.355-4.342-14.109-11.813-14.109H318.38l20-112h93.331a12 12 0 0 0 11.813-9.891zM269.62 312H158.38l20-112h111.24l-20 112z\"] };\nvar faHdd = { prefix: 'far', iconName: 'hdd', icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"] };\nvar faHeading = { prefix: 'far', iconName: 'heading', icon: [448, 512, [], \"f1dc\", \"M300 80h36.703v149.983H111.297V80H148c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v24c0 6.627 5.373 12 12 12h35.841v352H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h136c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-36.703V282.016h225.406V432H300c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h136c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-35.841V80H436c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H300c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12z\"] };\nvar faHeadphones = { prefix: 'far', iconName: 'headphones', icon: [512, 512, [], \"f025\", \"M256 32C114.52 32 0 146.497 0 288v49.714a24.001 24.001 0 0 0 12.319 20.966l19.702 10.977C32.908 430.748 82.698 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-40.744 0-76.402 21.758-96 54.287V288c0-114.691 93.309-208 208-208s208 93.309 208 208v22.287C444.402 277.758 408.744 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c61.302 0 111.092-49.252 111.979-110.344l19.702-10.977A24.001 24.001 0 0 0 512 337.713V288c0-141.48-114.497-256-256-256zM144 304v128c-35.29 0-64-28.71-64-64s28.71-64 64-64zm224 128V304c35.29 0 64 28.71 64 64s-28.71 64-64 64z\"] };\nvar faHeart = { prefix: 'far', iconName: 'heart', icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"] };\nvar faHeartCircle = { prefix: 'far', iconName: 'heart-circle', icon: [496, 512, [], \"f4c7\", \"M361.8 162.8c-38.3-32.8-89-17.8-113.8 7.8-24.8-25.6-75.5-40.6-113.8-7.8-42.4 36.2-36.1 95.2-6 126.3l98.7 102c13 13.4 32.5 10.2 42.4 0l98.7-102c29.9-31.1 36.2-90.1-6.2-126.3zm-27.7 92.7l-86.1 89-86.1-89.1c-13-13.5-16.2-39.7 2.7-55.9 14.1-12 36.1-9 49.3 4.7l34.1 35.4 34.1-35.4c13.2-13.7 35.3-16.7 49.3-4.7 18.9 16.2 15.8 42.5 2.7 56zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"] };\nvar faHeartSquare = { prefix: 'far', iconName: 'heart-square', icon: [448, 512, [], \"f4c8\", \"M325.2 160.4c-13.9-11.7-29.6-16.4-44.9-16.4-22.1 0-43.3 10-56.3 23.3-13-13.3-34.2-23.3-56.3-23.3-15.3 0-31 4.7-44.9 16.4-37.6 31.7-32.1 83.3-5.3 110.5l87.7 89.3c5.5 5.6 12.1 7.8 18.5 7.8h.6c6.4 0 13-2.2 18.5-7.8l87.7-89.3c26.7-27.2 32.3-78.8-5.3-110.5zm-28.9 76.9L224 310.9l-72.3-73.6c-4-4.1-16.4-24.7 2-40.2 13.6-11.4 31.3-1.1 36.1 3.7l34.2 34.8 34.2-34.8c4.7-4.8 22.4-15.2 36.1-3.7 18.3 15.5 5.9 36.2 2 40.2zM392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm8 392c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h336c4.4 0 8 3.6 8 8v336z\"] };\nvar faHeartbeat = { prefix: 'far', iconName: 'heartbeat', icon: [512, 512, [], \"f21e\", \"M266.4 427.7c-5.8 5.7-15.1 5.7-20.9 0L136.7 320H68.5l143.3 141.8c24.5 24.2 63.9 24.3 88.4 0L443.5 320h-68.2L266.4 427.7zM354.7 32c-36.5 0-71 12.3-98.7 34.9C228.3 44.3 193.8 32 157.3 32 86.2 32 0 88.9 0 188c0 37.3 13.7 72.1 37.8 100h116.8l29.9-71.7 56.9 126.3c5.5 12.3 22.9 12.7 28.9.6l49.7-99.4 22.1 44.2h132c24.1-27.9 37.8-62.7 37.8-100 .1-99.1-86.1-156-157.2-156zm83.9 224h-76.7l-27.6-55.2c-5.9-11.8-22.7-11.8-28.6 0l-48.9 97.9-58.2-129.3c-5.7-12.8-24-12.5-29.4.4L133.3 256H73.4c-58.8-69.5-7-176 83.9-176 31 0 51 6.2 98.7 53.4C307.1 82.9 325.1 80 354.7 80c91.2 0 142.7 106.5 83.9 176z\"] };\nvar faHexagon = { prefix: 'far', iconName: 'hexagon', icon: [576, 512, [], \"f312\", \"M441.5 39.8C432.9 25.1 417.1 16 400 16H176c-17.1 0-32.9 9.1-41.5 23.8l-112 192c-8.7 14.9-8.7 33.4 0 48.4l112 192c8.6 14.7 24.4 23.8 41.5 23.8h224c17.1 0 32.9-9.1 41.5-23.8l112-192c8.7-14.9 8.7-33.4 0-48.4l-112-192zM400 448H176L64 256 176 64h224l112 192-112 192z\"] };\nvar faHistory = { prefix: 'far', iconName: 'history', icon: [512, 512, [], \"f1da\", \"M504 255.532c.252 136.64-111.182 248.372-247.822 248.468-64.014.045-122.373-24.163-166.394-63.942-5.097-4.606-5.3-12.543-.443-17.4l16.96-16.96c4.529-4.529 11.776-4.659 16.555-.395C158.208 436.843 204.848 456 256 456c110.549 0 200-89.468 200-200 0-110.549-89.468-200-200-200-55.52 0-105.708 22.574-141.923 59.043l49.091 48.413c7.641 7.535 2.305 20.544-8.426 20.544H26.412c-6.627 0-12-5.373-12-12V45.443c0-10.651 12.843-16.023 20.426-8.544l45.097 44.474C124.866 36.067 187.15 8 256 8c136.811 0 247.747 110.781 248 247.532zm-167.058 90.173l14.116-19.409c3.898-5.36 2.713-12.865-2.647-16.763L280 259.778V116c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v168.222l88.179 64.13c5.36 3.897 12.865 2.712 16.763-2.647z\"] };\nvar faHockeyPuck = { prefix: 'far', iconName: 'hockey-puck', icon: [544, 512, [], \"f453\", \"M272 48C136.6 48 0 87.6 0 176v144c0 94.5 136.8 144 272 144s272-49.5 272-144V176c0-88.4-136.6-128-272-128zm224 272c0 53-100.3 96-224 96S48 373 48 320v-66.3c101.2 67.2 346.8 67.2 448 0V320zm-224-64c-123.7 0-224-35.8-224-80s100.3-80 224-80 224 35.8 224 80-100.3 80-224 80z\"] };\nvar faHockeySticks = { prefix: 'far', iconName: 'hockey-sticks', icon: [640, 512, [], \"f454\", \"M600 304H407.3L520 86.5c9.9-19.7 1.8-43.7-17.9-53.6L444.8 4.2c-19.7-9.9-43.7-1.9-53.6 17.7L320 158.2 248.8 21.9c-9.9-19.6-33.9-27.6-53.6-17.7l-57.3 28.6c-19.7 9.9-27.8 34-17.9 53.6L232.7 304H40c-22.1 0-40 18-40 40v128c0 22.1 17.9 40 40 40h186.5c37.2 0 71.2-17 93.6-45.1 22.4 28.1 56.3 45.1 93.5 45.1H600c22.1 0 40-17.9 40-40V344c0-22-17.9-40-40-40zM166.6 72.2l43-21.5 83.3 159.4-27.5 52.7-98.8-190.6zM79.6 464H48V352h31.6v112zm211.3-39.8c-12.3 24.6-37 39.8-64.5 39.8H111.6V352h141.9c12.3 0 23.3-6.8 28.5-17.3l148.4-284 43 21.5-182.5 352zm237 39.8H413.5c-6.6 0-43.4.8-66.5-43.7l35.7-68.9c7.2.9-21.4.6 145.2.6v112zm64.1 0h-32V352h32v112z\"] };\nvar faHome = { prefix: 'far', iconName: 'home', icon: [576, 512, [], \"f015\", \"M557.1 240.7L512 203.8V104c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v60.5L313.4 41.1c-14.7-12.1-36-12.1-50.7 0L18.9 240.7c-3.4 2.8-3.9 7.8-1.1 11.3l20.3 24.8c2.8 3.4 7.8 3.9 11.3 1.1l14.7-12V464c0 8.8 7.2 16 16 16h168c4.4 0 8-3.6 8-8V344h64v128c0 4.4 3.6 8 8 8h168c8.8 0 16-7.2 16-16V265.8l14.7 12c3.4 2.8 8.5 2.3 11.3-1.1l20.3-24.8c2.6-3.4 2.1-8.4-1.3-11.2zM464 432h-96V304c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8v128h-96V226.5l170.9-140c2.9-2.4 7.2-2.4 10.1 0l170.9 140V432z\"] };\nvar faHomeHeart = { prefix: 'far', iconName: 'home-heart', icon: [576, 512, [], \"f4c9\", \"M231.3 191.8c-15.3 0-31 4.8-44.9 16.5-37.7 31.7-32.1 83.3-5.3 110.6l87.8 89.4c12.7 12.9 30.3 7.5 37.7 0l87.8-89.4c26.8-27.3 32.4-78.9-5.3-110.6-13.9-11.7-29.7-16.5-44.9-16.5-22.2 0-43.3 10-56.4 23.3-13.2-13.3-34.3-23.3-56.5-23.3zM358.1 245c18.3 15.4 5.9 36.1 2 40.2l-72.4 73.6-72.3-73.6c-4-4.1-16.4-24.8 2-40.2 13.6-11.5 31.3-1.1 36.1 3.8l34.3 34.9 34.3-34.9c4.6-4.9 22.3-15.3 36-3.8zM573 224l-61.1-52.2V72c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v60.5L313.2 9.1c-14.7-12.1-36-12.1-50.7 0L2.9 224.3c-3.4 2.8-3.9 7.8-1.1 11.3l20.3 24.8c2.8 3.4 7.8 3.9 11.3 1.1l30.3-27.7V496c0 8.8 7.3 16 16.1 16H496c8.8 0 16-7.2 16-16V233.8l30.8 27.3c3.4 2.8 8.5 2.3 11.3-1.1l20.3-24.8c2.6-3.4 2-8.4-1.4-11.2zM463.8 464H111.7V194.5l171-140c2.9-2.4 7.2-2.4 10.1 0l171 140V464z\"] };\nvar faHospital = { prefix: 'far', iconName: 'hospital', icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"] };\nvar faHospitalAlt = { prefix: 'far', iconName: 'hospital-alt', icon: [640, 512, [], \"f47d\", \"M500 416h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm0-160h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zM340 416h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm0-160h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zM180 416h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm0-160h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm182-144h-26V86c0-3.3-2.7-6-6-6h-20c-3.3 0-6 2.7-6 6v26h-26c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h26v26c0 3.3 2.7 6 6 6h20c3.3 0 6-2.7 6-6v-26h26c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6zm222-16H464V53.7C464 24.1 439.9 0 410.3 0H229.7C200.1 0 176 24.1 176 53.7V96H56c-30.9 0-56 25.1-56 56v352c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V152c0-4.4 3.6-8 8-8h168V53.7c0-3.2 2.6-5.7 5.7-5.7h180.6c3.2 0 5.7 2.6 5.7 5.7V144h168c4.4 0 8 3.6 8 8v352c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V152c0-30.9-25.1-56-56-56z\"] };\nvar faHospitalSymbol = { prefix: 'far', iconName: 'hospital-symbol', icon: [512, 512, [], \"f47e\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 464c-114.7 0-208-93.3-208-208S141.3 48 256 48s208 93.3 208 208-93.3 208-208 208zm88-320h-32c-4.4 0-8 3.6-8 8v80h-96v-80c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v208c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-80h96v80c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8z\"] };\nvar faHourglass = { prefix: 'far', iconName: 'hourglass', icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"] };\nvar faHourglassEnd = { prefix: 'far', iconName: 'hourglass-end', icon: [384, 512, [], \"f253\", \"M372 0H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.898 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12zM192 232c-70.692 0-128-82.379-128-184h256c0 101.621-57.308 184-128 184z\"] };\nvar faHourglassHalf = { prefix: 'far', iconName: 'hourglass-half', icon: [384, 512, [], \"f252\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.898 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zm-48 0c0 28.672-4.564 55.81-12.701 80H76.701C68.564 103.81 64 76.672 64 48h256zm-12.701 336H76.701C97.405 322.453 141.253 280 192 280s94.595 42.453 115.299 104z\"] };\nvar faHourglassStart = { prefix: 'far', iconName: 'hourglass-start', icon: [384, 512, [], \"f251\", \"M372 0H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.898 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12zm-52 464H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"] };\nvar faICursor = { prefix: 'far', iconName: 'i-cursor', icon: [256, 512, [], \"f246\", \"M128 41.522C91.867.049 43.399-.377 11.818.076 5.26.17 0 5.516 0 12.075v23.609c0 6.641 5.393 12.037 12.034 12C39.464 47.528 104 52.257 104 104v128H68c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h36v128c0 51.494-62.335 55.801-92.092 55.985C5.314 464.026 0 469.39 0 475.984v23.943c0 6.558 5.258 11.903 11.815 11.999 31.535.46 80.027.054 116.185-41.448 36.132 41.473 84.601 41.899 116.182 41.446 6.558-.094 11.818-5.44 11.818-11.999v-23.608c0-6.641-5.393-12.037-12.034-12C216.538 464.47 152 459.731 152 408V280h36c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-36V104c0-51.514 62.301-55.805 92.092-55.985C250.686 47.975 256 42.61 256 36.016V12.073C256 5.515 250.742.17 244.185.074 212.65-.386 164.157.02 128 41.522z\"] };\nvar faIdBadge = { prefix: 'far', iconName: 'id-badge', icon: [384, 512, [], \"f2c1\", \"M0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48zm336 32v378a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V80h288zm-144 80c38.66 0 70 31.34 70 70s-31.34 70-70 70-70-31.34-70-70 31.34-70 70-70zm80.187 146.047l-31.2-7.8c-32.779 23.577-72.51 18.316-97.974 0l-31.2 7.8C93.116 310.721 80 327.52 80 346.793V363c0 11.598 9.402 21 21 21h182c11.598 0 21-9.402 21-21v-16.207c0-19.273-13.116-36.072-31.813-40.746z\"] };\nvar faIdCard = { prefix: 'far', iconName: 'id-card', icon: [512, 512, [], \"f2c2\", \"M404 256H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm12 60v-16c0-6.627-5.373-12-12-12H300c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12zm96-204v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zm-48 282V144H48v250a6 6 0 0 0 6 6h404a6 6 0 0 0 6-6zM176 192c27.614 0 50 22.386 50 50s-22.386 50-50 50-50-22.386-50-50 22.386-50 50-50zm57.276 104.319l-22.285-5.571c-23.413 16.841-51.793 13.083-69.981 0l-22.285 5.571C105.369 299.658 96 311.657 96 325.423V337c0 8.284 6.716 15 15 15h130c8.284 0 15-6.716 15-15v-11.577c0-13.766-9.369-25.765-22.724-29.104z\"] };\nvar faIdCardAlt = { prefix: 'far', iconName: 'id-card-alt', icon: [576, 512, [], \"f47f\", \"M544 64H352V32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v32H32C14.3 64 0 78.3 0 96v384c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM272 48h32v64h-32V48zm16 304c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56zm-40 48h80c22.1 0 40 17.9 40 40v24H208v-24c0-22.1 17.9-40 40-40zm280 64H416v-24c0-34.2-19.7-63.5-48.2-78.1 14.9-18 24.2-40.8 24.2-65.9 0-57.3-46.7-104-104-104s-104 46.7-104 104c0 25.1 9.3 47.9 24.2 65.9-28.5 14.6-48.2 43.9-48.2 78.1v24H48V112h176v32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-32h176v352z\"] };\nvar faImage = { prefix: 'far', iconName: 'image', icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"] };\nvar faImages = { prefix: 'far', iconName: 'images', icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"] };\nvar faInbox = { prefix: 'far', iconName: 'inbox', icon: [576, 512, [], \"f01c\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H378.334l-32 64H229.666l-32-64H75.168l77.913-112zM528 400H48V272h120l32 64h176l32-64h120v128z\"] };\nvar faInboxIn = { prefix: 'far', iconName: 'inbox-in', icon: [576, 512, [], \"f310\", \"M395.5 185.5l-99 99c-4.7 4.7-12.3 4.7-17 0l-99-99c-7.6-7.6-2.2-20.5 8.5-20.5h67V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v153h67c10.7 0 16.1 12.9 8.5 20.5zM528 352H408l-32 64H200l-32-64H48v112h480V352zm48 2.2V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V354.2c0-11.8 4.3-23.1 12.1-31.9l101.6-114.2c2.3-2.6 4.9-4.9 7.7-7 2.4-1.7 5.6-1.4 7.7.7l24.8 24.9c2.2 2.2 2.3 5.9.2 8.2L92.7 304h105l32 64h116.7l32-64h105L422 234.9c-2.1-2.4-2-5.9.2-8.2l24.6-25c2-2.1 5.3-2.4 7.7-.7 2.9 2.1 5.5 4.4 7.9 7.1L564 322.3c7.7 8.8 12 20.2 12 31.9z\"] };\nvar faInboxOut = { prefix: 'far', iconName: 'inbox-out', icon: [576, 512, [], \"f311\", \"M180.5 102.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v153c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V123h-67c-10.7 0-16.1-12.9-8.5-20.5zM576 354.2V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V354.2c0-11.8 4.3-23.1 12.1-31.9l101.6-114.2c9.1-10.2 22.2-16.1 35.9-16.1H202c3.3 0 6 2.7 6 6v36c0 3.3-2.7 6-6 6h-52.4l-56.9 64h105l32 64h116.7l32-64h105l-56.9-64H374c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h52.4c13.7 0 26.8 5.9 35.9 16.1l101.6 114.2c7.8 8.8 12.1 20.2 12.1 31.9zm-48-2.2H408l-32 64H200l-32-64H48v112h480V352z\"] };\nvar faIndent = { prefix: 'far', iconName: 'indent', icon: [448, 512, [], \"f03c\", \"M0 80V48c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12H12C5.373 92 0 86.627 0 80zm172 140h264c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zM12 476h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm160-128h264c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm-48.687-103.313l-96-95.984C17.266 138.652 0 145.776 0 160.016v191.975c0 14.329 17.325 21.304 27.313 11.313l96-95.992c6.249-6.247 6.249-16.377 0-22.625z\"] };\nvar faIndustry = { prefix: 'far', iconName: 'industry', icon: [512, 512, [], \"f275\", \"M475.115 163.723L336 252.251v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.251V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V183.971c0-18.917-20.931-30.399-36.885-20.248zM464 432H48V80h64v215.971c0 18.916 20.931 30.399 36.885 20.248L288 227.691v68.28c0 18.915 20.931 30.399 36.885 20.248L464 227.691V432z\"] };\nvar faIndustryAlt = { prefix: 'far', iconName: 'industry-alt', icon: [512, 512, [], \"f3b3\", \"M475.115 131.752L336 220.28V152c0-18.916-20.931-30.399-36.885-20.248L160 220.28V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V152c0-18.917-20.931-30.399-36.885-20.248zM464 432H48V80h64v184c0 18.916 20.931 30.399 36.885 20.248L288 195.72V264c0 18.915 20.931 30.399 36.885 20.248L464 195.72V432zm-60-48h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm-128 0h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm-128 0h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"] };\nvar faInfo = { prefix: 'far', iconName: 'info', icon: [256, 512, [], \"f129\", \"M224 352.589V224c0-16.475-6.258-31.517-16.521-42.872C225.905 161.14 236 135.346 236 108 236 48.313 187.697 0 128 0 68.313 0 20 48.303 20 108c0 20.882 5.886 40.859 16.874 58.037C15.107 176.264 0 198.401 0 224v39.314c0 23.641 12.884 44.329 32 55.411v33.864C12.884 363.671 0 384.359 0 408v40c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-40c0-23.641-12.884-44.329-32-55.411zM128 48c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm80 400c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16v-40c0-8.836 7.164-16 16-16h16V279.314H64c-8.836 0-16-7.164-16-16V224c0-8.836 7.164-16 16-16h96c8.836 0 16 7.164 16 16v168h16c8.836 0 16 7.164 16 16v40z\"] };\nvar faInfoCircle = { prefix: 'far', iconName: 'info-circle', icon: [512, 512, [], \"f05a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm0-338c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"] };\nvar faInfoSquare = { prefix: 'far', iconName: 'info-square', icon: [448, 512, [], \"f30f\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-48 346V86a6 6 0 0 0-6-6H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6zM224 118c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"] };\nvar faInventory = { prefix: 'far', iconName: 'inventory', icon: [640, 512, [], \"f480\", \"M624 0h-16c-8.8 0-16 7.2-16 16v144h-48V16c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16v144H48V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v496h48v-32h544v32h48V16c0-8.8-7.2-16-16-16zM368 48h128v112H368V48zM144 432V304h120v128H144zm168 0V304h120v128H312zm168 0V272c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v160H48V208h544v224H480z\"] };\nvar faItalic = { prefix: 'far', iconName: 'italic', icon: [256, 512, [], \"f033\", \"M89.42 80h40.484L62.006 432H16.763a12 12 0 0 0-11.771 9.666l-4.759 24C-1.238 473.086 4.439 480 12.004 480H161.82a12 12 0 0 0 11.771-9.666l4.759-24c1.471-7.42-4.206-14.334-11.771-14.334h-41.118L193.36 80h45.877a12 12 0 0 0 11.771-9.666l4.759-24C257.238 38.914 251.56 32 243.996 32H94.179a12 12 0 0 0-11.771 9.666l-4.759 24C76.178 73.086 81.856 80 89.42 80z\"] };\nvar faJackOLantern = { prefix: 'far', iconName: 'jack-o-lantern', icon: [576, 512, [], \"f30e\", \"M312 64.4c0-2.5 3.8-12.7 17.2-18.3 12.2-5.1 18-19.1 12.9-31.4-5.1-12.2-19.2-18-31.4-12.9-31.1 13-47.1 41-46.8 62.6C66.7 71.2 0 162.3 0 288c0 130.7 72 224 288 224s288-93.3 288-224c0-125.7-66.7-216.8-264-223.6zM288 464c-142.5 0-240-37.6-240-176 0-139 97.9-176 240-176 142.5 0 240 37.6 240 176 0 139-97.9 176-240 176zM153.1 275.9l48-80c3.1-5.2 10.6-5.2 13.7 0l48 80c3.2 5.3-.6 12.1-6.9 12.1h-96c-6.1 0-10-6.8-6.8-12.1zm160 0l48-80c3.1-5.2 10.6-5.2 13.7 0l48 80c3.2 5.3-.6 12.1-6.9 12.1h-96c-6.1 0-10-6.8-6.8-12.1zm150.6 46.3c-10.7 37.3-43.3 62.2-79.7 76.6V374c0-3.3-2.7-6-6-6h-20c-3.3 0-6 2.7-6 6v34.7c-20.2 4.7-41.9 7.3-64 7.3s-43.8-2.5-64-7.3V374c0-3.3-2.7-6-6-6h-20c-3.3 0-6 2.7-6 6v24.8c-36.4-14.4-69-39.3-79.7-76.6-1.8-6.3 4.3-11.9 10.4-9.7 34.2 12.4 81.5 20.4 133.3 22.8V362c0 3.3 2.7 6 6 6h20c3.3 0 6-2.7 6-6v-26c63.9 0 124.2-8.6 165.3-23.5 6.1-2.2 12.2 3.4 10.4 9.7z\"] };\nvar faKey = { prefix: 'far', iconName: 'key', icon: [512, 512, [], \"f084\", \"M320 48c79.529 0 144 64.471 144 144s-64.471 144-144 144c-18.968 0-37.076-3.675-53.66-10.339L224 368h-32v48h-48v48H48v-96l134.177-134.177A143.96 143.96 0 0 1 176 192c0-79.529 64.471-144 144-144m0-48C213.965 0 128 85.954 128 192c0 8.832.602 17.623 1.799 26.318L7.029 341.088A24.005 24.005 0 0 0 0 358.059V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24v-24h24c13.255 0 24-10.745 24-24v-20l40.049-40.167C293.106 382.604 306.461 384 320 384c106.035 0 192-85.954 192-192C512 85.965 426.046 0 320 0zm0 144c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"] };\nvar faKeyboard = { prefix: 'far', iconName: 'keyboard', icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"] };\nvar faLamp = { prefix: 'far', iconName: 'lamp', icon: [416, 512, [], \"f4ca\", \"M413.7 237.8l-71.9-216C337.3 8.6 327.2 0 316 0H112c-10.6 0-20.3 7.7-25 19.9l-84 216C-6.3 259.8 7.2 288 28 288h92.7C86.3 327.8 64 383.9 64 423.6c0 26.1 9.7 50.3 26.2 70.1 9.9 11.9 26.1 18.3 42.7 18.3h150.3c16.6 0 32.8-6.4 42.7-18.3 16.5-19.8 26.2-43.9 26.2-70.1 0-39.7-22.3-95.8-56.7-135.6H388c20.1 0 33.6-26.4 25.7-50.2zM320 423.6c0 17.6-6.5 34.8-18.8 49.6-3.4 4.1-10.5 6.8-18 6.8H132.9c-7.5 0-14.6-2.7-18-6.8-12.3-14.8-18.8-32-18.8-49.6 0-41.7 31-106 70.4-135.6h83.1C289 317.6 320 381.9 320 423.6zM377.4 256H38.6c-4.3 0-7.3-4.2-5.9-8.2 0-.1.1-.2.1-.3L116.7 32h194.7l71.9 215.9v.1c1.4 4-1.7 8-5.9 8z\"] };\nvar faLanguage = { prefix: 'far', iconName: 'language', icon: [640, 512, [], \"f1ab\", \"M616 96H24c-13.255 0-24 10.745-24 24v272c0 13.255 10.745 24 24 24h592c13.255 0 24-10.745 24-24V120c0-13.255-10.745-24-24-24zM233.209 352h-22.598a12 12 0 0 1-11.515-8.622l-9.286-31.657h-59.882l-9.055 31.586A12 12 0 0 1 109.338 352h-22.54c-8.22 0-14.007-8.078-11.362-15.861l57.097-168A12 12 0 0 1 143.895 160h32.218c5.139 0 9.708 3.273 11.362 8.139l57.097 168c2.644 7.783-3.142 15.861-11.363 15.861zM600 376H320V136h280v240zM168.059 236.8l10.741 37.327h-37.863l11.01-37.327c3.491-12.084 7.787-33.029 7.787-33.029h.537c.001 0 4.298 20.945 7.788 33.029zM360 216v-16c0-6.627 5.373-12 12-12h64v-16c0-6.627 5.373-12 12-12h16c6.627 0 12 5.373 12 12v16h64c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12h-13.879c-7.154 20.37-19.616 41.465-36.757 62.034a266.517 266.517 0 0 1-4.297 5.016c8.879 7.822 18.065 14.917 27.25 20.925 5.308 3.472 6.987 10.474 3.84 15.981l-7.962 13.934c-3.429 6.001-11.185 7.839-16.992 4.09-12.378-7.99-23.974-17.062-34.635-26.638-11.361 9.856-23.48 18.914-35.96 26.819-5.754 3.645-13.397 1.687-16.776-4.227l-7.942-13.898c-3.162-5.533-1.473-12.614 3.906-16.032 10.079-6.405 19.718-13.566 28.728-21.227-9.083-10.466-16.972-20.883-23.475-30.6-3.83-5.723-2.111-13.48 3.802-17.01l13.744-8.204c5.469-3.265 12.545-1.698 16.092 3.592 5.453 8.134 11.621 16.179 18.269 23.952 10.764-12.61 19.603-25.709 25.86-38.504H372c-6.627-.003-12-5.376-12-12.003z\"] };\nvar faLaptop = { prefix: 'far', iconName: 'laptop', icon: [640, 512, [], \"f109\", \"M628 352H358c-3.3 0-6 2.7-6 6v18c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-18c0-3.3-2.7-6-6-6H12c-6.6 0-12 5.4-12 12v100c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V364c0-6.6-5.4-12-12-12zm-36 112H48v-64h208c0 13.3 10.7 32 24 32h80c13.3 0 24-18.7 24-32h208v64zM112 320h416c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v224c0 26.5 21.5 48 48 48zm0-266c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v212c0 3.3-2.7 6-6 6H118c-3.3 0-6-2.7-6-6V54z\"] };\nvar faLeaf = { prefix: 'far', iconName: 'leaf', icon: [576, 512, [], \"f06c\", \"M546.2 9.7c-2.9-6.5-8.6-9.7-14.3-9.7-5.3 0-10.7 2.8-14 8.5C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 17.8 2.6 34.9 7.1 51.2C29 403.7 1.8 478.8 1.3 480.2c-4.3 12.5 2.3 26.2 14.8 30.5 14 4.8 26.7-3.8 30.5-14.8.4-1.1 21-57.5 76.3-110.1C160.5 449 231.5 487 308.4 478.9 465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6zM303.4 431.2c-86.1 9.1-130.6-54.5-142.2-76.5 47.4-32.9 112-58.7 198.9-58.7 13.2 0 24-10.8 24-24s-10.8-24-24-24c-91.3 0-161.1 25.5-214 59.4-.9-6.4-2-12.8-2-19.4 0-79.4 64.6-144 144-144h80c57.9 0 111.6-22 152-60.9 5.2 23.2 8 47.5 8 71.2-.1 151-93.9 267.4-224.7 276.9z\"] };\nvar faLeafHeart = { prefix: 'far', iconName: 'leaf-heart', icon: [576, 512, [], \"f4cb\", \"M397.4 219c-23.5-19.1-54.3-10.6-70 4.8l-7.4 7.3-7.4-7.3c-15.3-15.1-46.2-24.1-70-4.8-23.6 19.1-24.8 53.5-3.7 74.2l72.6 71.3c4.7 4.6 12.3 4.6 17 0l72.6-71.3c21-20.7 19.8-55.1-3.7-74.2zM546.2 9.7c-2.9-6.5-8.6-9.7-14.3-9.7-5.3 0-10.7 2.8-14 8.5C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 17.5 2.5 34.4 6.9 50.5C29 402.5 2.5 476.9 1.3 480.2c-4.3 12.5 2.3 26.1 14.8 30.5 2.6.9 5.2 1.3 7.9 1.3 9.9 0 19.2-6.2 22.7-16.1.2-.6 21.1-57.8 76.1-110.4C160.3 449 231.5 487 308.4 478.9 465.5 467.6 576 326.8 576 154.3c0-50.2-10.8-102.2-29.8-144.6zM303.4 431.2C215.4 440.5 144 370.8 144 288c0-79.4 64.6-144 144-144h80c57.9 0 111.6-22 152-60.9 5.2 23.2 8 47.5 8 71.2 0 151-93.8 267.4-224.6 276.9z\"] };\nvar faLemon = { prefix: 'far', iconName: 'lemon', icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"] };\nvar faLevelDown = { prefix: 'far', iconName: 'level-down', icon: [320, 512, [], \"f149\", \"M316.485 392l-116 116.485c-4.686 4.686-12.284 4.686-16.971 0L67.515 392c-4.686-4.686-4.686-12.284 0-16.971l22.312-22.312c4.808-4.808 12.646-4.665 17.275.315L164 414.996V56H44.024a11.996 11.996 0 0 1-8.485-3.515l-32-32C-4.021 12.926 1.333 0 12.024 0H196c13.255 0 24 10.745 24 24v390.996l56.899-61.963c4.629-4.98 12.467-5.123 17.275-.315l22.312 22.312c4.686 4.686 4.686 12.284-.001 16.97z\"] };\nvar faLevelDownAlt = { prefix: 'far', iconName: 'level-down-alt', icon: [320, 512, [], \"f3be\", \"M296.64 412.326l-96.16 96.16c-4.686 4.687-12.285 4.686-16.97 0L87.354 412.33c-7.536-7.536-2.198-20.484 8.485-20.485l68.161-.002V56H64a11.996 11.996 0 0 1-8.485-3.515l-32-32C15.955 12.926 21.309 0 32 0h164c13.255 0 24 10.745 24 24v367.842l68.154-.001c10.626-.001 16.066 12.905 8.486 20.485z\"] };\nvar faLevelUp = { prefix: 'far', iconName: 'level-up', icon: [320, 512, [], \"f148\", \"M316.485 120l-116-116.485c-4.686-4.686-12.284-4.686-16.971 0L67.515 120c-4.686 4.686-4.686 12.284 0 16.971l22.312 22.312c4.808 4.808 12.646 4.665 17.275-.315L164 97.004V456H44.024a11.996 11.996 0 0 0-8.485 3.515l-32 32C-4.021 499.074 1.333 512 12.024 512H196c13.255 0 24-10.745 24-24V97.004l56.899 61.963c4.629 4.98 12.467 5.123 17.275.315l22.312-22.312c4.686-4.686 4.686-12.284-.001-16.97z\"] };\nvar faLevelUpAlt = { prefix: 'far', iconName: 'level-up-alt', icon: [320, 512, [], \"f3bf\", \"M296.64 99.674l-96.16-96.16c-4.686-4.687-12.285-4.686-16.97 0L87.353 99.671c-7.536 7.536-2.198 20.484 8.485 20.485l68.162.002V456H64a11.996 11.996 0 0 0-8.485 3.515l-32 32C15.955 499.074 21.309 512 32 512h164c13.255 0 24-10.745 24-24V120.159l68.154.001c10.626 0 16.066-12.906 8.486-20.486z\"] };\nvar faLifeRing = { prefix: 'far', iconName: 'life-ring', icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"] };\nvar faLightbulb = { prefix: 'far', iconName: 'lightbulb', icon: [384, 512, [], \"f0eb\", \"M272 428v28c0 10.449-6.68 19.334-16 22.629V488c0 13.255-10.745 24-24 24h-80c-13.255 0-24-10.745-24-24v-9.371c-9.32-3.295-16-12.18-16-22.629v-28c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zM128 176c0-35.29 28.71-64 64-64 8.837 0 16-7.164 16-16s-7.163-16-16-16c-52.935 0-96 43.065-96 96 0 8.836 7.164 16 16 16s16-7.164 16-16zm64-128c70.734 0 128 57.254 128 128 0 77.602-37.383 60.477-80.98 160h-94.04C101.318 236.33 64 253.869 64 176c0-70.735 57.254-128 128-128m0-48C94.805 0 16 78.803 16 176c0 101.731 51.697 91.541 90.516 192.674 3.55 9.249 12.47 15.326 22.376 15.326h126.215c9.906 0 18.826-6.078 22.376-15.326C316.303 267.541 368 277.731 368 176 368 78.803 289.195 0 192 0z\"] };\nvar faLink = { prefix: 'far', iconName: 'link', icon: [512, 512, [], \"f0c1\", \"M314.222 197.78c51.091 51.091 54.377 132.287 9.75 187.16-6.242 7.73-2.784 3.865-84.94 86.02-54.696 54.696-143.266 54.745-197.99 0-54.711-54.69-54.734-143.255 0-197.99 32.773-32.773 51.835-51.899 63.409-63.457 7.463-7.452 20.331-2.354 20.486 8.192a173.31 173.31 0 0 0 4.746 37.828c.966 4.029-.272 8.269-3.202 11.198L80.632 312.57c-32.755 32.775-32.887 85.892 0 118.8 32.775 32.755 85.892 32.887 118.8 0l75.19-75.2c32.718-32.725 32.777-86.013 0-118.79a83.722 83.722 0 0 0-22.814-16.229c-4.623-2.233-7.182-7.25-6.561-12.346 1.356-11.122 6.296-21.885 14.815-30.405l4.375-4.375c3.625-3.626 9.177-4.594 13.76-2.294 12.999 6.524 25.187 15.211 36.025 26.049zM470.958 41.04c-54.724-54.745-143.294-54.696-197.99 0-82.156 82.156-78.698 78.29-84.94 86.02-44.627 54.873-41.341 136.069 9.75 187.16 10.838 10.838 23.026 19.525 36.025 26.049 4.582 2.3 10.134 1.331 13.76-2.294l4.375-4.375c8.52-8.519 13.459-19.283 14.815-30.405.621-5.096-1.938-10.113-6.561-12.346a83.706 83.706 0 0 1-22.814-16.229c-32.777-32.777-32.718-86.065 0-118.79l75.19-75.2c32.908-32.887 86.025-32.755 118.8 0 32.887 32.908 32.755 86.025 0 118.8l-45.848 45.84c-2.93 2.929-4.168 7.169-3.202 11.198a173.31 173.31 0 0 1 4.746 37.828c.155 10.546 13.023 15.644 20.486 8.192 11.574-11.558 30.636-30.684 63.409-63.457 54.733-54.735 54.71-143.3-.001-197.991z\"] };\nvar faLiraSign = { prefix: 'far', iconName: 'lira-sign', icon: [384, 512, [], \"f195\", \"M371.994 256H336c-6.415 0-11.7 5.049-11.982 11.457C319.492 370.307 253.298 424 156.041 424H128V252.141l150.603-33.467A12 12 0 0 0 288 206.96v-24.585c0-7.677-7.109-13.38-14.603-11.714L128 202.97v-46.829l150.603-33.467A12 12 0 0 0 288 110.96V86.374c0-7.677-7.109-13.38-14.603-11.714L128 106.97V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v77.192L9.397 133.326A12 12 0 0 0 0 145.041v24.585c0 7.677 7.109 13.38 14.603 11.714L64 170.363v46.829L9.397 229.326A12 12 0 0 0 0 241.041v24.585c0 7.677 7.109 13.38 14.603 11.714L64 266.363V468c0 6.627 5.373 12 12 12h81.026c132.906 0 221.849-77.22 226.965-211.595.259-6.78-5.212-12.405-11.997-12.405z\"] };\nvar faList = { prefix: 'far', iconName: 'list', icon: [512, 512, [], \"f03a\", \"M500 124H140c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm12 148v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zm0 160v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zM92 128V64c0-6.627-5.373-12-12-12H16C9.373 52 4 57.373 4 64v64c0 6.627 5.373 12 12 12h64c6.627 0 12-5.373 12-12zm0 160v-64c0-6.627-5.373-12-12-12H16c-6.627 0-12 5.373-12 12v64c0 6.627 5.373 12 12 12h64c6.627 0 12-5.373 12-12zm0 160v-64c0-6.627-5.373-12-12-12H16c-6.627 0-12 5.373-12 12v64c0 6.627 5.373 12 12 12h64c6.627 0 12-5.373 12-12z\"] };\nvar faListAlt = { prefix: 'far', iconName: 'list-alt', icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"] };\nvar faListOl = { prefix: 'far', iconName: 'list-ol', icon: [512, 512, [], \"f0cb\", \"M500 124H140c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm12 148v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zm0 160v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zM3.263 148.428C3.263 155.905 7.18 160 14.836 160h67.293c7.655 0 11.572-4.095 11.572-11.572v-8.901c0-7.477-3.917-11.572-11.572-11.572H66.64V43.572C66.64 35.916 62.547 32 54.891 32H42.785c-6.053 0-9.97 1.602-14.42 5.697L6.646 57.635C1.128 62.798.771 68.673 6.112 74.014l5.518 6.231c5.162 5.519 11.216 5.341 15.666 1.068 1.069-1.068 2.848-3.738 2.848-3.738h.356s-.534 5.34-.534 10.503v39.878h-15.13c-7.656 0-11.573 4.094-11.573 11.572v8.9zm-1.052 160.19c0 7.354 5.078 11.382 12.083 11.382h67.939c7.529 0 11.557-4.028 11.557-11.382v-8.755c0-7.355-4.028-11.382-11.557-11.382H43.184c1.926-10.507 48.679-18.561 48.679-56.909 0-29.067-25.039-39.573-44.476-39.573-21.362 0-33.795 9.981-40.449 18.736-4.378 5.604-2.976 10.857 2.803 15.409l8.579 6.829c5.604 4.553 11.032 2.452 16.111-2.451 2.976-2.801 6.303-3.852 9.455-3.852 3.326 0 9.28 1.576 9.28 8.755 0 12.782-50.955 21.888-50.955 69.165v4.028zM8.28 470.545C15.984 475.272 27.54 480 44.176 480c34.145 0 48.503-22.763 48.503-44.126 0-14.358-9.105-29.767-28.716-34.845l17.509-20.137c3.678-4.377 5.079-8.405 5.079-14.183v-3.327c0-7.355-3.853-11.382-11.382-11.382H16.685c-7.53 0-11.383 3.852-11.383 11.382v8.755c0 7.354 3.853 11.382 11.383 11.382h12.957c8.405 0 12.608-1.051 12.608-1.051v.35s-5.428 5.078-12.257 13.483l-5.604 7.004c-4.028 5.078-5.253 10.156-2.801 14.884l1.05 1.926c2.978 5.779 6.304 7.88 12.258 7.88h4.728c10.33 0 15.934 2.452 15.934 9.106 0 4.728-4.203 8.23-14.358 8.23-4.729 0-9.457-1.051-14.359-3.152-6.479-3.852-11.732-3.502-15.584 3.152l-5.603 9.28c-3.678 6.128-3.153 11.731 2.626 15.934z\"] };\nvar faListUl = { prefix: 'far', iconName: 'list-ul', icon: [512, 512, [], \"f0ca\", \"M96 96c0 26.51-21.49 48-48 48S0 122.51 0 96s21.49-48 48-48 48 21.49 48 48zM48 208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm0 160c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm464-256V80c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zm0 160v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12zm0 160v-32c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12z\"] };\nvar faLocationArrow = { prefix: 'far', iconName: 'location-arrow', icon: [512, 512, [], \"f124\", \"M507.38 68.225L315.582 484.108C294.161 530.519 224 515.72 224 463.993V288H47.933c-51.323 0-66.635-70.111-20.115-91.582L443.683 4.529c39.945-18.437 82.602 22.735 63.697 63.696zM272 464L464 48 48 240h224v224z\"] };\nvar faLock = { prefix: 'far', iconName: 'lock', icon: [448, 512, [], \"f023\", \"M400 192h-32v-46.6C368 65.8 304 .2 224.4 0 144.8-.2 80 64.5 80 144v48H48c-26.5 0-48 21.5-48 48v224c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48zm-272-48c0-52.9 43.1-96 96-96s96 43.1 96 96v48H128v-48zm272 320H48V240h352v224z\"] };\nvar faLockAlt = { prefix: 'far', iconName: 'lock-alt', icon: [448, 512, [], \"f30d\", \"M224 412c-15.5 0-28-12.5-28-28v-64c0-15.5 12.5-28 28-28s28 12.5 28 28v64c0 15.5-12.5 28-28 28zm224-172v224c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V240c0-26.5 21.5-48 48-48h32v-48C80 64.5 144.8-.2 224.4 0 304 .2 368 65.8 368 145.4V192h32c26.5 0 48 21.5 48 48zm-320-48h192v-48c0-52.9-43.1-96-96-96s-96 43.1-96 96v48zm272 48H48v224h352V240z\"] };\nvar faLockOpen = { prefix: 'far', iconName: 'lock-open', icon: [576, 512, [], \"f3c1\", \"M432.3 0C352.8-.2 288 64.5 288 144v48H48c-26.5 0-48 21.5-48 48v224c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48h-64v-46.8c0-52.8 42.1-96.7 95-97.2 53.4-.6 97 42.7 97 96v56c0 13.3 10.7 24 24 24s24-10.7 24-24v-54.6C576 65.8 512 .2 432.3 0zM400 240v224H48V240h352z\"] };\nvar faLockOpenAlt = { prefix: 'far', iconName: 'lock-open-alt', icon: [576, 512, [], \"f3c2\", \"M432.3 0C352.8-.2 288 64.5 288 144v48H48c-26.5 0-48 21.5-48 48v224c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48h-64v-46.8c0-52.8 42.1-96.7 95-97.2 53.4-.6 97 42.7 97 96v56c0 13.3 10.7 24 24 24s24-10.7 24-24v-54.6C576 65.8 512 .2 432.3 0zM400 240v224H48V240h352zM225 412c-15.5 0-28-12.5-28-28v-64c0-15.5 12.5-28 28-28s28 12.5 28 28v64c0 15.5-12.5 28-28 28z\"] };\nvar faLongArrowAltDown = { prefix: 'far', iconName: 'long-arrow-alt-down', icon: [256, 512, [], \"f309\", \"M20.485 372.485l99.029 99.03c4.686 4.686 12.284 4.686 16.971 0l99.029-99.03c7.56-7.56 2.206-20.485-8.485-20.485H156V44c0-6.627-5.373-12-12-12h-32c-6.627 0-12 5.373-12 12v308H28.97c-10.69 0-16.044 12.926-8.485 20.485z\"] };\nvar faLongArrowAltLeft = { prefix: 'far', iconName: 'long-arrow-alt-left', icon: [448, 512, [], \"f30a\", \"M107.515 150.971L8.485 250c-4.686 4.686-4.686 12.284 0 16.971L107.515 366c7.56 7.56 20.485 2.206 20.485-8.485v-71.03h308c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H128v-71.03c0-10.69-12.926-16.044-20.485-8.484z\"] };\nvar faLongArrowAltRight = { prefix: 'far', iconName: 'long-arrow-alt-right', icon: [448, 512, [], \"f30b\", \"M340.485 366l99.03-99.029c4.686-4.686 4.686-12.284 0-16.971l-99.03-99.029c-7.56-7.56-20.485-2.206-20.485 8.485v71.03H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h308v71.03c0 10.689 12.926 16.043 20.485 8.484z\"] };\nvar faLongArrowAltUp = { prefix: 'far', iconName: 'long-arrow-alt-up', icon: [256, 512, [], \"f30c\", \"M235.515 139.515l-99.029-99.03c-4.686-4.686-12.284-4.686-16.971 0l-99.029 99.03C12.926 147.074 18.28 160 28.97 160H100v308c0 6.627 5.373 12 12 12h32c6.627 0 12-5.373 12-12V160h71.03c10.69 0 16.044-12.926 8.485-20.485z\"] };\nvar faLongArrowDown = { prefix: 'far', iconName: 'long-arrow-down', icon: [320, 512, [], \"f175\", \"M300.3 327.5l-19.6-19.6c-4.8-4.8-12.5-4.7-17.1.2L186 388.8V44c0-6.6-5.4-12-12-12h-28c-6.6 0-12 5.4-12 12v344.8l-77.5-80.7c-4.7-4.8-12.4-4.9-17.1-.2l-19.6 19.6c-4.7 4.7-4.7 12.3 0 17l131.8 131.8c4.7 4.7 12.3 4.7 17 0l131.8-131.8c4.6-4.7 4.6-12.3-.1-17z\"] };\nvar faLongArrowLeft = { prefix: 'far', iconName: 'long-arrow-left', icon: [448, 512, [], \"f177\", \"M152.485 396.284l19.626-19.626c4.753-4.753 4.675-12.484-.173-17.14L91.22 282H436c6.627 0 12-5.373 12-12v-28c0-6.627-5.373-12-12-12H91.22l80.717-77.518c4.849-4.656 4.927-12.387.173-17.14l-19.626-19.626c-4.686-4.686-12.284-4.686-16.971 0L3.716 247.515c-4.686 4.686-4.686 12.284 0 16.971l131.799 131.799c4.686 4.685 12.284 4.685 16.97-.001z\"] };\nvar faLongArrowRight = { prefix: 'far', iconName: 'long-arrow-right', icon: [448, 512, [], \"f178\", \"M295.515 115.716l-19.626 19.626c-4.753 4.753-4.675 12.484.173 17.14L356.78 230H12c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h344.78l-80.717 77.518c-4.849 4.656-4.927 12.387-.173 17.14l19.626 19.626c4.686 4.686 12.284 4.686 16.971 0l131.799-131.799c4.686-4.686 4.686-12.284 0-16.971L312.485 115.716c-4.686-4.686-12.284-4.686-16.97 0z\"] };\nvar faLongArrowUp = { prefix: 'far', iconName: 'long-arrow-up', icon: [320, 512, [], \"f176\", \"M19.716 184.485l19.626 19.626c4.753 4.753 12.484 4.675 17.14-.173L134 123.22V468c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12V123.22l77.518 80.717c4.656 4.849 12.387 4.927 17.14.173l19.626-19.626c4.686-4.686 4.686-12.284 0-16.971L168.485 35.716c-4.686-4.686-12.284-4.686-16.971 0L19.716 167.515c-4.686 4.686-4.686 12.284 0 16.97z\"] };\nvar faLoveseat = { prefix: 'far', iconName: 'loveseat', icon: [512, 512, [], \"f4cc\", \"M448 196.6V128c0-53-43-96-96-96H160c-53 0-96 43-96 96v68.6C29.4 207.3 3.1 236.9.3 273-2 302 9.9 329.5 32 347.6V440c0 22.1 17.9 40 40 40h88c4 0 30.2-.9 31.9-32h128.3c1.4 30.8 28 32 31.9 32h88c22.1 0 40-17.9 40-40v-92.4c22-18.1 34-45.5 31.7-74.6-2.9-36.1-29.2-65.7-63.8-76.4zM144 432H80V321.3l-11.9-7C54.6 306.5 47 292 48.2 276.7 49.7 256.5 69.4 240 92 240h12c22.1 0 40 17.9 40 40v152zm176-128v96H192v-96h128zm3.7-48H188.2c-9.8-34.3-39.7-59.8-76.2-63.2V128c0-26.5 21.5-48 48-48h192c26.5 0 48 21.5 48 48v64.8c-36.6 3.4-66.5 28.9-76.3 63.2zm120.2 58.4l-11.9 7V432h-64V280c0-22.1 17.9-40 40-40h12c22.6 0 42.3 16.5 43.9 36.8 1.1 15.3-6.5 29.7-20 37.6z\"] };\nvar faLowVision = { prefix: 'far', iconName: 'low-vision', icon: [576, 512, [], \"f2a8\", \"M569.348 231.63C512.968 135.95 407.81 72 288 72c-31.44 0-61.87 4.4-90.67 12.63L144 5.12c-3.8-5.429-11.282-6.75-16.712-2.95l-19.657 13.758c-5.43 3.8-6.751 11.284-2.95 16.713L150.8 101.84c-58.851 27-110.003 71.82-144.147 129.79a47.963 47.963 0 0 0 0 48.74c36.15 61.35 92.357 109.66 159.637 136.42L50.65 251.6a273.208 273.208 0 0 1 38.609-49.099L254.32 438.3c19.795 2.055 40.851 2.183 59.09.73L126.009 171.311a277.521 277.521 0 0 1 52.851-29.381l.34.49L432 506.881c3.8 5.429 11.282 6.75 16.712 2.95l19.657-13.758c5.43-3.8 6.751-11.283 2.95-16.713l-46.119-69.2c60.42-27.72 110.818-73.22 144.148-129.79a47.963 47.963 0 0 0 0-48.74zM397.15 370.08l-26.59-37.99c54.022-41.348 68.205-114.637 37.44-172.13v.04c0 30.93-25.07 56-56 56s-56-25.07-56-56c0-15.17 6.04-28.92 15.84-39.01 92.48 7.74 172 60.08 216.16 135.01-29.8 50.57-75.71 90.86-130.85 114.08z\"] };\nvar faLuchador = { prefix: 'far', iconName: 'luchador', icon: [448, 512, [], \"f455\", \"M224 0C100.3 0 0 100.3 0 224v128c0 88.4 71.6 160 160 160h128c88.4 0 160-71.6 160-160V224C448 100.3 347.7 0 224 0zm176 352c0 61.8-50.2 112-112 112H160c-61.8 0-112-50.2-112-112V224c0-97 79-176 176-176s176 79 176 176v128zM226.5 226.2c-.9-.7-4.2-.7-5.1 0C213.3 188.3 182 160 144 160H76c-6.6 0-12 5.4-12 12v30.7c0 47.1 35.8 85.3 80 85.3h22.4c-7.4 12.2-12.5 23.5-15.8 32.9-30.9 4.6-54.6 31-54.6 63.1 0 35.5 29.4 64 64.9 64H287c35.5 0 64.9-28.5 64.9-64 0-32.1-23.7-58.5-54.6-63.1-3.3-9.5-8.4-20.7-15.8-32.9H304c44.2 0 80-38.2 80-85.3V172c0-6.6-5.4-12-12-12h-68c-37.9 0-69.3 28.3-77.5 66.2zm-2.5 40.5c20.2 19.9 31.9 38.6 38.7 53.3h-77.4c6.8-14.8 18.5-33.4 38.7-53.3zM144 256c-26.5 0-48-23.9-48-53.3V192h48c26.5 0 48 23.9 48 53.3v8.7c-.6.7-1.2 1.3-1.8 2H144zm144 96c17.6 0 32 14.4 32 32s-14.4 32-32 32H160c-17.6 0-32-14.4-32-32s14.4-32 32-32h128zm64-149.3c0 29.4-21.5 53.3-48 53.3h-46.2c-.6-.7-1.2-1.3-1.8-2v-8.7c0-29.4 21.5-53.3 48-53.3h48v10.7z\"] };\nvar faMagic = { prefix: 'far', iconName: 'magic', icon: [512, 512, [], \"f0d0\", \"M83.1 500.3l-71.4-71.4c-15.6-15.6-15.6-40.9 0-56.6L372.3 11.7c15.6-15.6 40.9-15.6 56.6 0l71.4 71.4c15.6 15.6 15.6 40.9 0 56.6L139.7 500.3c-15.6 15.6-40.9 15.6-56.6 0zm266-277.3L289 162.9 51.3 400.6l60.1 60.1L349.1 223zm111.6-111.6l-60.1-60.1-77.7 77.7 60.1 60.1 77.7-77.7zM138.9 39.3l-11.7 23.8-26.2 3.8c-4.7.7-6.6 6.5-3.2 9.8l19 18.5-4.5 26.1c-.8 4.7 4.1 8.3 8.3 6.1L144 115l23.4 12.3c4.2 2.2 9.1-1.4 8.3-6.1l-4.5-26.1 19-18.5c3.4-3.3 1.5-9.1-3.2-9.8L160.8 63l-11.7-23.8c-2-4.1-8.1-4.1-10.2.1zm97.7-20.7l-7.8 15.8-17.5 2.6c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L240 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm-192 0l-7.8 15.8L19.3 37c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L48 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm416 223.5l-7.8 15.8-17.5 2.5c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4l15.6-8.2 15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-2.8-5.4-2.8-6.8 0z\"] };\nvar faMagnet = { prefix: 'far', iconName: 'magnet', icon: [512, 512, [], \"f076\", \"M509.8 55.6c-1.2-3.3-2.9-6.4-5-9.2-6.6-8.8-17-14.5-28.8-14.5H372c-12.4 0-23.4 6.3-29.9 15.9-1 1.4-1.8 2.9-2.6 4.5-2.3 4.7-3.5 10-3.5 15.6v172c0 64-40 96-79.9 96-40 0-80.1-32-80.1-96V68c0-4.3-.8-8.5-2.2-12.4-1.2-3.3-2.9-6.4-5-9.2-6.6-8.8-17-14.5-28.8-14.5H36c-11.8 0-22.3 5.7-28.8 14.5-2.1 2.8-3.8 5.9-5 9.2C.8 59.5 0 63.7 0 68v189.3C0 408 136.2 504 256.8 504 377.5 504 512 408 512 257.3V68c0-4.3-.8-8.5-2.2-12.4zM464 257.3c0 28.9-6.1 56.2-18.2 81.3-11.2 23.4-27.3 44.4-47.9 62.5-19.5 17.2-42.9 31.2-67.6 40.7-24.1 9.3-49.6 14.2-73.6 14.2-49.5 0-102.6-20.6-142.1-55-20.7-18.1-37-39.1-48.4-62.5-12-25.1-18.2-52.4-18.2-81.2V176h80v64c0 53.1 20.7 86.3 38 104.8 11.9 12.7 26 22.6 41.8 29.3 15.3 6.5 31.6 9.9 48.2 9.9 16.7 0 32.9-3.3 48.2-9.8 15.8-6.8 29.9-16.6 41.8-29.3 17.3-18.5 38-51.7 38-104.8v-64h80v81.2z\"] };\nvar faMale = { prefix: 'far', iconName: 'male', icon: [256, 512, [], \"f183\", \"M211.421 155.079C221.892 139.273 228 120.338 228 100 228 44.86 183.14 0 128 0S28 44.86 28 100c0 20.338 6.108 39.273 16.579 55.079C18.005 169.985 0 198.424 0 231v89c0 26.039 15.629 48.494 38 58.479V448c0 35.29 28.71 64 64 64h52c35.29 0 64-28.71 64-64v-69.521c22.371-9.984 38-32.44 38-58.479v-89c0-32.576-18.005-61.015-44.579-75.921zM128 48c28.719 0 52 23.281 52 52s-23.281 52-52 52-52-23.281-52-52 23.281-52 52-52zm80 272c0 8.8-7.2 16-16 16h-22v112c0 8.837-7.163 16-16 16h-52c-8.837 0-16-7.163-16-16V336H64c-8.837 0-16-7.163-16-16v-89c0-19.793 15.074-39 40.818-39 24.961 10.671 53.4 10.672 78.364 0 25.37 0 40.818 18.885 40.818 39v89z\"] };\nvar faMap = { prefix: 'far', iconName: 'map', icon: [576, 512, [], \"f279\", \"M508.505 36.17L381.517 92.576 207.179 34.463a47.992 47.992 0 0 0-34.674 1.674l-144 64A48 48 0 0 0 0 144v287.967c0 34.938 35.991 57.864 67.495 43.863l126.988-56.406 174.339 58.113a47.992 47.992 0 0 0 34.674-1.674l144-64A48 48 0 0 0 576 368V80.033c0-34.938-35.991-57.864-67.495-43.863zM360 424l-144-48V88l144 48v288zm-312 8V144l120-53.333v288L48 432zm480-64l-120 53.333v-288L528 80v288z\"] };\nvar faMapMarker = { prefix: 'far', iconName: 'map-marker', icon: [384, 512, [], \"f041\", \"M192 0C85.903 0 0 86.014 0 192c0 71.117 23.991 93.341 151.271 297.424 18.785 30.119 62.694 30.083 81.457 0C360.075 285.234 384 263.103 384 192 384 85.903 297.986 0 192 0zm0 464C64.576 259.686 48 246.788 48 192c0-79.529 64.471-144 144-144s144 64.471 144 144c0 54.553-15.166 65.425-144 272z\"] };\nvar faMapMarkerAlt = { prefix: 'far', iconName: 'map-marker-alt', icon: [384, 512, [], \"f3c5\", \"M192 0C85.903 0 0 86.014 0 192c0 71.117 23.991 93.341 151.271 297.424 18.785 30.119 62.694 30.083 81.457 0C360.075 285.234 384 263.103 384 192 384 85.903 297.986 0 192 0zm0 464C64.576 259.686 48 246.788 48 192c0-79.529 64.471-144 144-144s144 64.471 144 144c0 54.553-15.166 65.425-144 272zm-80-272c0-44.183 35.817-80 80-80s80 35.817 80 80-35.817 80-80 80-80-35.817-80-80z\"] };\nvar faMapPin = { prefix: 'far', iconName: 'map-pin', icon: [320, 512, [], \"f276\", \"M320 160C320 71.965 248.9.536 160.99.003 72.711-.532-.001 71.721 0 160.002c.001 80.207 59.021 146.626 136 158.206v160.625l13.267 26.534c4.422 8.845 17.044 8.845 21.466 0L184 478.833V318.208c76.98-11.581 136-78 136-158.208zM160 272c-61.898 0-112-50.092-112-112C48 98.102 98.092 48 160 48c61.898 0 112 50.092 112 112 0 61.898-50.092 112-112 112zm8-176c0 8.836-7.163 16-16 16-22.056 0-40 17.944-40 40 0 8.836-7.163 16-16 16s-16-7.164-16-16c0-39.701 32.299-72 72-72 8.837 0 16 7.164 16 16z\"] };\nvar faMapSigns = { prefix: 'far', iconName: 'map-signs', icon: [512, 512, [], \"f277\", \"M424 192a24 24 0 0 0 16.971-7.029l56-56c9.372-9.373 9.372-24.569 0-33.941l-56-56A23.997 23.997 0 0 0 424 32H280V12c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v20H56c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h176v32H88a24 24 0 0 0-16.971 7.029l-56 56c-9.372 9.373-9.372 24.568 0 33.941l56 56A23.997 23.997 0 0 0 88 384h144v116c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V384h176c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24H280v-32h144zm8 80v64H97.941l-32-32 32-32H432zM80 144V80h334.059l32 32-32 32H80z\"] };\nvar faMars = { prefix: 'far', iconName: 'mars', icon: [384, 512, [], \"f222\", \"M372 64h-63c-10.7 0-16 12.9-8.5 20.5L315 99l-87.6 87.6C203.9 169.9 175.1 160 144 160 64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-31.1-9.9-59.9-26.6-83.4L349 133l14.5 14.5c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 400c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faMarsDouble = { prefix: 'far', iconName: 'mars-double', icon: [512, 512, [], \"f227\", \"M288 208c0-31.1-9.9-59.9-26.6-83.4L317 69l14.5 14.5c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12h-63c-10.7 0-16 12.9-8.5 20.5L283 35l-55.6 55.6C203.9 73.9 175.1 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144zm-144 96c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96zm368-132v63c0 10.7-12.9 16-20.5 8.5L477 229l-55.6 55.6c16.8 23.5 26.6 52.3 26.6 83.4 0 79.5-64.5 144-144 144-74.4 0-135.6-56.4-143.2-128.8 16.1-1.5 32-5.3 47.3-11.2 2.1 51.1 44.3 92 95.9 92 52.9 0 96-43.1 96-96 0-51.6-40.9-93.8-92-95.9 6-15.3 9.7-31.2 11.2-47.3 25.3 2.7 48.6 11.8 68.2 25.8L443 195l-14.5-14.5c-7.6-7.6-2.2-20.5 8.5-20.5h63c6.6 0 12 5.4 12 12z\"] };\nvar faMarsStroke = { prefix: 'far', iconName: 'mars-stroke', icon: [384, 512, [], \"f229\", \"M372 64h-63c-10.7 0-16 12.9-8.5 20.5L315 99l-23.4 23.4-14.1-14.1c-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-30.2 30.2C203.9 169.9 175.1 160 144 160 64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-31.1-9.9-59.9-26.6-83.4l30.2-30.2 14.1 14.1c4.7 4.7 12.3 4.7 17 0l17-17c4.7-4.7 4.7-12.3 0-17l-14.1-14.1L349 133l14.5 14.5c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 400c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faMarsStrokeH = { prefix: 'far', iconName: 'mars-stroke-h', icon: [480, 512, [], \"f22b\", \"M476.5 247.5l-44.6-44.6c-7.6-7.6-20.5-2.2-20.5 8.5V232H376v-20c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v20h-42c-4.8-28.5-18.2-55.8-40.2-77.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 22-22 35.4-49.3 40.2-77.8h42v20c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-20h35.4v20.6c0 10.7 12.9 16 20.5 8.5l44.6-44.6c4.7-4.7 4.7-12.3 0-17zm-264.6 76.4c-37.4 37.4-98.3 37.4-135.8 0-37.4-37.4-37.4-98.3 0-135.8 37.4-37.4 98.3-37.4 135.8 0 37.4 37.4 37.4 98.4 0 135.8z\"] };\nvar faMarsStrokeV = { prefix: 'far', iconName: 'mars-stroke-v', icon: [288, 512, [], \"f22a\", \"M245.8 234.2c-22-22-49.3-35.4-77.8-40.2v-42.7h20c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-20V70.1h20.6c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L90.9 49.6c-7.6 7.6-2.2 20.5 8.5 20.5H120v33.1h-20c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h20V194c-28.5 4.8-55.8 18.2-77.8 40.2-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-33.9 169.7c-37.4 37.4-98.3 37.4-135.8 0-37.4-37.4-37.4-98.3 0-135.8 37.4-37.4 98.3-37.4 135.8 0 37.4 37.4 37.4 98.4 0 135.8z\"] };\nvar faMedkit = { prefix: 'far', iconName: 'medkit', icon: [512, 512, [], \"f0fa\", \"M464 96H352V80c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v16H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V144c0-26.51-21.49-48-48-48zM208 80h96v16h-96V80zM54 432a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6H54zm298-160v32c0 6.627-5.373 12-12 12h-56v56c0 6.627-5.373 12-12 12h-32c-6.627 0-12-5.373-12-12v-56h-56c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h56v-56c0-6.627 5.373-12 12-12h32c6.627 0 12 5.373 12 12v56h56c6.627 0 12 5.373 12 12z\"] };\nvar faMeh = { prefix: 'far', iconName: 'meh', icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"] };\nvar faMercury = { prefix: 'far', iconName: 'mercury', icon: [288, 512, [], \"f223\", \"M288 208c0-50.3-25.8-94.6-65-120.4 3.2-2.2 6.2-4.6 9.2-7.2 21.1-18.1 34.1-41.4 37.5-66.8 1-7.2-4.6-13.6-11.9-13.6h-24.3c-5.7 0-10.7 4-11.8 9.7C216 40.4 183.3 64 144 64S72 40.4 66.2 9.7C65.2 4 60.2 0 54.5 0H30.1c-7.3 0-12.9 6.4-11.9 13.6C21.7 39 34.7 62.4 55.8 80.4c3 2.5 6 4.9 9.2 7.2C25.8 113.4 0 157.7 0 208c0 71.6 52.2 130.9 120.6 142.1-.4 1.2-.6 2.4-.6 3.7V408H76c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v44c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-44h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-54.2c0-1.3-.2-2.6-.6-3.7C235.8 338.9 288 279.6 288 208zm-144 96c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faMicrochip = { prefix: 'far', iconName: 'microchip', icon: [512, 512, [], \"f2db\", \"M368.5 0H144c-26.5 0-48 21.5-48 48v416c0 26.5 21.5 48 48 48h224.5c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 457c0 3.3-2.7 7-6 7H150c-3.3 0-6-3.7-6-7V54c0-3.3 2.7-6 6-6h212.5c3.3 0 6 2.7 6 6v403zM512 106v12c0 3.3-2.7 6-6 6h-18v6c0 3.3-2.7 6-6 6h-42V88h42c3.3 0 6 2.7 6 6v6h18c3.3 0 6 2.7 6 6zm0 96v12c0 3.3-2.7 6-6 6h-18v6c0 3.3-2.7 6-6 6h-42v-48h42c3.3 0 6 2.7 6 6v6h18c3.3 0 6 2.7 6 6zm0 96v12c0 3.3-2.7 6-6 6h-18v6c0 3.3-2.7 6-6 6h-42v-48h42c3.3 0 6 2.7 6 6v6h18c3.3 0 6 2.7 6 6zm0 96v12c0 3.3-2.7 6-6 6h-18v6c0 3.3-2.7 6-6 6h-42v-48h42c3.3 0 6 2.7 6 6v6h18c3.3 0 6 2.7 6 6zM30 376h42v48H30c-3.3 0-6-2.7-6-6v-6H6c-3.3 0-6-2.7-6-6v-12c0-3.3 2.7-6 6-6h18v-6c0-3.3 2.7-6 6-6zm0-96h42v48H30c-3.3 0-6-2.7-6-6v-6H6c-3.3 0-6-2.7-6-6v-12c0-3.3 2.7-6 6-6h18v-6c0-3.3 2.7-6 6-6zm0-96h42v48H30c-3.3 0-6-2.7-6-6v-6H6c-3.3 0-6-2.7-6-6v-12c0-3.3 2.7-6 6-6h18v-6c0-3.3 2.7-6 6-6zm0-96h42v48H30c-3.3 0-6-2.7-6-6v-6H6c-3.3 0-6-2.7-6-6v-12c0-3.3 2.7-6 6-6h18v-6c0-3.3 2.7-6 6-6z\"] };\nvar faMicrophone = { prefix: 'far', iconName: 'microphone', icon: [384, 512, [], \"f130\", \"M192 360c61.856 0 112-50.144 112-112V112C304 50.144 253.856 0 192 0S80 50.144 80 112v136c0 61.856 50.144 112 112 112zm-64-248c0-35.29 28.71-64 64-64s64 28.71 64 64v136c0 35.29-28.71 64-64 64s-64-28.71-64-64V112zm248 100v36c0 93.325-69.841 170.638-160 182.435V468h68c6.627 0 12 5.373 12 12v16c0 8.837-7.163 16-16 16H104c-8.837 0-16-7.163-16-16v-16c0-6.627 5.373-12 12-12h68v-37.565C77.841 418.638 8 341.325 8 248v-36c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v36c0 74.99 61.009 136 136 136 74.99 0 136-61.01 136-136v-36c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12z\"] };\nvar faMicrophoneAlt = { prefix: 'far', iconName: 'microphone-alt', icon: [384, 512, [], \"f3c9\", \"M192 360c61.856 0 112-50.144 112-112V112C304 50.144 253.856 0 192 0S80 50.144 80 112v136c0 61.856 50.144 112 112 112zm-64-248c0-35.29 28.71-64 64-64 28.306 0 52.363 18.478 60.782 44H204c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h52v24h-52c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h52v24h-52c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h50.855c-5.635 29.571-31.668 52-62.855 52-35.29 0-64-28.71-64-64V112zm248 100v36c0 93.325-69.841 170.638-160 182.435V468h68c6.627 0 12 5.373 12 12v16c0 8.837-7.163 16-16 16H104c-8.837 0-16-7.163-16-16v-16c0-6.627 5.373-12 12-12h68v-37.565C77.841 418.638 8 341.325 8 248v-36c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v36c0 74.99 61.009 136 136 136 74.99 0 136-61.01 136-136v-36c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12z\"] };\nvar faMicrophoneSlash = { prefix: 'far', iconName: 'microphone-slash', icon: [512, 512, [], \"f131\", \"M194.895 92.953l-36.287-36.287C177.876 22.823 214.271 0 256 0c61.856 0 112 50.144 112 112v136c0 5.711-.43 11.322-1.255 16.804L320 218.059V112c0-35.29-28.71-64-64-64-28.659 0-52.978 18.936-61.105 44.953zM440 248v-36c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v36a135.66 135.66 0 0 1-5.104 36.954l37.4 37.4C434.387 299.606 440 274.447 440 248zm68.485 243.514l-16.971 16.971c-4.686 4.686-12.284 4.686-16.97 0L363.375 397.317c-24.097 17.379-52.544 29.084-83.375 33.118V468h68c6.627 0 12 5.373 12 12v16c0 8.837-7.163 16-16 16H168c-8.837 0-16-7.163-16-16v-16c0-6.627 5.373-12 12-12h68v-37.565C141.841 418.638 72 341.325 72 248v-36c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v36c0 74.99 61.009 136 136 136 26.782 0 51.77-7.795 72.842-21.217l-17.435-17.435C295.067 354.669 276.158 360 256 360c-61.856 0-112-50.144-112-112v-70.059L3.515 37.456c-4.686-4.686-4.686-12.284 0-16.971l16.971-16.97c4.686-4.686 12.284-4.686 16.97 0l471.029 471.029c4.687 4.686 4.687 12.284 0 16.97zM275.131 309.072L192 225.941V248c0 35.29 28.71 64 64 64a63.75 63.75 0 0 0 19.131-2.928z\"] };\nvar faMinus = { prefix: 'far', iconName: 'minus', icon: [448, 512, [], \"f068\", \"M436 284c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h424z\"] };\nvar faMinusCircle = { prefix: 'far', iconName: 'minus-circle', icon: [512, 512, [], \"f056\", \"M140 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H140zm364-28c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-48 0c0-110.5-89.5-200-200-200S56 145.5 56 256s89.5 200 200 200 200-89.5 200-200z\"] };\nvar faMinusHexagon = { prefix: 'far', iconName: 'minus-hexagon', icon: [576, 512, [], \"f307\", \"M441.5 39.8C432.9 25.1 417.1 16 400 16H176c-17.1 0-32.9 9.1-41.5 23.8l-112 192c-8.7 14.9-8.7 33.4 0 48.4l112 192c8.6 14.7 24.4 23.8 41.5 23.8h224c17.1 0 32.9-9.1 41.5-23.8l112-192c8.7-14.9 8.7-33.4 0-48.4l-112-192zM400 448H176L64 256 176 64h224l112 192-112 192zM172 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H172z\"] };\nvar faMinusOctagon = { prefix: 'far', iconName: 'minus-octagon', icon: [512, 512, [], \"f308\", \"M497.9 150.5L361.5 14.1c-9-9-21.2-14.1-33.9-14.1H184.5c-12.7 0-24.9 5.1-33.9 14.1L14.1 150.5c-9 9-14.1 21.2-14.1 33.9v143.1c0 12.7 5.1 24.9 14.1 33.9l136.5 136.5c9 9 21.2 14.1 33.9 14.1h143.1c12.7 0 24.9-5.1 33.9-14.1L498 361.4c9-9 14.1-21.2 14.1-33.9v-143c-.1-12.8-5.2-25-14.2-34zm-33.9 177L327.5 464h-143L48 327.5v-143L184.5 48h143.1L464 184.5v143zM140 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H140z\"] };\nvar faMinusSquare = { prefix: 'far', iconName: 'minus-square', icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faMobile = { prefix: 'far', iconName: 'mobile', icon: [320, 512, [], \"f10b\", \"M192 416c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zM320 48v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h224c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h212c3.3 0 6-2.7 6-6z\"] };\nvar faMobileAlt = { prefix: 'far', iconName: 'mobile-alt', icon: [320, 512, [], \"f3cd\", \"M192 416c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm48-60V92c0-6.6-5.4-12-12-12H92c-6.6 0-12 5.4-12 12v264c0 6.6 5.4 12 12 12h136c6.6 0 12-5.4 12-12zm80-308v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h224c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h212c3.3 0 6-2.7 6-6z\"] };\nvar faMobileAndroid = { prefix: 'far', iconName: 'mobile-android', icon: [320, 512, [], \"f3ce\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-6 464H54c-3.3 0-6-2.7-6-6V54c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v404c0 3.3-2.7 6-6 6zm-70-32h-72c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12z\"] };\nvar faMobileAndroidAlt = { prefix: 'far', iconName: 'mobile-android-alt', icon: [320, 512, [], \"f3cf\", \"M228 368H92c-6.6 0-12-5.4-12-12V92c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12zm92-320v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h224c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h212c3.3 0 6-2.7 6-6zm-64-38v-8c0-6.6-5.4-12-12-12h-72c-6.6 0-12 5.4-12 12v8c0 6.6 5.4 12 12 12h72c6.6 0 12-5.4 12-12z\"] };\nvar faMoneyBill = { prefix: 'far', iconName: 'money-bill', icon: [640, 512, [], \"f0d6\", \"M616 64H24C10.745 64 0 74.745 0 88v335c0 13.255 10.745 24 24 24h592c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 192c44.183 0 80-35.817 80-80h384c0 44.183 35.817 80 80 80v128c-44.183 0-80 35.817-80 80H128c0-44.183-35.817-80-80-80V192zm176 64c0-61.857 42.979-112 96-112s96 50.143 96 112c0 61.87-43 112-96 112-53.023 0-96-50.153-96-112z\"] };\nvar faMoneyBillAlt = { prefix: 'far', iconName: 'money-bill-alt', icon: [640, 512, [], \"f3d1\", \"M320 144c-53.021 0-96 50.143-96 112 0 61.847 42.977 112 96 112 53 0 96-50.13 96-112 0-61.857-42.979-112-96-112zm48 164.428c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.901c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.75 3.916 11.75 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.902zM616 64H24C10.745 64 0 74.745 0 88v335c0 13.255 10.745 24 24 24h592c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM512 400H128c0-44.183-35.817-80-80-80V192c44.183 0 80-35.817 80-80h384c0 44.183 35.817 80 80 80v128c-44.183 0-80 35.817-80 80z\"] };\nvar faMoon = { prefix: 'far', iconName: 'moon', icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"] };\nvar faMotorcycle = { prefix: 'far', iconName: 'motorcycle', icon: [640, 512, [], \"f21c\", \"M512 192c-15.601 0-30.548 2.795-44.374 7.905L434.633 144H520c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24h-45.312a24 24 0 0 0-17.839 7.945l-39.101 43.445-24.524-41.555A20 20 0 0 0 376 64h-76c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h64.58l30.688 52h-175.86c-4.01-4.393-8.542-8.531-13.783-12.275C186.784 130.268 162.118 124 128 124H72c-11.046 0-20 8.954-20 20s8.954 20 20 20h56c22.885 0 37.946 8.448 48.662 20.205l-7.936 14.43A127.765 127.765 0 0 0 128 192C57.308 192 0 249.308 0 320s57.308 128 128 128c58.192 0 107.311-38.834 122.863-92h81.327c11.396 0 20.491-9.517 19.979-20.897-2.456-54.98 23.782-106.017 68.372-136.28l12.198 20.668C403.054 242.932 384 279.24 384 320c0 70.692 57.308 128 128 128s128-57.308 128-128-57.308-128-128-128zM128 408c-48.523 0-88-39.477-88-88s39.477-88 88-88c7.229 0 14.256.878 20.983 2.53l-50.507 91.831C91.156 339.672 100.802 356 116 356h92.27c-13.787 30.62-44.569 52-80.27 52zm184.367-92H149.825l66-120h147.308c-30.834 33.811-48.088 76.226-50.766 120zM512 408c-48.523 0-88-39.477-88-88 0-26.019 11.354-49.434 29.365-65.559l53.477 90.614c3.369 5.708 10.726 7.604 16.434 4.236l13.78-8.132c5.708-3.368 7.604-10.726 4.236-16.434l-52.833-89.522A87.769 87.769 0 0 1 512 232c48.523 0 88 39.477 88 88s-39.477 88-88 88z\"] };\nvar faMousePointer = { prefix: 'far', iconName: 'mouse-pointer', icon: [384, 512, [], \"f245\", \"M356.683 255.576L115.915 18.636C77.055-21.086 8 6.909 8 62.87v349.112c0 55.241 67.457 83.887 107.414 44.727l23.927-23.449 17.535 40.669.121.281.125.274c13.903 31.145 50.295 45.894 82.155 32.648l41.903-17.395.254-.106.253-.109c15.618-6.697 27.662-19.038 33.912-34.749 6.184-15.545 5.927-32.568-.724-47.933l-18.71-43.423h16.527c55.848.002 85.165-68.485 43.991-107.841zm-43.872 59.843h-89.594l47.607 110.491c3.316 7.661-.474 16.249-8.053 19.499l-41.922 17.409c-7.816 3.25-16.58-.465-19.895-7.892l-45.238-104.92-73.898 72.423C72.038 432.012 56 424.734 56 411.982V62.868c0-13.309 16.978-19.829 25.817-10.445L323.47 290.117c9.79 9.091 2.553 25.302-10.659 25.302z\"] };\nvar faMusic = { prefix: 'far', iconName: 'music', icon: [512, 512, [], \"f001\", \"M470.4 1.5l-304 96C153.1 101.7 144 114 144 128v227.1C130 348 113.6 344 96 344c-54.2 0-96 38.1-96 84 0 46.1 42.1 84 96 84 54.2 0 96-38.1 96-84V252.5l272-85.9v124.5c-14-7.1-30.4-11.1-48-11.1-54.2 0-96 38.1-96 84 0 46.1 42.1 84 96 84 54.2 0 96-38.1 96-84V32c0-21.7-21.1-37-41.6-30.5zM464 116.3l-272 85.9v-62.4l272-85.9v62.4zM96 472c-30.9 0-56-19.7-56-44s25.1-44 56-44 56 19.7 56 44-25.1 44-56 44zm320-64c-30.9 0-56-19.7-56-44s25.1-44 56-44 56 19.7 56 44-25.1 44-56 44z\"] };\nvar faNeuter = { prefix: 'far', iconName: 'neuter', icon: [288, 512, [], \"f22c\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 71.4 51.9 130.6 120 142v150c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V318c68.1-11.4 120-70.6 120-142zm-144 96c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faNewspaper = { prefix: 'far', iconName: 'newspaper', icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"] };\nvar faNotesMedical = { prefix: 'far', iconName: 'notes-medical', icon: [384, 512, [], \"f481\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6v340zm-56-170h-56v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"] };\nvar faObjectGroup = { prefix: 'far', iconName: 'object-group', icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"] };\nvar faObjectUngroup = { prefix: 'far', iconName: 'object-ungroup', icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"] };\nvar faOctagon = { prefix: 'far', iconName: 'octagon', icon: [512, 512, [], \"f306\", \"M497.9 150.5L361.5 14.1c-9-9-21.2-14.1-33.9-14.1H184.5c-12.7 0-24.9 5.1-33.9 14.1L14.1 150.5c-9 9-14.1 21.2-14.1 33.9v143.1c0 12.7 5.1 24.9 14.1 33.9l136.5 136.5c9 9 21.2 14.1 33.9 14.1h143.1c12.7 0 24.9-5.1 33.9-14.1L498 361.4c9-9 14.1-21.2 14.1-33.9v-143c-.1-12.8-5.2-25-14.2-34zm-33.9 177L327.5 464h-143L48 327.5v-143L184.5 48h143.1L464 184.5v143z\"] };\nvar faOutdent = { prefix: 'far', iconName: 'outdent', icon: [448, 512, [], \"f03b\", \"M0 80V48c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12H12C5.373 92 0 86.627 0 80zm204 140h232c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zM12 476h424c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zm192-128h232c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12zM4.687 267.313l96 95.984C110.734 373.348 128 366.224 128 351.984V160.008c0-14.329-17.325-21.304-27.313-11.313l-96 95.992c-6.249 6.248-6.249 16.378 0 22.626z\"] };\nvar faPaintBrush = { prefix: 'far', iconName: 'paint-brush', icon: [512, 512, [], \"f1fc\", \"M439.3 0c-18.7 0-37.3 7.5-52.2 21C273.9 122.9 224 162.7 199.5 192.2c-15.7 18.9-24.6 38.1-23.5 65.6-49.4 6.9-81.7 34.5-101 79.2-22.4-5.8-46.9-26-61.6-39.9C8.4 292.3 0 296 0 303v26.7c0 49.7 12.2 92.9 35.3 124.8 27.2 37.6 67.9 57.5 117.8 57.5 91.4 0 150.6-57.4 150.9-146.2 28.8-4.5 52.4-20.5 77.9-52C405.2 285.2 512 118.9 512 69c0-38.1-32.6-69-72.7-69zM228.5 438.4C210.7 455.2 184.6 464 153 464c-34.3 0-60.8-12.7-78.9-37.6-9.1-12.6-16-28.3-20.4-46.2 10.1 5.8 18 8.6 25.4 8.6 16.6 0 31.1-10.1 37-25.6l.1-.2c15.4-41.6 39.5-54.9 70.7-58.1 13.3 27.3 38.3 49.5 69 58.2.9 27.3-7.1 56.2-27.4 75.3zM454.2 99.5c-45.4 85.4-81.4 149.3-109.6 184-24.3 29.9-40.1 35.7-59.2 35.7-33.3 0-61.4-28.4-61.4-62.1 0-35.6 13.8-37.2 195.2-200.4 6.1-5.5 13.4-8.7 20.1-8.7 15.2 0 24.7 10.9 24.7 21 0 10-4.9 21-9.8 30.5z\"] };\nvar faPallet = { prefix: 'far', iconName: 'pallet', icon: [640, 512, [], \"f482\", \"M144 288h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm32-240h80v80l64-32 64 32V48h80v192H176V48zm448 320c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48v96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-48v-96h48zm-448 96h-64v-96h64v96zm240 0H224v-96h192v96zm112 0h-64v-96h64v96z\"] };\nvar faPalletAlt = { prefix: 'far', iconName: 'pallet-alt', icon: [640, 512, [], \"f483\", \"M112 288h416c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H384V16c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm272-176h112v128H384V112zM144 48h192v192H144V48zm480 320c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48v96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-48v-96h48zm-448 96h-64v-96h64v96zm240 0H224v-96h192v96zm112 0h-64v-96h64v96z\"] };\nvar faPaperPlane = { prefix: 'far', iconName: 'paper-plane', icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"] };\nvar faPaperclip = { prefix: 'far', iconName: 'paperclip', icon: [512, 512, [], \"f0c6\", \"M67.508 468.467c-58.005-58.013-58.016-151.92 0-209.943l225.011-225.04c44.643-44.645 117.279-44.645 161.92 0 44.743 44.749 44.753 117.186 0 161.944l-189.465 189.49c-31.41 31.413-82.518 31.412-113.926.001-31.479-31.482-31.49-82.453 0-113.944L311.51 110.491c4.687-4.687 12.286-4.687 16.972 0l16.967 16.971c4.685 4.686 4.685 12.283 0 16.969L184.983 304.917c-12.724 12.724-12.73 33.328 0 46.058 12.696 12.697 33.356 12.699 46.054-.001l189.465-189.489c25.987-25.989 25.994-68.06.001-94.056-25.931-25.934-68.119-25.932-94.049 0l-225.01 225.039c-39.249 39.252-39.258 102.795-.001 142.057 39.285 39.29 102.885 39.287 142.162-.028A739446.174 739446.174 0 0 1 439.497 238.49c4.686-4.687 12.282-4.684 16.969.004l16.967 16.971c4.685 4.686 4.689 12.279.004 16.965a755654.128 755654.128 0 0 0-195.881 195.996c-58.034 58.092-152.004 58.093-210.048.041z\"] };\nvar faParachuteBox = { prefix: 'far', iconName: 'parachute-box', icon: [512, 512, [], \"f4cd\", \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7 36.3 39.2 62.2 100.1 62.4 174.8L314.6 320H280V192h104C384 76.8 315.1 0 256 0S128 76.8 128 192h104v128h-34.6L96 191.1c.2-74.7 26.1-135.6 62.4-174.8C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h19.5l124.7 158.5c0 .5-.3 1-.3 1.5v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-.5-.3-1-.3-1.5L476.4 192h19.5c9.2 0 17.1-7.8 16-17zM304 456c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-80c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v80z\"] };\nvar faParagraph = { prefix: 'far', iconName: 'paragraph', icon: [384, 512, [], \"f1dd\", \"M372 32H165.588C74.935 32 .254 104.882.001 195.535-.252 286.177 73.415 360 164 360v108c0 6.627 5.373 12 12 12h32c6.627 0 12-5.373 12-12V88h40v380c0 6.627 5.373 12 12 12h32c6.627 0 12-5.373 12-12V88h56c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12zM164 304c-59.552 0-108-48.449-108-108S104.448 88 164 88v216z\"] };\nvar faPaste = { prefix: 'far', iconName: 'paste', icon: [448, 512, [], \"f0ea\", \"M433.941 193.941l-51.882-51.882A48 48 0 0 0 348.118 128H320V80c0-26.51-21.49-48-48-48h-61.414C201.582 13.098 182.294 0 160 0s-41.582 13.098-50.586 32H48C21.49 32 0 53.49 0 80v288c0 26.51 21.49 48 48 48h80v48c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V227.882a48 48 0 0 0-14.059-33.941zm-84.066-16.184l48.368 48.368a6 6 0 0 1 1.757 4.243V240h-64v-64h9.632a6 6 0 0 1 4.243 1.757zM160 38c9.941 0 18 8.059 18 18s-8.059 18-18 18-18-8.059-18-18 8.059-18 18-18zm-32 138v192H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h55.414c9.004 18.902 28.292 32 50.586 32s41.582-13.098 50.586-32H266a6 6 0 0 1 6 6v42h-96c-26.51 0-48 21.49-48 48zm266 288H182a6 6 0 0 1-6-6V182a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v170a6 6 0 0 1-6 6z\"] };\nvar faPause = { prefix: 'far', iconName: 'pause', icon: [448, 512, [], \"f04c\", \"M192 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48zm-48 346V85c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h84c3.3 0 6-2.7 6-6zM448 79v352c0 26.5-21.5 48-48 48h-96c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48zm-48 346V85c0-3.3-2.7-6-6-6h-84c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h84c3.3 0 6-2.7 6-6z\"] };\nvar faPauseCircle = { prefix: 'far', iconName: 'pause-circle', icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"] };\nvar faPaw = { prefix: 'far', iconName: 'paw', icon: [512, 512, [], \"f1b0\", \"M443.105 158.302c-11.441 0-22.623 2.362-33.214 6.91 5.949-14.899 9.253-30.705 9.253-45.411C419.145 73.618 390.117 32 343 32c-40.683 0-71.752 29.702-87 67.421C240.752 61.701 209.682 32 169 32c-47.068 0-76.144 41.569-76.144 87.802 0 14.706 3.304 30.512 9.252 45.411-10.59-4.548-21.773-6.911-33.214-6.911C26.859 158.302 0 193.129 0 234.125c0 50.125 40.821 108.798 95.472 112.602-15.491 24.515-24.087 49.249-24.087 70.992 0 35.125 23.929 62.021 75.029 62.021 44.855 0 77.959-23.177 109.586-23.177 29.605 0 61.023 23.438 103.173 23.438 46.474 0 81.442-16.704 81.442-62.281 0-21.714-8.619-46.45-24.152-70.988C471.296 342.959 512 284.094 512 234.125c0-40.975-26.843-75.823-68.895-75.823zM343 80c19.102 0 28.145 20.699 28.145 39.802 0 27.129-20.591 65.583-48.5 65.583-19.102 0-28.145-20.699-28.145-39.802C294.5 118.293 314.926 80 343 80zm-87 109.192c18.835 40.539 59.663 52.462 95.147 38.961-5.91 14.112-9.2 28.879-9.281 42.694-60.451-40.621-111.663-40.363-171.734-.058-.089-13.798-3.379-28.545-9.281-42.636 35.188 13.384 76.176 1.865 95.149-38.961zM169 80c28.215 0 48.5 38.513 48.5 65.583 0 19.1-9.042 39.802-28.144 39.802-28.089 0-48.5-38.733-48.5-65.583C140.856 100.701 149.898 80 169 80zm-67.76 218.927c-28.693 0-53.24-37.685-53.24-64.802 0-2.848.586-27.823 20.894-27.823 29.389 0 53.24 39.37 53.24 65.062 0 14.567-6.263 27.563-20.894 27.563zm286.533 128.895c-34.2 17.209-89.74-19.26-131.773-19.26-42.74 0-104.861 36.037-132.576 18.817C96.995 410.952 181.138 288.333 256 288.333c75.483 0 160.489 125.041 131.773 139.489zm22.987-128.895c-14.632 0-20.895-12.995-20.895-27.562 0-25.692 23.852-65.062 53.24-65.062 20.309 0 20.895 24.975 20.895 27.823 0 27.376-24.741 64.801-53.24 64.801z\"] };\nvar faPen = { prefix: 'far', iconName: 'pen', icon: [512, 512, [], \"f304\", \"M492.2 74.3l-54.5-54.5c-26.4-26.4-69.1-26.4-95.5 0L12.7 349.3.3 461.2c-3.2 29.2 21.5 53.7 50.5 50.5l111.8-12.4 329.6-329.6c26.4-26.4 26.4-69.1 0-95.4zM140.6 453.4l-92.3 10.3 10.3-92.3L294 135.9l82.1 82.1-235.5 235.4zm317.7-317.6L410 184.1 327.9 102l48.3-48.3c7.6-7.6 20-7.6 27.6 0l54.5 54.5c7.6 7.6 7.6 19.9 0 27.6z\"] };\nvar faPenAlt = { prefix: 'far', iconName: 'pen-alt', icon: [512, 512, [], \"f305\", \"M492.2 74.3l-54.5-54.5c-26.4-26.4-69.1-26.4-95.5 0L294 68.1l-37-37c-9.4-9.4-24.6-9.4-33.9 0L71.5 182.5c-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0L240 81.9l20.1 20.1L12.7 349.3.3 461.2c-3.2 29.2 21.4 53.8 50.5 50.5l111.8-12.4 329.6-329.6c26.4-26.4 26.4-69.1 0-95.4zM140.6 453.4l-92.3 10.3 10.3-92.3L294 135.9l82.1 82.1-235.5 235.4zm317.7-317.6L410 184.1 327.9 102l48.3-48.3c7.6-7.6 20-7.6 27.6 0l54.5 54.5c7.6 7.6 7.6 19.9 0 27.6z\"] };\nvar faPenSquare = { prefix: 'far', iconName: 'pen-square', icon: [448, 512, [], \"f14b\", \"M246.6 177.9l55.5 55.5c2.3 2.3 2.3 6.1 0 8.5L166.4 377.6l-57.1 6.3c-7.6.8-14.1-5.6-13.3-13.3l6.3-57.1L238 177.8c2.4-2.2 6.2-2.2 8.6.1zm98.4-12.8L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faPencil = { prefix: 'far', iconName: 'pencil', icon: [512, 512, [], \"f040\", \"M491.609 73.625l-53.861-53.839c-26.378-26.379-69.076-26.383-95.46-.001L24.91 335.089.329 484.085c-2.675 16.215 11.368 30.261 27.587 27.587l148.995-24.582 315.326-317.378c26.33-26.331 26.581-68.879-.628-96.087zM120.644 302l170.259-169.155 88.251 88.251L210 391.355V350h-48v-48h-41.356zM82.132 458.132l-28.263-28.263 12.14-73.587L84.409 338H126v48h48v41.59l-18.282 18.401-73.586 12.141zm378.985-319.533l-.051.051-.051.051-48.03 48.344-88.03-88.03 48.344-48.03.05-.05.05-.05c9.147-9.146 23.978-9.259 33.236-.001l53.854 53.854c9.878 9.877 9.939 24.549.628 33.861z\"] };\nvar faPencilAlt = { prefix: 'far', iconName: 'pencil-alt', icon: [512, 512, [], \"f303\", \"M491.609 73.625l-53.861-53.839c-26.378-26.379-69.075-26.383-95.46-.001L24.91 335.089.329 484.085c-2.675 16.215 11.368 30.261 27.587 27.587l148.995-24.582 315.326-317.378c26.33-26.331 26.581-68.879-.628-96.087zM200.443 311.557C204.739 315.853 210.37 318 216 318s11.261-2.147 15.557-6.443l119.029-119.03 28.569 28.569L210 391.355V350h-48v-48h-41.356l170.259-169.155 28.569 28.569-119.03 119.029c-8.589 8.592-8.589 22.522.001 31.114zM82.132 458.132l-28.263-28.263 12.14-73.587L84.409 338H126v48h48v41.59l-18.282 18.401-73.586 12.141zm378.985-319.533l-.051.051-.051.051-48.03 48.344-88.03-88.03 48.344-48.03.05-.05.05-.05c9.147-9.146 23.978-9.259 33.236-.001l53.854 53.854c9.878 9.877 9.939 24.549.628 33.861z\"] };\nvar faPennant = { prefix: 'far', iconName: 'pennant', icon: [576, 512, [], \"f456\", \"M542.3 183.5c-21.9 4.8-104.7 14.1-246.4-62.8-74.6-40.4-137.5-50.4-186.7-48C121.5 33.7 90.9 0 56 0 25.1 0 0 25.1 0 56c0 22.3 13.2 41.4 32 50.4V504c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-75.6c80.8-54.3 156.4-55.7 165.8-56.2 28.2-1.4 74.5-5.9 135.1-19 4.4-1 109-24.5 188.9-124.7 16.1-20.2-1.5-50.3-27.5-45zM370.8 306.3c-57.5 12.4-101 16.6-127.4 18-69.6 3.5-125.6 26.3-163.4 47.9V124c44.1-8.6 109.6-6.3 193 38.9 101.4 54.9 177 69.8 225.9 71.5-61.8 56.6-127.4 71.7-128.1 71.9z\"] };\nvar faPeopleCarry = { prefix: 'far', iconName: 'people-carry', icon: [640, 512, [], \"f4ce\", \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm88 154.6l-19-78.4c-4.2-17.3-16.7-32-33.5-39.3-16.9-7.4-35.7-6.5-51.4 2.3-25.6 14.4-40.3 47.6-46.8 66.2l-12.2 34.7c-.6 1.7-1.7 3.2-3.4 4.3L416 250.5V128c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v122.5l-17.8-10.1c-1.6-1.1-2.8-2.6-3.4-4.3l-12.2-34.7c-6.5-18.6-21.2-51.8-46.8-66.2-15.7-8.8-34.5-9.7-51.4-2.3-16.7 7.3-29.2 22-33.5 39.3L40 250.7c-5.1 21.1 2 43.2 18.3 57.5l68.7 60c6.3 5.5 10.2 13.2 10.9 21.5l8 100.2c.8 9.1 8.9 23.3 25.8 22 13.2-1.1 23.1-12.6 22-25.8L185 376.9c-1.2-15.1-8.3-29.1-19.7-39.1l-52.2-45.6 24.8-92.1c2.7 5.3 19.6 51.8 19.6 51.8 3.9 11.2 11.2 20.7 23 28.9l36.9 19.4c4.6 2.4 9.7 3.7 14.9 3.7h175.5c5.2 0 10.3-1.3 14.9-3.7l36.9-19.4c11.8-8.2 19.1-17.7 23-28.9 0 0 16.9-46.6 19.6-51.8l24.8 92.1-52.2 45.6c-11.4 10-18.5 24-19.7 39.1L446.3 486c-1 13.2 8.8 24.8 22 25.8 16.9 1.3 25.1-12.7 25.8-22l8-100.2c.7-8.3 4.6-16.1 10.9-21.5l68.7-59.9c16.3-14.3 23.3-36.5 18.3-57.6zM368 256h-96v-96h96v96zm270.2 222.9l-53.7-130.8-38.2 33.4 47.4 115.6c5 12.2 18.9 18.1 31.3 13.1 12.4-5 18.2-19 13.2-31.3zm-636.4 0c-5 12.3.8 26.3 13.1 31.3 12.4 5 26.3-.9 31.3-13.1l47.4-115.6-38.2-33.4L1.8 478.9z\"] };\nvar faPercent = { prefix: 'far', iconName: 'percent', icon: [384, 512, [], \"f295\", \"M96 224c53 0 96-43 96-96s-43-96-96-96S0 75 0 128s43 96 96 96zm0-144c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm192 208c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm93.9-381.2L57.2 475c-2.3 3.1-5.9 5-9.7 5H12c-9.6 0-15.3-10.7-10-18.7L327.2 37c2.3-3.1 5.9-5 9.7-5H372c9.6 0 15.3 10.8 9.9 18.8z\"] };\nvar faPersonCarry = { prefix: 'far', iconName: 'person-carry', icon: [384, 512, [], \"f4cf\", \"M80 96c26.5 0 48-21.5 48-48S106.5 0 80 0 32 21.5 32 48s21.5 48 48 48zm288 0H208c-8.8 0-16 7.2-16 16v128h-33.6l-32.1-77.5c-8.7-20.9-29-34.5-51.7-34.5H56c-30.9 0-56 25.1-56 56v102.3c0 7.7 3 29.5 21.3 44l76.4 60.4c5.7 4.5 9.7 10.8 11.3 17.9l19.6 84.8c2.6 11.5 14.4 21.2 28.8 18 12.9-3 21-15.9 18-28.8l-21.4-93c-2.9-12.4-9.9-23.5-19.9-31.4L96 328.1V214.7l22.2 53.5c5 12 16.6 19.8 29.6 19.8H368c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-32 144h-96v-96h96v96zM0 488c0 13.2 10.8 24 24 24s24-10.7 24-24v-95.9C36 382.6.5 354.3 0 353.9V488z\"] };\nvar faPersonDolly = { prefix: 'far', iconName: 'person-dolly', icon: [512, 512, [], \"f4d0\", \"M80 96c26.5 0 48-21.5 48-48S106.5 0 80 0 32 21.5 32 48s21.5 48 48 48zm423.4 280.4c-1.1-4.3-5.5-6.8-9.8-5.7l-20.3 5.4L432 222c-2.1-7.8-10.3-13.8-19.6-11.3L262.1 251l-22.8-85.1c-1.1-4.3-5.5-6.8-9.8-5.7l-30.9 8.3c-4.3 1.1-6.8 5.5-5.7 9.8l16.5 61.6h-51.1l-32.1-77.5c-8.7-20.9-29-34.5-51.7-34.5H56c-30.9 0-56 25.1-56 56v102.3c0 7.7 3 29.5 21.3 44l76.4 60.4c5.7 4.5 9.7 10.8 11.3 17.9l19.6 84.8c2.6 11.5 14.4 21.2 28.8 18 12.9-3 21-15.9 18-28.8l-21.4-93c-2.9-12.4-9.9-23.5-19.9-31.4l-38.1-30V214.7l22.2 53.5c5 12 16.6 19.8 29.6 19.8h74.6l28.9 107.7C234.8 407.3 224 426.4 224 448c0 35.3 28.7 64 64 64 31.7 0 57.8-23.1 62.9-53.3l155.2-41.6c4.3-1.1 6.8-5.5 5.7-9.8l-8.4-30.9zM288 464c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm52.9-52c-9.7-14.2-25.1-24.1-42.8-27l-23.5-87.8L394 265.5l33 123.2-86.1 23.3zM0 488c0 13.2 10.8 24 24 24s24-10.7 24-24v-95.9C36 382.6.5 354.3 0 353.9V488z\"] };\nvar faPersonDollyEmpty = { prefix: 'far', iconName: 'person-dolly-empty', icon: [512, 512, [], \"f4d1\", \"M32 48C32 21.5 53.5 0 80 0s48 21.5 48 48-21.5 48-48 48-48-21.5-48-48zM0 488c0 13.2 10.8 24 24 24s24-10.7 24-24v-95.9C36 382.6.5 354.3 0 353.9V488zm503.4-111.6l8.3 30.9c1.1 4.3-1.4 8.7-5.7 9.8l-155.2 41.6c-5.1 30.2-31.2 53.3-62.9 53.3-35.3 0-64-28.7-64-64 0-21.6 10.8-40.7 27.2-52.3L222.4 288h-74.6c-12.9 0-24.6-7.8-29.6-19.8L96 214.7v113.4l38.1 30.1c10 7.9 17 19 19.9 31.4l21.4 93c3 12.9-5.1 25.8-18 28.8-14.4 3.2-26.1-6.5-28.8-18L109 408.6c-1.6-7.1-5.6-13.4-11.3-17.9l-76.4-60.4C3 315.8 0 294 0 286.3V184c0-30.9 25.1-56 56-56h18.7c22.6 0 43 13.6 51.7 34.5l32.1 77.5h51.1L193 178.4c-1.1-4.3 1.4-8.7 5.7-9.8l30.9-8.3c4.3-1.1 8.7 1.4 9.8 5.7l58.7 219c17.7 2.8 33.1 12.7 42.8 27l152.8-41.2c4.2-1.2 8.6 1.4 9.7 5.6zM304 448c0-8.8-7.2-16-16-16s-16 7.2-16 16 7.2 16 16 16 16-7.2 16-16z\"] };\nvar faPhone = { prefix: 'far', iconName: 'phone', icon: [512, 512, [], \"f095\", \"M476.5 22.9L382.3 1.2c-21.6-5-43.6 6.2-52.3 26.6l-43.5 101.5c-8 18.6-2.6 40.6 13.1 53.4l40 32.7C311 267.8 267.8 311 215.4 339.5l-32.7-40c-12.8-15.7-34.8-21.1-53.4-13.1L27.7 329.9c-20.4 8.7-31.5 30.7-26.6 52.3l21.7 94.2c4.8 20.9 23.2 35.5 44.6 35.5C312.3 512 512 313.7 512 67.5c0-21.4-14.6-39.8-35.5-44.6zM69.3 464l-20.9-90.7 98.2-42.1 55.7 68.1c98.8-46.4 150.6-98 197-197l-68.1-55.7 42.1-98.2L464 69.3C463 286.9 286.9 463 69.3 464z\"] };\nvar faPhonePlus = { prefix: 'far', iconName: 'phone-plus', icon: [512, 512, [], \"f4d2\", \"M476.5 22.9L382.3 1.2C378.8.4 375.4 0 372 0c-18 0-34.7 10.6-42 27.7l-43.5 101.5c-8 18.6-2.6 40.6 13.1 53.4l40 32.7C311 267.8 267.8 311 215.4 339.5l-32.7-40c-8.9-10.8-22.1-16.7-35.5-16.7-6 0-12.1 1.2-17.9 3.7L27.7 329.9c-20.4 8.7-31.5 30.7-26.6 52.3l21.7 94.2c4.8 20.9 23.2 35.5 44.6 35.5C312.3 512 512 313.7 512 67.5c0-21.4-14.6-39.8-35.5-44.6zM69.3 464l-20.9-90.7 98.2-42.1 55.7 68.1c98.8-46.4 150.6-98 197-197l-68.1-55.7 42.1-98.2L464 69.3C463 286.9 286.9 463 69.3 464zM88 208c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-72h72c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-72V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v72H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h72v72z\"] };\nvar faPhoneSlash = { prefix: 'far', iconName: 'phone-slash', icon: [640, 512, [], \"f3dd\", \"M634 471L36 3.5C29.1-2 19-.9 13.5 6l-10 12.5C-2 25.4-.9 35.5 6 41l598 467.5c6.9 5.5 17 4.4 22.5-2.5l10-12.5c5.5-6.9 4.4-17-2.5-22.5zM403.5 215.4c-1.8 3.4-4.2 6.4-6.2 9.7l37.8 29.5c9.8-16 19.2-33 28.2-52.3l-68.1-55.7 42.1-98.2L528 69.3c-.3 77.2-23.1 149-61.6 209.8l38 29.7c45-69.5 71.5-152.2 71.5-241.3 0-21.4-14.6-39.8-35.5-44.6L446.3 1.2c-21.6-5-43.6 6.2-52.3 26.6l-43.5 101.5c-8 18.6-2.6 40.6 13.1 53.4l39.9 32.7zM133.3 464l-20.9-90.7 98.2-42.1 55.7 68.1c26.5-12.4 49.4-25.3 69.9-39.3l-40-31.3c-5.6 3.6-10.9 7.6-16.8 10.8l-32.7-40c-12.8-15.7-34.8-21.1-53.4-13.1L91.7 329.9c-20.4 8.7-31.5 30.7-26.6 52.3l21.7 94.2c4.8 20.9 23.2 35.5 44.6 35.5 104.2 0 199.9-36.1 275.9-96.3L368.2 385c-65.6 49.1-146.7 78.6-234.9 79z\"] };\nvar faPhoneSquare = { prefix: 'far', iconName: 'phone-square', icon: [448, 512, [], \"f098\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-280c0 128.234-103.956 232-232 232a12.004 12.004 0 0 1-11.693-9.302l-11.999-52a12 12 0 0 1 6.966-13.728l55.999-23.999a12 12 0 0 1 14.015 3.431l24.798 30.308c39.155-18.37 70.638-50.287 88.624-88.624l-30.309-24.798a12 12 0 0 1-3.431-14.015l24-55.999a12 12 0 0 1 13.728-6.966l52 11.999A12 12 0 0 1 352 152z\"] };\nvar faPhoneVolume = { prefix: 'far', iconName: 'phone-volume', icon: [448, 512, [], \"f2a0\", \"M226.615 412.576l-28.086-70.218c-7.914-19.785-27.631-31.304-48.207-29.247l-21.97 2.197c-6.25-27.912-6.442-57.872-.002-86.618l21.97 2.197c20.541 2.055 40.282-9.433 48.208-29.246l28.087-70.218c8.438-21.094.579-45.143-18.686-57.184l-56.175-35.107c-18.097-11.311-42.199-9.21-58.016 6.606-124.622 124.622-125.347 327.175 0 452.523 15.816 15.814 39.913 17.922 58.017 6.606l56.174-35.107c19.265-12.041 27.124-36.091 18.686-57.184zm-99.556 51.125C21.661 357.639 21.517 186.505 127.06 80.297l54.646 34.156-27.437 68.589-59.946-5.993c-25.22 69.795-25.241 120.05 0 189.901l59.947-5.995 27.436 68.591-54.647 34.155zm155.728-362.488l-11.476 11.476c-4.117 4.117-4.671 10.584-1.341 15.36A55.7 55.7 0 0 1 280 160a55.688 55.688 0 0 1-10.031 31.95c-3.329 4.776-2.775 11.244 1.341 15.36l11.476 11.476c5.191 5.191 13.751 4.52 18.149-1.359C312.913 201.414 320 181.535 320 160s-7.087-41.414-19.064-57.428c-4.398-5.88-12.958-6.55-18.149-1.359zm90.875-90.875l-11.323 11.323c-4.461 4.461-4.746 11.651-.559 16.37C391.666 71.708 408 114.595 408 160s-16.334 88.292-46.22 121.969c-4.188 4.719-3.902 11.909.559 16.37l11.323 11.323c4.871 4.871 12.843 4.658 17.434-.479C426.488 269.575 448 217.302 448 160S426.488 50.425 391.096 10.817c-4.591-5.137-12.563-5.35-17.434-.479zm-45.355 45.355l-11.355 11.355c-4.406 4.406-4.679 11.429-.685 16.213C334.227 104.771 344 131.638 344 160s-9.773 55.229-27.733 76.74c-3.994 4.783-3.721 11.807.685 16.213l11.355 11.355c4.935 4.935 13.059 4.665 17.582-.65C369.655 235.731 384 199.54 384 160s-14.345-75.731-38.111-103.657c-4.523-5.315-12.647-5.584-17.582-.65z\"] };\nvar faPiggyBank = { prefix: 'far', iconName: 'piggy-bank', icon: [576, 512, [], \"f4d3\", \"M560 224h-29.5c-11.1-25.3-28.7-46.9-50.5-63.4V96h-16c-30.3 0-57.8 10.1-81 26.2.4-3.4 1-6.7 1-10.2C384 50.1 333.9 0 272 0S160 50.1 160 112c0 9.7 1.5 19 3.8 27.9C114.9 159.8 78 203.1 67.2 256H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h8c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h112c8.8 0 16-7.2 16-16v-48h64v48c0 8.8 7.2 16 16 16h112c8.8 0 16-7.2 16-16v-80.9c11.7-9 22.4-19.3 31.3-31.1H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zM272 48c35.3 0 64 28.7 64 64 0 5.6-.9 10.9-2.3 16H224c-4.5 0-8.8 1-13.3 1.3-1.6-5.5-2.7-11.3-2.7-17.3 0-35.3 28.7-64 64-64zm256 288h-40.6c-23.5 31.1-19.4 27.9-55.4 55.4V464h-48v-64H224v64h-48v-72.6c-14.6-11-64-39.8-64-103.4 0-61.8 50.2-112 112-112h167.4c9.5-7.6 22.2-19.3 40.6-26.2v34.7c45.4 34.4 44.2 35.2 67.1 87.5H528v64zm-96-80c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16z\"] };\nvar faPills = { prefix: 'far', iconName: 'pills', icon: [576, 512, [], \"f484\", \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm64 224H48V144c0-84.7 128-84.7 128 0v112zm353.1-49.1c-62.4-62.4-163.8-62.5-226.3 0s-62.5 163.8 0 226.3c62.4 62.4 163.8 62.5 226.3 0s62.5-163.9 0-226.3zm-207.3 52.8l154.5 154.5C375.7 478.8 257 360.5 321.8 259.7zm188.4 120.6L355.7 225.8c100.6-64.7 219.3 53.7 154.5 154.5z\"] };\nvar faPlane = { prefix: 'far', iconName: 'plane', icon: [576, 512, [], \"f072\", \"M456 176h-88.402L280.016 17.564l-.565-.969C273.151 6.359 261.77 0 249.75 0h-52.369c-22.479 0-38.954 20.875-34.012 42.587L188.111 176H136l-24.285-36.444c-6.343-10.076-17.586-16.306-29.52-16.306H34.887c-21.985 0-38.519 20.112-34.198 41.714l18.207 91.037L.69 347.033c-4.313 21.561 12.171 41.72 34.199 41.716l47.313-.001c11.932-.003 23.17-6.231 29.512-16.304L135.999 336h52.112l-24.743 133.413C158.42 491.157 174.934 512 197.381 512h52.369c12.021 0 23.402-6.36 29.702-16.598l.293-.477L367.599 336H456c65.047 0 120-36.636 120-80s-54.953-80-120-80zm0 112H339.286l-97.292 176H213.19l32.641-176H110.305l-35.151 52.748-24.265.001 16.949-84.748-16.949-84.751h24.266l35.15 52.75h135.527L213.191 48h28.804l97.29 176H456c39.07 0 72 16 72 32s-32.817 32-72 32z\"] };\nvar faPlaneAlt = { prefix: 'far', iconName: 'plane-alt', icon: [576, 512, [], \"f3de\", \"M457.75 176.563H356.417L329.66 128H340c6.627 0 12-5.373 12-12V76c0-6.627-5.373-12-12-12h-45.602l-25.569-46.406-.581-.998C261.947 6.359 250.566 0 238.547 0h-52.369c-22.472 0-38.951 20.866-34.015 42.578l25.086 135.738a624.765 624.765 0 0 0-37.477 3.772l-27.581-42.387c-6.326-10.162-17.62-16.451-29.61-16.451H44.004c-22.029 0-38.509 20.155-34.198 41.714l11.961 59.805C7.821 234.229 0 244.818 0 256.001s7.821 21.772 21.766 31.231l-11.96 59.803c-4.319 21.601 12.212 41.718 34.199 41.714l38.582-.001c11.988-.003 23.278-6.292 29.604-16.45l27.58-42.386a624.11 624.11 0 0 0 37.477 3.772L152.163 469.42c-4.941 21.739 11.568 42.58 34.015 42.58h52.369c12.021 0 23.401-6.36 29.702-16.598l.302-.491L294.397 448H340c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-10.341l26.758-48.565 101.333.001C510.814 335.436 576 306.854 576 256c0-50.872-65.216-79.437-118.25-79.437zm0 110.873l-129.69-.001L230.778 464h-28.801l32.542-176.087c-53.455-1.594-62.567-1.471-118.194-9.978l-40.872 62.812-15.439.001L76.964 256l-16.95-84.751h15.44l40.872 62.814c55.671-8.515 64.832-8.386 118.194-9.979L201.979 48h28.8l97.281 176.563h129.69C496.424 224.563 528 240 528 256s-31.58 31.436-70.25 31.436z\"] };\nvar faPlay = { prefix: 'far', iconName: 'play', icon: [448, 512, [], \"f04b\", \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6zM48 453.5v-395c0-4.6 5.1-7.5 9.1-5.2l334.2 197.5c3.9 2.3 3.9 8 0 10.3L57.1 458.7c-4 2.3-9.1-.6-9.1-5.2z\"] };\nvar faPlayCircle = { prefix: 'far', iconName: 'play-circle', icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"] };\nvar faPlug = { prefix: 'far', iconName: 'plug', icon: [384, 512, [], \"f1e6\", \"M360 144H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h8c0 80.208 59.02 146.628 136 158.208V512h48v-81.792c76.979-11.58 136-78 136-158.208h8c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zm-24 80h-32v48c0 61.898-50.092 112-112 112-61.898 0-112-50.092-112-112v-48H48v-32h288v32zm-72-96V24c0-13.255 10.745-24 24-24s24 10.745 24 24v104h-48zm-192 0V24C72 10.745 82.745 0 96 0s24 10.745 24 24v104H72z\"] };\nvar faPlus = { prefix: 'far', iconName: 'plus', icon: [448, 512, [], \"f067\", \"M436 228H252V44c0-6.6-5.4-12-12-12h-32c-6.6 0-12 5.4-12 12v184H12c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h184v184c0 6.6 5.4 12 12 12h32c6.6 0 12-5.4 12-12V284h184c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12z\"] };\nvar faPlusCircle = { prefix: 'far', iconName: 'plus-circle', icon: [512, 512, [], \"f055\", \"M384 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm120 16c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-48 0c0-110.5-89.5-200-200-200S56 145.5 56 256s89.5 200 200 200 200-89.5 200-200z\"] };\nvar faPlusHexagon = { prefix: 'far', iconName: 'plus-hexagon', icon: [576, 512, [], \"f300\", \"M441.5 39.8C432.9 25.1 417.1 16 400 16H176c-17.1 0-32.9 9.1-41.5 23.8l-112 192c-8.7 14.9-8.7 33.4 0 48.4l112 192c8.6 14.7 24.4 23.8 41.5 23.8h224c17.1 0 32.9-9.1 41.5-23.8l112-192c8.7-14.9 8.7-33.4 0-48.4l-112-192zM400 448H176L64 256 176 64h224l112 192-112 192zm16-208v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12z\"] };\nvar faPlusOctagon = { prefix: 'far', iconName: 'plus-octagon', icon: [512, 512, [], \"f301\", \"M497.9 150.5L361.5 14.1c-9-9-21.2-14.1-33.9-14.1H184.5c-12.7 0-24.9 5.1-33.9 14.1L14.1 150.5c-9 9-14.1 21.2-14.1 33.9v143.1c0 12.7 5.1 24.9 14.1 33.9l136.5 136.5c9 9 21.2 14.1 33.9 14.1h143.1c12.7 0 24.9-5.1 33.9-14.1L498 361.4c9-9 14.1-21.2 14.1-33.9v-143c-.1-12.8-5.2-25-14.2-34zm-33.9 177L327.5 464h-143L48 327.5v-143L184.5 48h143.1L464 184.5v143zM384 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12z\"] };\nvar faPlusSquare = { prefix: 'far', iconName: 'plus-square', icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faPodcast = { prefix: 'far', iconName: 'podcast', icon: [512, 512, [], \"f2ce\", \"M299.429 488.563C294.286 507.573 274.858 512 256 512c-18.857 0-38.286-4.427-43.428-23.437C204.927 460.134 192 388.898 192 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM144 232c0-61.19 48.953-110.852 109.88-111.98 61.961-1.147 114.04 49.862 114.12 111.833.035 27.659-9.892 53.792-28.077 74.313-1.843 2.08-2.077 5.144-.48 7.418 5.296 7.541 8.981 16.176 10.931 25.69.947 4.623 6.573 6.453 10.003 3.211 29.469-27.847 47.806-67.348 47.623-111.136-.352-84.131-69.885-152.428-154.01-151.337C170.968 81.09 104 148.724 104 232c0 43.523 18.297 82.768 47.614 110.476 3.434 3.246 9.064 1.427 10.013-3.203 1.949-9.514 5.635-18.149 10.931-25.69 1.596-2.272 1.365-5.335-.477-7.413C153.926 285.685 144 259.607 144 232zM256.503.001C126.406-.271 21.207 103.688 20.01 233.78c-.902 98.093 58.054 182.512 142.555 218.984 4.388 1.894 9.108-1.9 8.253-6.602a985.559 985.559 0 0 1-5.517-33.559 6.014 6.014 0 0 0-3.088-4.407C102.605 375.626 60 311.84 60 236c0-108.321 87.662-196 196-196 108.321 0 196 87.661 196 196 0 74.634-41.538 139.051-102.213 172.196a6.01 6.01 0 0 0-3.088 4.406 986.377 986.377 0 0 1-5.517 33.559c-.855 4.703 3.866 8.496 8.255 6.602C433.298 416.566 492 333.145 492 236 492 105.828 386.611.272 256.503.001zM256 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"] };\nvar faPoo = { prefix: 'far', iconName: 'poo', icon: [512, 512, [], \"f2fe\", \"M343.7 352H168.3c-5.8 0-9.8 5.7-7.8 11 10.5 27.9 58.4 53 95.5 53s85-25.1 95.5-53c2-5.3-2-11-7.8-11zM192 320c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm128-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm161.8 75.1c2.8-9.5 4.2-19.5 4.2-29.6 0-38.9-21-73-52.2-91.6.1-2 .2-3.9.2-5.9 0-37.9-21.2-71-52.4-87.9C376.5 51.2 322.1 0 256 0c-7.6 0-14.2.9-19.8 1.8-16.4 2.6-30.4 13.6-36.8 28.9-6.4 15.4-4.4 33 5.3 46.5 2.2 3 3.3 6.3 3.3 9.8 0 9.4-7.6 17-17 17h-13c-55.1 0-100 44.9-100 100 0 2 .1 4 .2 5.9C47 228.5 26 262.6 26 301.5c0 10.2 1.4 20.2 4.2 29.6C11.4 350.4 0 376.7 0 405.5 0 464.2 47.8 512 106.5 512h299c58.7 0 106.5-47.8 106.5-106.5 0-28.8-11.4-55.1-30.2-74.4zM405.5 464h-299C74.2 464 48 437.8 48 405.5c0-29.1 21.4-53.1 49.3-57.6C83.2 337.2 74 320.5 74 301.5c0-32.3 26.2-58.5 58.5-58.5h11.4c-10.9-9.5-17.9-23.4-17.9-39 0-28.7 23.3-52 52-52h13c35.9 0 65-29.1 65-65 0-14.1-4.6-27.1-12.3-37.8 4-.6 8.1-1.2 12.3-1.2 43.1 0 78 34.9 78 78 0 9.2-1.9 17.8-4.8 26h4.8c28.7 0 52 23.3 52 52 0 15.6-7 29.5-17.9 39h11.4c32.3 0 58.5 26.2 58.5 58.5 0 19-9.2 35.7-23.3 46.4 27.9 4.5 49.3 28.4 49.3 57.6 0 32.3-26.2 58.5-58.5 58.5z\"] };\nvar faPortrait = { prefix: 'far', iconName: 'portrait', icon: [384, 512, [], \"f3e0\", \"M0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48zm336 6v404a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h276a6 6 0 0 1 6 6zm-144 74c44.183 0 80 35.817 80 80s-35.817 80-80 80-80-35.817-80-80 35.817-80 80-80zm91.642 166.91l-35.657-8.914c-37.461 26.945-82.869 20.932-111.97 0l-35.657 8.914C78.99 300.252 64 319.452 64 341.477V360c0 13.255 10.745 24 24 24h208c13.255 0 24-10.745 24-24v-18.523c0-22.025-14.99-41.225-36.358-46.567z\"] };\nvar faPoundSign = { prefix: 'far', iconName: 'pound-sign', icon: [320, 512, [], \"f154\", \"M308 360h-30.284c-6.627 0-12 5.373-12 12v56.835H112V280h100c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H112v-77.081c0-37.438 26.786-67.388 72.958-67.388 25.94 0 48.692 11.882 60.552 19.451 5.141 3.28 11.923 2.156 15.758-2.586l19.658-24.305c4.35-5.378 3.262-13.296-2.365-17.32C262.736 51.456 229.027 32 184.334 32 105.716 32 48 83.164 48 152.423V232H20c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h28v148.835H12c-6.627 0-12 5.373-12 12V468c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12z\"] };\nvar faPowerOff = { prefix: 'far', iconName: 'power-off', icon: [512, 512, [], \"f011\", \"M388.5 46.3C457.9 90.3 504 167.8 504 256c0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 168 54 90.3 123.5 46.3c5.8-3.7 13.5-1.8 16.9 4.2l11.8 20.9c3.1 5.5 1.4 12.5-3.9 15.9C92.8 122.9 56 185.1 56 256c0 110.5 89.5 200 200 200s200-89.5 200-200c0-70.9-36.8-133.1-92.3-168.6-5.3-3.4-7-10.4-3.9-15.9l11.8-20.9c3.3-6.1 11.1-7.9 16.9-4.3zM280 276V12c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v264c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z\"] };\nvar faPrescriptionBottle = { prefix: 'far', iconName: 'prescription-bottle', icon: [448, 512, [], \"f485\", \"M416 0H32C14.3 0 0 14.3 0 32v96c0 8.8 7.2 16 16 16h16v336c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V144h16c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32zM48 48h352v48H48V48zm320 416H80v-40h88c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H80v-48h88c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H80v-48h88c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8H80v-40h288v320z\"] };\nvar faPrescriptionBottleAlt = { prefix: 'far', iconName: 'prescription-bottle-alt', icon: [448, 512, [], \"f486\", \"M136 320h56v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h56c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-56v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56h-56c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM416 0H32C14.3 0 0 14.3 0 32v96c0 8.8 7.2 16 16 16h16v336c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V144h16c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32zm-48 464H80V144h288v320zm32-368H48V48h352v48z\"] };\nvar faPrint = { prefix: 'far', iconName: 'print', icon: [512, 512, [], \"f02f\", \"M416 192V81.9c0-6.4-2.5-12.5-7-17L351 7c-4.5-4.5-10.6-7-17-7H120c-13.3 0-24 10.7-24 24v168c-53 0-96 43-96 96v136c0 13.3 10.7 24 24 24h72v40c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24v-40h72c13.3 0 24-10.7 24-24V288c0-53-43-96-96-96zM144 48h180.1L368 91.9V240H144V48zm224 416H144v-80h224v80zm96-64h-48v-40c0-13.2-10.8-24-24-24H120c-13.2 0-24 10.8-24 24v40H48V288c0-26.5 21.5-48 48-48v24c0 13.2 10.8 24 24 24h272c13.2 0 24-10.8 24-24v-24c26.5 0 48 21.5 48 48v112zm-8-96c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24z\"] };\nvar faProcedures = { prefix: 'far', iconName: 'procedures', icon: [640, 512, [], \"f487\", \"M520 240H312c-22.1 0-40 17.9-40 40v136H48V136c0-4.4-3.6-8-8-8H8c-4.4 0-8 3.6-8 8v368c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-40h544v40c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V360c0-66.2-53.8-120-120-120zm72 176H320V288h200c39.7 0 72 32.3 72 72v56zm-432-32c44.1 0 80-35.9 80-80s-35.9-80-80-80-80 35.9-80 80 35.9 80 80 80zm0-112c17.7 0 32 14.4 32 32s-14.3 32-32 32-32-14.4-32-32 14.3-32 32-32zm-16-144h114.3l36.9 73.9c4.1 8.2 15.7 8.2 19.8 0l54.1-108.2 17.2 34.3H504c13.2 0 24-10.7 24-24s-10.8-24-24-24h-88L379.1 6.1C375-2 363.3-2 359.3 6.1l-54.1 108.2L288 80H144c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16z\"] };\nvar faPuzzlePiece = { prefix: 'far', iconName: 'puzzle-piece', icon: [576, 512, [], \"f12e\", \"M437.983 261.352c-4.321 2.778-10.839 6.969-13.122 7.279-24.067-.092.757-103.841 5.813-124.714-29.614 5.697-134.448 26.337-159.932 7.046C271.197 132.585 304 116.55 304 73.588 304 28.222 261.986 0 216.994 0 171.147 0 112 25.756 112 75.063c0 40.881 28.702 64.642 31.994 74.559-.739 28.838-115.981 1.752-143.994-5.469v351.556C10.464 498.412 56.682 512 104 512c45.3-.001 88-15.737 88-60.854 0-31.773-32-45.657-32-73.834 0-16.521 29.235-27.063 49.361-27.063 21.125 0 46.639 11.414 46.639 25.588 0 24.02-32 36.882-32 77.924 0 66.838 81.555 58.073 134.44 51.225 37.039-4.797 33.159-3.906 73.069-3.906-2.799-8.954-28.061-81.125-13.892-100.4 10.021-13.639 39.371 31.32 84.037 31.32C548.715 432 576 380.487 576 336c0-57.793-45.975-133.814-138.017-74.648zM501.654 384c-24.507 0-37.496-32.763-79.116-32.763-35.286 0-67.12 27.143-53.431 104.031-19.03 2.234-84.249 12.922-96.329 2.29C261.633 447.771 304 419.385 304 375.837c0-46.326-49.475-73.588-94.639-73.588-46.686 0-97.361 27.417-97.361 75.063 0 50.809 41.414 70.396 29.601 79.554-16.851 13.064-71.854 5.122-93.601.935V204.584c63.934 10.948 144 9.33 144-55.435 0-31.802-32-45.775-32-74.086C160 58.488 199.338 48 216.994 48 233.19 48 256 55.938 256 73.588c0 23.524-33.264 36.842-33.264 77.924 0 60.396 86.897 58.813 146.508 51.68-6.592 53.714 1.669 113.439 55.691 113.439 31.223 0 45.141-28.631 75.22-28.631C517.407 288 528 315.957 528 336c0 21.606-12.157 48-26.346 48z\"] };\nvar faQrcode = { prefix: 'far', iconName: 'qrcode', icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM40 72h112v112H40V72zm216-40v192h192V32H256zm152 152H296V72h112v112zM0 480h192V288H0v192zm40-152h112v112H40V328zm32 32h48v48H72v-48zm0-256h48v48H72v-48zm304 48h-48v-48h48v48zm40 136h32v128H320v-32h-32v96h-32V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"] };\nvar faQuestion = { prefix: 'far', iconName: 'question', icon: [384, 512, [], \"f128\", \"M199.65 0C125.625 0 69.665 30.187 27.21 92.51c-19.17 28.15-12.94 66.3 14.17 86.86l36.73 27.85c10.81 8.2 24.19 12.79 37.74 12.96-11.84 19-17.82 40.61-17.82 64.55v11.43c0 16.38 6.2 31.34 16.38 42.65C97.99 357.2 88 381.45 88 408c0 57.35 46.65 104 104 104s104-46.65 104-104c0-26.55-9.99-50.8-26.41-69.19 8.66-9.62 14.43-21.87 15.97-35.38 28.287-16.853 96-48.895 96-138.21C381.56 71.151 290.539 0 199.65 0zM192 464c-30.88 0-56-25.12-56-56 0-30.873 25.118-56 56-56 30.887 0 56 25.132 56 56 0 30.88-25.12 56-56 56zm45.97-176.21v8.37c0 8.788-7.131 15.84-15.84 15.84h-60.26c-8.708 0-15.84-7.051-15.84-15.84v-11.43c0-47.18 35.77-66.04 62.81-81.2 23.18-13 37.39-21.83 37.39-39.04 0-22.77-29.04-37.88-52.52-37.88-30.61 0-44.74 14.49-64.6 39.56-5.365 6.771-15.157 8.01-22 2.8l-36.73-27.85c-6.74-5.11-8.25-14.6-3.49-21.59C98.08 73.73 137.8 48 199.65 48c64.77 0 133.91 50.56 133.91 117.22 0 88.51-95.59 89.87-95.59 122.57z\"] };\nvar faQuestionCircle = { prefix: 'far', iconName: 'question-circle', icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"] };\nvar faQuestionSquare = { prefix: 'far', iconName: 'question-square', icon: [448, 512, [], \"f2fd\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-48 346V86a6 6 0 0 0-6-6H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6zm-68.756-225.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C152.846 131.491 182.94 112 229.794 112c49.071 0 101.45 38.304 101.45 88.8zM266 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"] };\nvar faQuidditch = { prefix: 'far', iconName: 'quidditch', icon: [640, 512, [], \"f458\", \"M636.5 31L616.6 6c-5.5-6.9-15.6-8-22.5-2.6l-230.7 178-34.7-43.6c-4.8-6.1-14-6-18.8.1L252.2 211c-31.1.7-104 6.6-151.9 44.7C38.3 305 0 511.3 0 511.3c15.1.7 212.4 7.4 272.2-40.1 47.7-37.9 70-107.4 77.8-137.6l84.3-39.5c7-3.3 9.1-12.3 4.3-18.3l-35.3-44.3L634 53.5c6.9-5.5 8-15.6 2.5-22.5zM242.3 433.7c-16.6 13.2-74.3 28.5-182.8 30.2 4.8-19.1 10.1-38.2 15.8-56.4l45.3-36c5-3.9 1.2-11.9-5-10.6l-26.1 5.5c13.4-35.3 27.7-63 40.7-73.4 27-21.5 71.3-31 109.7-33.5l59.8 75c-9.3 31.2-28 75.9-57.4 99.2zm88-143.9l-39.8-49.9 24.2-30.8c2.4-3 7-3.1 9.4 0l43.8 54.9c2.4 3 1.4 7.5-2.1 9.2l-35.5 16.6zm181.8 29.9c-52.9 0-96 43-96 95.8s43.1 95.8 96 95.8 96-43 96-95.8-43.1-95.8-96-95.8zm0 143.8c-26.5 0-48-21.5-48-47.9s21.5-47.9 48-47.9 48 21.5 48 47.9-21.6 47.9-48 47.9z\"] };\nvar faQuoteLeft = { prefix: 'far', iconName: 'quote-left', icon: [576, 512, [], \"f10d\", \"M504 224h-56v-8c0-22.1 17.9-40 40-40h8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48h-8c-101.5 0-184 82.5-184 184v192c0 39.7 32.3 72 72 72h128c39.7 0 72-32.3 72-72V296c0-39.7-32.3-72-72-72zm24 184c0 13.2-10.8 24-24 24H376c-13.2 0-24-10.8-24-24V216c0-75 61-136 136-136h8v48h-8c-48.5 0-88 39.5-88 88v56h104c13.2 0 24 10.8 24 24v112zM200 224h-56v-8c0-22.1 17.9-40 40-40h8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48h-8C82.5 32 0 114.5 0 216v192c0 39.7 32.3 72 72 72h128c39.7 0 72-32.3 72-72V296c0-39.7-32.3-72-72-72zm24 184c0 13.2-10.8 24-24 24H72c-13.2 0-24-10.8-24-24V216c0-75 61-136 136-136h8v48h-8c-48.5 0-88 39.5-88 88v56h104c13.2 0 24 10.8 24 24v112z\"] };\nvar faQuoteRight = { prefix: 'far', iconName: 'quote-right', icon: [576, 512, [], \"f10e\", \"M200 32H72C32.3 32 0 64.3 0 104v112c0 39.7 32.3 72 72 72h56v8c0 22.1-17.9 40-40 40h-8c-26.5 0-48 21.5-48 48v48c0 26.5 21.5 48 48 48h8c101.5 0 184-82.5 184-184V104c0-39.7-32.3-72-72-72zm24 264c0 75-61 136-136 136h-8v-48h8c48.5 0 88-39.5 88-88v-56H72c-13.2 0-24-10.8-24-24V104c0-13.2 10.8-24 24-24h128c13.2 0 24 10.8 24 24v192zM504 32H376c-39.7 0-72 32.3-72 72v112c0 39.7 32.3 72 72 72h56v8c0 22.1-17.9 40-40 40h-8c-26.5 0-48 21.5-48 48v48c0 26.5 21.5 48 48 48h8c101.5 0 184-82.5 184-184V104c0-39.7-32.3-72-72-72zm24 264c0 75-61 136-136 136h-8v-48h8c48.5 0 88-39.5 88-88v-56H376c-13.2 0-24-10.8-24-24V104c0-13.2 10.8-24 24-24h128c13.2 0 24 10.8 24 24v192z\"] };\nvar faRacquet = { prefix: 'far', iconName: 'racquet', icon: [640, 512, [], \"f45a\", \"M616.3 61.3C562-17.2 434.4-19.7 333 50.4c-57.7 40-95.6 95.3-108.4 149.9-10 42.6-30.1 81.5-56.6 115.8-.4-.2-15.1-8.1-30.7 2.8L13.6 405.6c-14.5 10.1-18 30.1-7.9 44.6l33.8 48.2c10.5 15 30.5 17.7 44.6 7.9l123.7-86.6c9.8-6.8 14-18.1 13-29.2 30.3-9.2 61.7-14.3 93.4-14 28.7.3 34.9 3.8 58.3 4.1 49.7.5 104.6-16.1 154.1-50.3 103-71.4 143.2-191.8 89.7-269zM69.7 457.7l-15.4-22 97.5-68.3 15.4 22-97.5 68.3zM207.9 344c9.9-12.9 18.4-26.5 26.4-40.4 8.4 16.8 12.6 20.5 20.9 29.6-15.8 2.6-31.6 6.1-47.3 10.8zm291.4-53.3c-39.7 27.5-84.7 42.4-126.6 41.9-139.4-1.5-135.7-157.3-12.4-242.7C416.9 50.8 466.3 48 486.9 48c10 0 10 0 0 0 138.2 1.5 137.2 156.4 12.4 242.7z\"] };\nvar faRampLoading = { prefix: 'far', iconName: 'ramp-loading', icon: [384, 512, [], \"f4d4\", \"M384 352V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32v320c0 17.7 14.3 32 32 32h6.9L3.2 467.4C-5.9 488.5 9.6 512 32.6 512h318.9c23 0 38.5-23.5 29.4-44.6L345.1 384h6.9c17.7 0 32-14.3 32-32zM56.8 464l54.9-128h160.6l54.9 128H56.8zm255.5-156.6c-5-11.8-16.6-19.4-29.4-19.4H101.1c-12.8 0-24.4 7.6-29.4 19.4L59.5 336H48V48h288v288h-11.5l-12.2-28.6z\"] };\nvar faRandom = { prefix: 'far', iconName: 'random', icon: [512, 512, [], \"f074\", \"M505 400l-79.2 72.9c-15.1 15.1-41.8 4.4-41.8-17v-40h-31c-3.3 0-6.5-1.4-8.8-3.9l-89.8-97.2 38.1-41.3 79.8 86.3H384v-48c0-21.4 26.7-32.1 41.8-17l79.2 71c9.3 9.6 9.3 24.8 0 34.2zM12 152h91.8l79.8 86.3 38.1-41.3-89.8-97.2c-2.3-2.5-5.5-3.9-8.8-3.9H12c-6.6 0-12 5.4-12 12v32c0 6.7 5.4 12.1 12 12.1zm493-41.9l-79.2-71C410.7 24 384 34.7 384 56v40h-31c-3.3 0-6.5 1.4-8.8 3.9L103.8 360H12c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h111c3.3 0 6.5-1.4 8.8-3.9L372.2 152H384v48c0 21.4 26.7 32.1 41.8 17l79.2-73c9.3-9.4 9.3-24.6 0-33.9z\"] };\nvar faRectangleLandscape = { prefix: 'far', iconName: 'rectangle-landscape', icon: [510, 512, [], \"f2fa\", \"M462 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h414c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h402c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6z\"] };\nvar faRectanglePortrait = { prefix: 'far', iconName: 'rectangle-portrait', icon: [385, 512, [], \"f2fb\", \"M385 464V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h289c26.5 0 48-21.5 48-48zm-337-6V54c0-3.3 2.7-6 6-6h277c3.3 0 6 2.7 6 6v404c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6z\"] };\nvar faRectangleWide = { prefix: 'far', iconName: 'rectangle-wide', icon: [640, 512, [], \"f2fc\", \"M592 96.5H48c-26.5 0-48 21.5-48 48v223c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48v-223c0-26.5-21.5-48-48-48zm-6 271H54c-3.3 0-6-2.7-6-6v-211c0-3.3 2.7-6 6-6h532c3.3 0 6 2.7 6 6v211c0 3.3-2.7 6-6 6z\"] };\nvar faRecycle = { prefix: 'far', iconName: 'recycle', icon: [512, 512, [], \"f1b8\", \"M214.951 71.068l-29.543 48.77c-3.425 5.654-10.778 7.473-16.444 4.069l-20.562-12.355c-5.694-3.422-7.525-10.819-4.085-16.501l29.585-48.861c37.33-61.594 126.877-61.579 164.198 0l44.115 72.856 34.93-20.988c12.268-7.371 27.19 3.858 23.765 17.585l-21.886 87.815c-2.137 8.574-10.821 13.792-19.395 11.654l-87.804-21.906c-13.822-3.446-16.55-21.921-4.37-29.239l33.631-20.208-44.045-72.707c-18.636-30.747-63.456-30.73-82.09.016zM55.006 335.104l49.596-81.873 34.03 20.447c12.18 7.318 27.211-3.763 23.765-17.585l-21.88-87.811c-2.137-8.574-10.821-13.792-19.395-11.654l-87.81 21.902c-13.729 3.421-16.638 21.868-4.37 29.239l34.554 20.762-49.475 81.711C-24.729 374.181 21.448 456 96.12 456H164c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H96.045c-37.259 0-60.426-40.907-41.039-72.896zm442.98-24.861l-34.991-57.788c-3.424-5.655-10.778-7.476-16.445-4.071l-20.53 12.336c-5.695 3.422-7.526 10.821-4.083 16.504l35.074 57.897C476.323 366.988 453.337 408 415.96 408H320v-39.98c0-14.21-17.24-21.386-27.313-11.313l-64 63.98c-6.249 6.248-6.249 16.379 0 22.627l64 63.989C302.689 517.308 320 510.3 320 495.989V456h95.887c74.764 0 120.802-81.898 82.099-145.757z\"] };\nvar faRedo = { prefix: 'far', iconName: 'redo', icon: [512, 512, [], \"f01e\", \"M500 8h-27.711c-6.739 0-12.157 5.548-11.997 12.286l2.347 98.568C418.075 51.834 341.788 7.73 255.207 8.001 118.82 8.428 7.787 120.009 8 256.396 8.214 393.181 119.165 504 256 504c63.926 0 122.202-24.187 166.178-63.908 5.113-4.618 5.354-12.561.482-17.433l-19.738-19.738c-4.498-4.498-11.753-4.785-16.501-.552C351.787 433.246 306.105 452 256 452c-108.322 0-196-87.662-196-196 0-108.322 87.662-196 196-196 79.545 0 147.941 47.282 178.675 115.302l-126.389-3.009c-6.737-.16-12.286 5.257-12.286 11.997V212c0 6.627 5.373 12 12 12h192c6.627 0 12-5.373 12-12V20c0-6.627-5.373-12-12-12z\"] };\nvar faRedoAlt = { prefix: 'far', iconName: 'redo-alt', icon: [512, 512, [], \"f2f9\", \"M483.515 28.485L431.35 80.65C386.475 35.767 324.485 8 256.001 8 119.34 8 7.9 119.525 8 256.185 8.1 393.067 119.095 504 256 504c63.926 0 122.202-24.187 166.178-63.908 5.113-4.618 5.353-12.561.482-17.433l-19.738-19.738c-4.498-4.498-11.753-4.785-16.501-.552C351.787 433.246 306.105 452 256 452c-108.321 0-196-87.662-196-196 0-108.321 87.662-196 196-196 54.163 0 103.157 21.923 138.614 57.386l-54.128 54.129c-7.56 7.56-2.206 20.485 8.485 20.485H492c6.627 0 12-5.373 12-12V36.971c0-10.691-12.926-16.045-20.485-8.486z\"] };\nvar faRegistered = { prefix: 'far', iconName: 'registered', icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"] };\nvar faRepeat = { prefix: 'far', iconName: 'repeat', icon: [512, 512, [], \"f363\", \"M512 256c0 83.813-68.187 152-152 152H136.535l55.762 54.545c4.775 4.67 4.817 12.341.094 17.064l-16.877 16.877c-4.686 4.686-12.284 4.686-16.971 0l-104-104c-4.686-4.686-4.686-12.284 0-16.971l104-104c4.686-4.686 12.284-4.686 16.971 0l16.877 16.877c4.723 4.723 4.681 12.393-.094 17.064L136.535 360H360c57.346 0 104-46.654 104-104 0-19.452-5.372-37.671-14.706-53.258a11.991 11.991 0 0 1 1.804-14.644l17.392-17.392c5.362-5.362 14.316-4.484 18.491 1.847C502.788 196.521 512 225.203 512 256zM62.706 309.258C53.372 293.671 48 275.452 48 256c0-57.346 46.654-104 104-104h223.465l-55.762 54.545c-4.775 4.67-4.817 12.341-.094 17.064l16.877 16.877c4.686 4.686 12.284 4.686 16.971 0l104-104c4.686-4.686 4.686-12.284 0-16.971l-104-104c-4.686-4.686-12.284-4.686-16.971 0l-16.877 16.877c-4.723 4.723-4.681 12.393.094 17.064L375.465 104H152C68.187 104 0 172.187 0 256c0 30.797 9.212 59.479 25.019 83.447 4.175 6.331 13.129 7.209 18.491 1.847l17.392-17.392a11.991 11.991 0 0 0 1.804-14.644z\"] };\nvar faRepeat1 = { prefix: 'far', iconName: 'repeat-1', icon: [512, 512, [], \"f365\", \"M512 256c0 83.813-68.187 152-152 152H136.535l55.762 54.545c4.775 4.67 4.817 12.341.094 17.064l-16.877 16.877c-4.686 4.686-12.284 4.686-16.971 0l-104-104c-4.686-4.686-4.686-12.284 0-16.971L154.59 275.468c4.686-4.686 12.284-4.686 16.971 0l16.877 16.877c4.723 4.723 4.681 12.393-.094 17.064L136.535 360H360c57.346 0 104-46.654 104-104 0-19.452-5.372-37.671-14.706-53.258a11.991 11.991 0 0 1 1.804-14.644l17.392-17.392c5.362-5.362 14.316-4.484 18.491 1.847C502.788 196.521 512 225.203 512 256zM62.706 309.258C53.372 293.671 48 275.452 48 256c0-57.346 46.654-104 104-104h223.465l-51.809 50.592c-4.775 4.67-4.817 12.341-.094 17.064l16.877 16.877c4.686 4.686 12.284 4.686 16.971 0l100.047-100.047c4.686-4.686 4.686-12.284 0-16.971l-104-104c-4.686-4.686-12.284-4.686-16.971 0l-16.877 16.877c-4.723 4.723-4.681 12.393.094 17.064L375.465 104H152C68.187 104 0 172.187 0 256c0 30.797 9.212 59.479 25.019 83.447 4.175 6.331 13.129 7.209 18.491 1.847l17.392-17.392a11.991 11.991 0 0 0 1.804-14.644zm164.557-9.731c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z\"] };\nvar faRepeat1Alt = { prefix: 'far', iconName: 'repeat-1-alt', icon: [512, 512, [], \"f366\", \"M481.162 164.326c19.478 25.678 30.997 57.709 30.836 92.388C511.61 340.638 442.361 408 358.436 408H176v64c-.001 10.683-12.949 16.021-20.485 8.485l-88-87.995c-4.686-4.686-4.687-12.284 0-16.971l88-88.005c7.58-7.58 20.485-2.14 20.485 8.485v64h182.668C415.933 360 464.06 313.154 464 255.889c-.023-22.372-7.149-43.111-19.237-60.082-3.431-4.817-2.962-11.387 1.223-15.564 8.269-8.255 13.592-13.545 17.137-17.104 5.131-5.152 13.645-4.605 18.039 1.187zM48 256.111C47.94 198.846 96.067 152 153.332 152H336v64c0 10.625 12.905 16.066 20.485 8.485l88-88.005c4.687-4.686 4.686-12.285 0-16.971l-88-87.995C348.949 23.979 336.001 29.317 336 40v64H153.564C69.639 104 .389 171.362.002 255.286c-.16 34.679 11.358 66.71 30.836 92.388 4.394 5.792 12.908 6.339 18.039 1.188 3.545-3.559 8.867-8.849 17.137-17.105 4.185-4.178 4.653-10.748 1.223-15.564-12.088-16.971-19.213-37.71-19.237-60.082zm179.263 43.416c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z\"] };\nvar faRepeatAlt = { prefix: 'far', iconName: 'repeat-alt', icon: [512, 512, [], \"f364\", \"M481.162 164.326c19.478 25.678 30.997 57.709 30.836 92.388C511.61 340.638 442.361 408 358.436 408H176v64c-.001 10.683-12.949 16.021-20.485 8.485l-88-87.995c-4.686-4.686-4.687-12.284 0-16.971l88-88.005c7.58-7.58 20.485-2.14 20.485 8.485v64h182.668C415.933 360 464.06 313.154 464 255.889c-.023-22.372-7.149-43.111-19.237-60.082-3.431-4.817-2.962-11.387 1.223-15.564 8.269-8.255 13.592-13.545 17.137-17.104 5.131-5.152 13.645-4.605 18.039 1.187zM48 256.111C47.94 198.846 96.067 152 153.332 152H336v64c0 10.625 12.905 16.066 20.485 8.485l88-88.005c4.687-4.686 4.686-12.285 0-16.971l-88-87.995C348.949 23.979 336.001 29.317 336 40v64H153.564C69.639 104 .389 171.362.002 255.286c-.16 34.679 11.358 66.71 30.836 92.388 4.394 5.792 12.908 6.339 18.039 1.188 3.545-3.559 8.867-8.849 17.137-17.105 4.185-4.178 4.653-10.748 1.223-15.564-12.088-16.971-19.213-37.71-19.237-60.082z\"] };\nvar faReply = { prefix: 'far', iconName: 'reply', icon: [576, 512, [], \"f3e5\", \"M14.062 257.94L190.06 433.88c30.21 30.21 81.94 8.7 81.94-33.94v-78.28c146.59 8.54 158.53 50.199 134.18 127.879-13.65 43.56 35.07 78.89 72.19 54.46C537.98 464.768 576 403.8 576 330.05c0-170.37-166.04-197.15-304-201.3V48.047c0-42.72-51.79-64.09-81.94-33.94L14.062 190.06c-18.75 18.74-18.75 49.14 0 67.88zM48 224L224 48v128.03c143.181.63 304 11.778 304 154.02 0 66.96-40 109.95-76.02 133.65C501.44 305.911 388.521 273.88 224 272.09V400L48 224z\"] };\nvar faReplyAll = { prefix: 'far', iconName: 'reply-all', icon: [640, 512, [], \"f122\", \"M142.06 273.94l160 159.97c30.02 30.02 81.94 8.98 81.94-33.94v-71.08c118.18 4.94 121.95 30.99 104.44 89.17-13.17 43.75 36.21 78.71 73.1 53.43 50.61-34.7 78.46-79.33 78.46-143.11 0-142.4-127.16-171.02-256-175.61V80.04c0-42.88-51.89-64-81.94-33.94l-160 159.96c-18.75 18.74-18.75 49.14 0 67.88zM176 240L336 80v120c120.616 0 256 6.513 256 128.38 0 55.8-28.79 83.87-57.6 103.62 41.002-136.247-60.829-152-198.4-152v120L176 240zM14.059 206.059l160-159.962c20.389-20.389 50.822-17.22 68.29.31L48 240l194.35 193.603c-17.474 17.531-47.921 20.675-68.291.306l-160-159.967c-18.745-18.746-18.745-49.138 0-67.883z\"] };\nvar faRetweet = { prefix: 'far', iconName: 'retweet', icon: [640, 512, [], \"f079\", \"M624.485 353.456l-104 104c-4.686 4.686-12.284 4.686-16.971 0l-104-104c-4.686-4.686-4.686-12.284 0-16.971l16.877-16.877c4.723-4.723 12.393-4.681 17.064.094L488 375.465V152H284.024a11.996 11.996 0 0 1-8.485-3.515l-24-24c-7.56-7.56-2.206-20.485 8.485-20.485H512c13.255 0 24 10.745 24 24v247.465l54.545-55.762c4.671-4.775 12.341-4.817 17.064-.094l16.877 16.877c4.686 4.686 4.686 12.284-.001 16.97zm-260.024 10.059a12.002 12.002 0 0 0-8.485-3.515H152V136.535l54.545 55.762c4.671 4.775 12.341 4.817 17.064.094l16.877-16.877c4.686-4.686 4.686-12.284 0-16.971l-104-104c-4.686-4.686-12.284-4.686-16.971 0l-104 104c-4.686 4.686-4.686 12.284 0 16.971l16.877 16.877c4.723 4.723 12.393 4.681 17.064-.094L104 136.535V384c0 13.255 10.745 24 24 24h251.976c10.691 0 16.045-12.926 8.485-20.485l-24-24z\"] };\nvar faRetweetAlt = { prefix: 'far', iconName: 'retweet-alt', icon: [640, 512, [], \"f361\", \"M388.461 387.515c7.56 7.56 2.206 20.485-8.485 20.485H128c-13.255 0-24-10.745-24-24V171.187l-72.162-.001c-10.683-.001-16.022-12.949-8.485-20.485l96.156-96.156c4.686-4.686 12.284-4.687 16.971 0l96.16 96.16c7.58 7.58 2.14 20.485-8.485 20.485L152 171.188V360h203.976c3.183 0 6.235 1.264 8.485 3.515l24 24zm219.701-46.7L536 340.813V128c0-13.255-10.745-24-24-24H260.024c-10.691 0-16.045 12.926-8.485 20.485l24 24a12.002 12.002 0 0 0 8.485 3.515H488v188.812l-72.154-.001c-10.625 0-16.066 12.905-8.485 20.485l96.16 96.16c4.686 4.687 12.285 4.686 16.971 0l96.156-96.156c7.535-7.536 2.197-20.485-8.486-20.485z\"] };\nvar faRibbon = { prefix: 'far', iconName: 'ribbon', icon: [448, 512, [], \"f4d6\", \"M437.7 404.6L329.5 287l37.5-40.3c34.8-37.4 39-91.3 10.8-137.3L347 59.1c-15-24.5-37.2-42.4-62.4-50.5-36-11.5-85.1-11.5-121 0-25.3 8.1-47.5 26-62.4 50.5l-33.3 54.3c-25.9 42.2-20.4 97 13.3 133.2l37.5 40.4L10.4 404.7c-16.5 17.9-12.8 45.9 7.5 59.2l63.3 41.3c24 15.7 45.5.1 51.4-6.2l91.5-98.5 91.4 98.4c5.8 6.3 27.6 21.9 51.4 6.3l63.3-41.3c20.1-13.1 24-41.3 7.5-59.3zM328.2 120.2l8.7 14.2c16.9 27.5 14.9 58-5.1 79.5l-34.9 37.6-40.3-43.8 45.5-49.5c11.7-11.4 19.9-24.9 26.1-38zm-150-65.9c26.5-8.5 65.2-8.5 91.7 0 9.1 2.9 17.5 8.5 24.8 15.8-2.7 12.9-9.8 37.9-27 54.8L224 172.3 179.6 124C163 107.7 156 82.7 153.4 69.9c7.2-7.3 15.7-12.7 24.8-15.6zm-76.3 407.2l-49.1-32.1 98.5-107.2 40 43-89.4 96.3zm244.3 0L116.3 214c-19.1-20.6-22.2-51.6-7.5-75.5l10.9-17.9c6 12.8 14.2 25.8 25.4 36.8l250.2 272.1-49.1 32z\"] };\nvar faRoad = { prefix: 'far', iconName: 'road', icon: [576, 512, [], \"f018\", \"M246.7 435.2l7.2-104c.4-6.3 5.7-11.2 12-11.2h44.9c6.3 0 11.5 4.9 12 11.2l7.2 104c.5 6.9-5 12.8-12 12.8h-59.3c-6.9 0-12.4-5.9-12-12.8zM267.6 288h41.5c5.8 0 10.4-4.9 10-10.7l-5.2-76c-.4-5.2-4.7-9.3-10-9.3h-31c-5.3 0-9.6 4.1-10 9.3l-5.2 76c-.5 5.8 4.1 10.7 9.9 10.7zm6.2-120H303c4.6 0 8.3-3.9 8-8.6l-2.8-40c-.3-4.2-3.8-7.4-8-7.4h-23.7c-4.2 0-7.7 3.3-8 7.4l-2.8 40c-.2 4.7 3.4 8.6 8.1 8.6zm2.8-72h23.5c3.5 0 6.2-2.9 6-6.4l-1.4-20c-.2-3.1-2.8-5.6-6-5.6H278c-3.2 0-5.8 2.4-6 5.6l-1.4 20c-.2 3.5 2.5 6.4 6 6.4zM12 448h65c5.4 0 10.2-3.6 11.6-8.9l99.5-367.6c1-3.8-1.8-7.6-5.8-7.6h-28.1c-2.4 0-4.6 1.5-5.6 3.7L.9 431.5C-2.3 439.4 3.5 448 12 448zm487.7 0h65c8.5 0 14.3-8.6 11.1-16.5L428 67.7c-.9-2.3-3.1-3.7-5.6-3.7h-28.1c-4 0-6.8 3.8-5.8 7.6L488 439.2c1.5 5.2 6.3 8.8 11.7 8.8z\"] };\nvar faRocket = { prefix: 'far', iconName: 'rocket', icon: [512, 512, [], \"f135\", \"M512 112c0-36.8-.8-47.2-11-89.1-1.4-5.8-5.9-10.3-11.7-11.8C451.4 1.8 440 0 400 0c-68.3 0-127.4 39.5-177 96H96c-15.2 0-29 8.6-35.8 22.1l-56 112C-9 256.7 10.3 288 40.1 288h66.3c-6.7 15-12.9 29.8-18.6 44.1-2.4 5.9-1 12.7 3.6 17.2l71.3 71.3c4.5 4.5 11.3 5.9 17.2 3.6 14.3-5.7 29.1-11.9 44.1-18.6v66.3c0 29.7 31.3 49.1 57.9 35.8l112-56c13.6-6.8 22.1-20.6 22.1-35.8V289c56.5-49.6 96-108.7 96-177zM53 240l48-96h84.7c-21.1 30.3-39.9 63.1-56.6 96H53zm87.1 90.2C196.8 191.1 293 48 400.1 48c22.6 0 34.7 0 58.8 5.2 5.1 24 5.1 36.2 5.1 58.8 0 107.1-143.1 203.2-282.2 259.9l-41.7-41.7zM368 411l-96 48v-76.2c32.9-16.6 65.7-35.5 96-56.6V411zm0-315c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48z\"] };\nvar faRoute = { prefix: 'far', iconName: 'route', icon: [512, 512, [], \"f4d7\", \"M424 336h-96c-22.1 0-40-17.9-40-40s17.9-40 40-40h88s96-107 96-160-43-96-96-96-96 43-96 96c0 29.8 30.3 76.7 56.9 112H328c-48.5 0-88 39.5-88 88s39.5 88 88 88h96c22.1 0 40 17.9 40 40s-17.9 40-40 40H135.1c26.6-35.3 56.9-82.2 56.9-112 0-53-43-96-96-96S0 299 0 352s96 160 96 160h328c48.5 0 88-39.5 88-88s-39.5-88-88-88zM368 96c0-26.5 21.5-48 48-48s48 21.5 48 47.9c-.5 13.4-20.8 48.2-48 84.4-27.2-36.2-47.5-70.9-48-84.3zM96 436.3c-27.2-36.2-47.5-70.9-48-84.3 0-26.5 21.5-48 48-48s48 21.5 48 47.9c-.5 13.4-20.8 48.2-48 84.4zM96 336c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zM432 96c0-8.8-7.2-16-16-16s-16 7.2-16 16 7.2 16 16 16 16-7.2 16-16z\"] };\nvar faRss = { prefix: 'far', iconName: 'rss', icon: [448, 512, [], \"f09e\", \"M80 368c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32m0-48c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm367.996 147.615c-6.449-237.834-198.057-429.163-435.61-435.61C5.609 31.821 0 37.229 0 44.007v24.02c0 6.482 5.147 11.808 11.626 11.992 211.976 6.04 382.316 176.735 388.354 388.354.185 6.479 5.51 11.626 11.992 11.626h24.02c6.78.001 12.187-5.608 12.004-12.384zm-136.239-.05C305.401 305.01 174.966 174.599 12.435 168.243 5.643 167.977 0 173.444 0 180.242v24.024c0 6.431 5.072 11.705 11.497 11.98 136.768 5.847 246.411 115.511 252.258 252.258.275 6.425 5.549 11.497 11.98 11.497h24.024c6.797-.001 12.264-5.644 11.998-12.436z\"] };\nvar faRssSquare = { prefix: 'far', iconName: 'rss-square', icon: [448, 512, [], \"f143\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-218-88c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm93.566 30.405c-4.774-88.343-75.534-159.193-163.971-163.971-5.22-.282-9.595 3.912-9.595 9.14v27.468c0 4.808 3.709 8.841 8.507 9.153 63.904 4.162 115.127 55.258 119.298 119.298.313 4.798 4.345 8.507 9.153 8.507h27.468c5.228 0 9.422-4.375 9.14-9.595zm82.428.165c-4.796-133.612-112.3-241.744-246.564-246.564-5.159-.185-9.43 3.983-9.43 9.146v27.467c0 4.929 3.906 8.94 8.83 9.142 109.245 4.479 196.93 92.181 201.408 201.408.202 4.925 4.213 8.83 9.142 8.83h27.467c5.164.001 9.332-4.27 9.147-9.429z\"] };\nvar faRubleSign = { prefix: 'far', iconName: 'ruble-sign', icon: [384, 512, [], \"f158\", \"M243.128 314.38C324.987 314.38 384 257.269 384 172.238S324.987 32 243.128 32H76c-6.627 0-12 5.373-12 12v215.807H12c-6.627 0-12 5.373-12 12v30.572c0 6.627 5.373 12 12 12h52V352H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h52v68c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-68h180c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H128v-37.62h115.128zM128 86.572h105.61c53.303 0 86.301 31.728 86.301 85.666 0 53.938-32.998 87.569-86.935 87.569H128V86.572z\"] };\nvar faRupeeSign = { prefix: 'far', iconName: 'rupee-sign', icon: [320, 512, [], \"f156\", \"M308 80c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v31.659c0 6.627 5.373 12 12 12h93.61c39.065 0 67.203 17.4 79.458 48.341H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h179.59c-3.43 49.738-35.677 80.341-86.615 80.341H12c-6.627 0-12 5.373-12 12v34.974c0 3.495 1.524 6.816 4.173 9.096l182.094 156.685a11.996 11.996 0 0 0 7.827 2.904h61.326c11.13 0 16.263-13.837 7.827-21.096L101.818 320h13.31c79.002 0 136.718-54.257 140.65-136H308c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-56.354c-5.067-21.636-14.409-40.497-27.202-56H308z\"] };\nvar faSave = { prefix: 'far', iconName: 'save', icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"] };\nvar faScanner = { prefix: 'far', iconName: 'scanner', icon: [640, 512, [], \"f488\", \"M632 64H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8zm0-64H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zm0 160H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 192H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm0-64H456c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zM368 64H112C50.1 64 0 114.1 0 176c0 50.3 33.3 92.3 78.9 106.5L6.4 408C-6.9 431 1 460.3 24 473.6l55.4 32c7.6 4.4 15.8 6.4 24 6.4 16.6 0 32.7-8.6 41.6-24l60-104h67c26.5 0 48-21.5 48-48v-48h48c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM103.4 464L48 432l83.1-144H205L103.4 464zM288 336c0 8.8-7.2 16-16 16h-48.5l36.9-64H288v48zm48-96H112c-35.3 0-64-28.7-64-64s28.7-64 64-64h224v128zm296 208H456c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"] };\nvar faScannerKeyboard = { prefix: 'far', iconName: 'scanner-keyboard', icon: [576, 512, [], \"f489\", \"M400 64H16C7.2 64 0 71.2 0 80v182.6c0 8.5 3.4 16.6 9.4 22.6L32 307.9V464c0 26.5 21.5 48 48 48h256c26.5 0 48-21.5 48-48V307.9l22.6-22.6c6-6 9.4-14.1 9.4-22.6V80c0-8.8-7.2-16-16-16zm-32 192l-32 32v176H80V288l-32-32V112h320v144zM184 368h-64c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm112 0h-64c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-112-96h-64c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm112 0h-64c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-184-48h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zM256 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v24h64V8zm64 0c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V8zm248-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zM408 0h-48c-4.4 0-8 3.6-8 8v24h64V8c0-4.4-3.6-8-8-8zm64 0h-16c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8z\"] };\nvar faScannerTouchscreen = { prefix: 'far', iconName: 'scanner-touchscreen', icon: [576, 512, [], \"f48a\", \"M400 64H16C7.2 64 0 71.2 0 80v182.6c0 8.5 3.4 16.6 9.4 22.6L32 307.9V464c0 26.5 21.5 48 48 48h256c26.5 0 48-21.5 48-48V307.9l22.6-22.6c6-6 9.4-14.1 9.4-22.6V80c0-8.8-7.2-16-16-16zm-32 192l-32 32v176H80V288l-32-32V112h320v144zM144 416h128c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zM256 8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v24h64V8zm64 0c0-4.4-3.6-8-8-8h-16c-4.4 0-8 3.6-8 8v24h32V8zm248-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zm-96 0h-16c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8zm-64 0h-48c-4.4 0-8 3.6-8 8v24h64V8c0-4.4-3.6-8-8-8z\"] };\nvar faScrubber = { prefix: 'far', iconName: 'scrubber', icon: [496, 512, [], \"f2f8\", \"M248 56c110.5 0 200 89.5 200 200s-89.5 200-200 200S48 366.5 48 256 137.5 56 248 56m0-48C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 184c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"] };\nvar faSearch = { prefix: 'far', iconName: 'search', icon: [512, 512, [], \"f002\", \"M508.5 468.9L387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S119.6 48 208 48s160 71.6 160 160-71.6 160-160 160z\"] };\nvar faSearchMinus = { prefix: 'far', iconName: 'search-minus', icon: [512, 512, [], \"f010\", \"M312 196v24c0 6.6-5.4 12-12 12H116c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h184c6.6 0 12 5.4 12 12zm196.5 289.9l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L347.5 387.1c-2.3-2.3-3.5-5.3-3.5-8.5v-13.2c-36.5 31.5-84 50.6-136 50.6C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 52-19.1 99.5-50.6 136h13.2c3.2 0 6.2 1.3 8.5 3.5l121.4 121.4c4.7 4.7 4.7 12.3 0 17zM368 208c0-88.4-71.6-160-160-160S48 119.6 48 208s71.6 160 160 160 160-71.6 160-160z\"] };\nvar faSearchPlus = { prefix: 'far', iconName: 'search-plus', icon: [512, 512, [], \"f00e\", \"M312 196v24c0 6.6-5.4 12-12 12h-68v68c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-68h-68c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h68v-68c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v68h68c6.6 0 12 5.4 12 12zm196.5 289.9l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L347.5 387.1c-2.3-2.3-3.5-5.3-3.5-8.5v-13.2c-36.5 31.5-84 50.6-136 50.6C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 52-19.1 99.5-50.6 136h13.2c3.2 0 6.2 1.3 8.5 3.5l121.4 121.4c4.7 4.7 4.7 12.3 0 17zM368 208c0-88.4-71.6-160-160-160S48 119.6 48 208s71.6 160 160 160 160-71.6 160-160z\"] };\nvar faSeedling = { prefix: 'far', iconName: 'seedling', icon: [512, 512, [], \"f4d8\", \"M436.4 32c-91 0-168.3 67.9-194.7 161.4C204.6 134.6 144 96 75.6 96H0v24c0 127.9 91.7 232 204.4 232H232v112c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V288h27.6C420.3 288 512 183.9 512 56V32h-75.6zm-232 272c-79.3 0-145.1-69.8-155.1-160h26.2c79.3 0 145.1 69.8 155.1 160h-26.2zm103.2-64h-26.2c10-90.2 75.8-160 155.1-160h26.2c-10 90.2-75.8 160-155.1 160z\"] };\nvar faServer = { prefix: 'far', iconName: 'server', icon: [512, 512, [], \"f233\", \"M424 400c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24zm-88-24c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm64-144c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm176-72a47.758 47.758 0 0 1-6.438 24A47.758 47.758 0 0 1 512 208v96a47.758 47.758 0 0 1-6.438 24A47.758 47.758 0 0 1 512 352v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96a47.758 47.758 0 0 1 6.438-24A47.758 47.758 0 0 1 0 304v-96a47.758 47.758 0 0 1 6.438-24A47.758 47.758 0 0 1 0 160V64c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v96zm-464 0h416V64H48v96zm416 48H48v96h416v-96zm0 144H48v96h416v-96zm-64-216c13.255 0 24-10.745 24-24s-10.745-24-24-24-24 10.745-24 24 10.745 24 24 24zm-64 0c13.255 0 24-10.745 24-24s-10.745-24-24-24-24 10.745-24 24 10.745 24 24 24z\"] };\nvar faShare = { prefix: 'far', iconName: 'share', icon: [576, 512, [], \"f064\", \"M561.938 190.06L385.94 14.107C355.79-16.043 304 5.327 304 48.047v80.703C166.04 132.9 0 159.68 0 330.05c0 73.75 38.02 134.719 97.63 173.949 37.12 24.43 85.84-10.9 72.19-54.46C145.47 371.859 157.41 330.2 304 321.66v78.28c0 42.64 51.73 64.15 81.94 33.94l175.997-175.94c18.751-18.74 18.751-49.14.001-67.88zM352 400V272.09c-164.521 1.79-277.44 33.821-227.98 191.61C88 440 48 397.01 48 330.05c0-142.242 160.819-153.39 304-154.02V48l176 176-176 176z\"] };\nvar faShareAll = { prefix: 'far', iconName: 'share-all', icon: [640, 512, [], \"f367\", \"M497.94 206.06l-160-159.96C307.89 16.04 256 37.16 256 80.04v72.73C127.16 157.36 0 185.98 0 328.38c0 63.78 27.85 108.41 78.46 143.11 36.89 25.28 86.27-9.68 73.1-53.43-17.51-58.18-13.74-84.23 104.44-89.17v71.08c0 42.92 51.92 63.96 81.94 33.94l160-159.97c18.75-18.74 18.75-49.14 0-67.88zM304 400V280c-137.571 0-239.402 15.753-198.4 152C76.79 412.25 48 384.18 48 328.38 48 206.513 183.384 200 304 200V80l160 160-160 160zm321.941-126.059l-160 159.967c-20.37 20.37-50.817 17.225-68.291-.306L592 240 397.652 46.407c17.468-17.53 47.9-20.699 68.29-.31l160 159.962c18.744 18.745 18.744 49.137-.001 67.882z\"] };\nvar faShareAlt = { prefix: 'far', iconName: 'share-alt', icon: [448, 512, [], \"f1e0\", \"M448 416c0 53.019-42.981 96-96 96s-96-42.981-96-96a95.942 95.942 0 0 1 4.438-28.924l-98.337-61.46C144.887 341.966 121.616 352 96 352c-53.019 0-96-42.981-96-96s42.981-96 96-96c25.616 0 48.887 10.034 66.101 26.385l98.337-61.461A95.942 95.942 0 0 1 256 96c0-53.019 42.981-96 96-96s96 42.981 96 96-42.981 96-96 96c-25.616 0-48.887-10.034-66.101-26.385l-98.337 61.461c5.917 18.75 5.922 39.083 0 57.848l98.337 61.461C303.113 330.034 326.384 320 352 320c53.019 0 96 42.981 96 96zM352 48c-26.467 0-48 21.533-48 48s21.533 48 48 48 48-21.533 48-48-21.533-48-48-48M96 208c-26.467 0-48 21.533-48 48s21.533 48 48 48 48-21.533 48-48-21.533-48-48-48m256 160c-26.467 0-48 21.533-48 48s21.533 48 48 48 48-21.533 48-48-21.533-48-48-48\"] };\nvar faShareAltSquare = { prefix: 'far', iconName: 'share-alt-square', icon: [448, 512, [], \"f1e1\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h340a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-58-96c0 26.51-21.49 48-48 48s-48-21.49-48-48c0-2.007.138-3.981.377-5.923l-69.131-34.565A47.768 47.768 0 0 1 144 304c-26.51 0-48-21.49-48-48s21.49-48 48-48a47.762 47.762 0 0 1 27.246 8.489l69.131-34.565A48.461 48.461 0 0 1 240 176c0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-12.941 0-24.677-5.131-33.31-13.457l-64.54 32.27a47.935 47.935 0 0 1 0 26.374l64.54 32.27C263.323 293.13 275.059 288 288 288c26.51 0 48 21.49 48 48z\"] };\nvar faShareSquare = { prefix: 'far', iconName: 'share-square', icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"] };\nvar faShekelSign = { prefix: 'far', iconName: 'shekel-sign', icon: [384, 512, [], \"f20b\", \"M128 88H64v380c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12V44c0-6.627 5.373-12 12-12h125.429c81.859 0 140.872 56.306 140.872 143.029v188.969c0 6.627-5.373 12-12 12l-28 .002c-13.255.001-24.001-10.745-24.001-24V175.033C214.301 120.234 181.303 88 128 88zm244-56h-40c-6.627 0-12 5.373-12 12v380h-64c-53.303 0-86.301-32.235-86.301-87.033V160c0-13.255-10.746-24.001-24.001-24l-28 .002c-6.627 0-12 5.373-12 12v188.969C105.698 423.695 164.711 480 246.57 480H372c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12z\"] };\nvar faShield = { prefix: 'far', iconName: 'shield', icon: [512, 512, [], \"f132\", \"M237.5 508.3c11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3zM256 48l192 80c0 173.8-98.4 297-192 336-97.5-40.6-192-166.7-192-336l192-80z\"] };\nvar faShieldAlt = { prefix: 'far', iconName: 'shield-alt', icon: [512, 512, [], \"f3ed\", \"M113.12 159.533L256 100v309.65c-77.73-47.559-134.486-133.931-142.88-250.117zM496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zm-48 0L255.999 48 64 128c0 169.278 94.451 295.361 191.998 335.999C349.602 425.017 448 301.804 448 128z\"] };\nvar faShieldCheck = { prefix: 'far', iconName: 'shield-check', icon: [512, 512, [], \"f2f7\", \"M466.461 83.692l-192-80a48 48 0 0 0-36.923 0l-192 80A48 48 0 0 0 16 128c0 198.487 114.495 335.713 221.539 380.308a48 48 0 0 0 36.923 0C360.066 472.645 496 349.282 496 128a48 48 0 0 0-29.539-44.308zM255.998 463.999C158.451 423.361 64 297.278 64 128l191.999-80L448 128c0 173.804-98.398 297.017-192.002 335.999zM403.82 190.276L231.232 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.718-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277L364.382 150.52c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.668 4.705 4.637 12.303-.068 16.97z\"] };\nvar faShip = { prefix: 'far', iconName: 'ship', icon: [640, 512, [], \"f21a\", \"M484.843 379.396l74.163-62.753c28.358-23.994 19.811-69.847-15.304-82.002L488 215.359V88c0-13.255-10.745-24-24-24h-48V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-48c-13.255 0-24 10.745-24 24v127.359L96.299 234.64c-35.103 12.151-43.671 58-15.304 82.002l74.163 62.753C131.794 430.787 84.576 464 12 464c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12 61.682 0 114.334-17.015 157.164-66.492C175.604 483.207 208.493 512 248 512h144c39.507 0 72.396-28.793 78.836-66.492C513.949 495.312 566.824 512 628 512c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12-71.98 0-119.548-32.672-143.157-84.604zM264 40h112v24H264V40zm-64 72h240v86.744l-104.299-36.103a48 48 0 0 0-31.403 0L200 198.744V112zm224 320c0 17.673-14.327 32-32 32H248c-17.673 0-32-14.327-32-32v-64l-104-88 208-72 208 72-104 88v64z\"] };\nvar faShippingFast = { prefix: 'far', iconName: 'shipping-fast', icon: [640, 512, [], \"f48b\", \"M624 368h-16V251.9c0-19-7.7-37.5-21.1-50.9L503 117.1C489.6 103.7 471 96 452.1 96H416V56c0-30.9-25.1-56-56-56H120C89.1 0 64 25.1 64 56v40H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H112V56c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v312H242.7c-16.6-28.6-47.2-48-82.7-48-17.6 0-33.8 5.1-48 13.3V288H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-464 96c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm256-320h36.1c6.3 0 12.5 2.6 17 7l73 73H416v-80zm64 320c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-100.9c-17.2-25.9-46.6-43.1-80-43.1-24.7 0-47 9.6-64 24.9V272h144v91.1zM256 248v-16c0-4.4-3.6-8-8-8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8zm24-56c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h240z\"] };\nvar faShippingTimed = { prefix: 'far', iconName: 'shipping-timed', icon: [640, 512, [], \"f48c\", \"M208 88c-57.4 0-104 46.6-104 104s46.6 104 104 104 104-46.6 104-104S265.4 88 208 88zm48 128c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-80c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h24c4.4 0 8 3.6 8 8v16zm368 152h-16V251.9c0-19-7.7-37.5-21.1-50.9L503 117.1C489.6 103.7 471 96 452.1 96H416V56c0-30.9-25.1-56-56-56H56C25.1 0 0 25.1 0 56v304c0 30.9 25.1 56 56 56h8c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-464 96c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm208-96H242.7c-16.6-28.6-47.2-48-82.7-48s-66.1 19.4-82.7 48H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v312zm48-224h36.1c6.3 0 12.5 2.6 17 7l73 73H416v-80zm64 320c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-100.9c-17.2-25.9-46.6-43.1-80-43.1-24.7 0-47 9.6-64 24.9V256h144v107.1z\"] };\nvar faShoppingBag = { prefix: 'far', iconName: 'shopping-bag', icon: [448, 512, [], \"f290\", \"M352 128C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128H0v304c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V128h-96zM224 48c44.112 0 80 35.888 80 80H144c0-44.112 35.888-80 80-80zm176 384c0 17.645-14.355 32-32 32H80c-17.645 0-32-14.355-32-32V176h48v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h160v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h48v256z\"] };\nvar faShoppingBasket = { prefix: 'far', iconName: 'shopping-basket', icon: [576, 512, [], \"f291\", \"M564 192h-72.902L362.286 40.457c-8.583-10.099-23.729-11.327-33.83-2.743-10.099 8.584-11.327 23.731-2.742 33.83L428.102 192H147.899L250.287 71.543c8.584-10.099 7.356-25.246-2.743-33.83s-25.246-7.355-33.83 2.743L84.901 192H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h18.667l27.584 198.603C61.546 462.334 81.836 480 105.794 480h364.412c23.958 0 44.248-17.666 47.544-41.397L545.333 240H564c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zm-93.794 240H105.794L79.127 240h417.745l-26.666 192zM312 296v80c0 13.255-10.745 24-24 24s-24-10.745-24-24v-80c0-13.255 10.745-24 24-24s24 10.745 24 24zm112 0v80c0 13.255-10.745 24-24 24s-24-10.745-24-24v-80c0-13.255 10.745-24 24-24s24 10.745 24 24zm-224 0v80c0 13.255-10.745 24-24 24s-24-10.745-24-24v-80c0-13.255 10.745-24 24-24s24 10.745 24 24z\"] };\nvar faShoppingCart = { prefix: 'far', iconName: 'shopping-cart', icon: [576, 512, [], \"f07a\", \"M551.991 64H144.28l-8.726-44.608C133.35 8.128 123.478 0 112 0H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h80.24l69.594 355.701C150.796 415.201 144 430.802 144 448c0 35.346 28.654 64 64 64s64-28.654 64-64a63.681 63.681 0 0 0-8.583-32h145.167a63.681 63.681 0 0 0-8.583 32c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-18.136-7.556-34.496-19.676-46.142l1.035-4.757c3.254-14.96-8.142-29.101-23.452-29.101H203.76l-9.39-48h312.405c11.29 0 21.054-7.869 23.452-18.902l45.216-208C578.695 78.139 567.299 64 551.991 64zM208 472c-13.234 0-24-10.766-24-24s10.766-24 24-24 24 10.766 24 24-10.766 24-24 24zm256 0c-13.234 0-24-10.766-24-24s10.766-24 24-24 24 10.766 24 24-10.766 24-24 24zm23.438-200H184.98l-31.31-160h368.548l-34.78 160z\"] };\nvar faShower = { prefix: 'far', iconName: 'shower', icon: [512, 512, [], \"f2cc\", \"M358.545 87.515l-8.325 8.325c-32.77-31.98-80.45-39.83-120.53-23.54C205.38 47.45 171.5 32 134.08 32 60.33 32 .32 92 .32 165.76V480h48V166.833c0-47.291 37.83-86.484 85.119-86.831 21.329-.157 40.899 7.519 56.001 20.318-39.97 43.55-39.17 111.32 2.4 153.9l-8.325 8.325c-4.686 4.686-4.686 12.284 0 16.971l16.969 16.969c4.686 4.686 12.284 4.686 16.971 0l175.029-175.029c4.686-4.686 4.686-12.284 0-16.971l-16.969-16.969c-4.686-4.687-12.284-4.687-16.97-.001zM225.79 220.27c-24.133-25.161-23.527-65.096.96-89.52 24.621-24.621 64.496-24.962 89.52-.96l-90.48 90.48zM368 192c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm64 32c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16zm64-32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-160 32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm48 16c0 8.837 7.163 16 16 16s16-7.163 16-16-7.163-16-16-16-16 7.163-16 16zm80-16c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-160 32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm64 32c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16zm64-32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-96 64c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16zm64-32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-96 32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm64 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-32 32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zm-32 32c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16z\"] };\nvar faShuttlecock = { prefix: 'far', iconName: 'shuttlecock', icon: [512, 512, [], \"f45b\", \"M472 192h-40v-72c0-22.1-17.9-40-40-40h-72V40c0-22.1-17.9-40-40-40h-34.9c-15.5 0-29.8 9.1-36.3 23.1L95.5 266.5 31.1 331c-41.4 41.4-41.4 108.6 0 150 41.3 41.3 108.4 41.5 150 0l64.5-64.5 243.3-113.3c14.1-6.5 23.2-20.8 23.2-36.3V232c-.1-22.1-18-40-40.1-40zm-88-64v62.4l-91.2 28.8 28.8-91.2H384zM85.1 344.8l20.9-20.9 82.1 82.1-20.9 20.9-82.1-82.1zM250.2 48H272v50.2l-62 36L250.2 48zm10.9 112l-26.3 83.1L164 314l-25.7-25.7 36.3-77.9 86.5-50.4zM65 447c-21.8-21.8-22.4-56.6-2.2-79.4l81.6 81.6c-23.8 21.1-58.2 19-79.4-2.2zm158.7-73.3L198 347.9l70.8-70.8 83.1-26.3-50.3 86.5-77.9 36.4zM464 261.8l-86.2 40.1 36-61.9H464v21.8z\"] };\nvar faSign = { prefix: 'far', iconName: 'sign', icon: [512, 512, [], \"f4d9\", \"M496 64H112V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v16c0 8.8 7.2 16 16 16h48v384c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V112h80v48c-17.7 0-32 14.3-32 32v160c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32v-48h48c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zm-64 272H208V208h224v128zm-16-176H224v-48h192v48z\"] };\nvar faSignIn = { prefix: 'far', iconName: 'sign-in', icon: [512, 512, [], \"f090\", \"M416 448h-84c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h84c26.5 0 48-21.5 48-48V160c0-26.5-21.5-48-48-48h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zM167.1 83.5l-19.6 19.6c-4.8 4.8-4.7 12.5.2 17.1L260.8 230H12c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h248.8L147.7 391.7c-4.8 4.7-4.9 12.4-.2 17.1l19.6 19.6c4.7 4.7 12.3 4.7 17 0l164.4-164c4.7-4.7 4.7-12.3 0-17l-164.4-164c-4.7-4.6-12.3-4.6-17 .1z\"] };\nvar faSignInAlt = { prefix: 'far', iconName: 'sign-in-alt', icon: [512, 512, [], \"f2f6\", \"M144 112v51.6H48c-26.5 0-48 21.5-48 48v88.6c0 26.5 21.5 48 48 48h96v51.6c0 42.6 51.7 64.2 81.9 33.9l144-143.9c18.7-18.7 18.7-49.1 0-67.9l-144-144C195.8 48 144 69.3 144 112zm192 144L192 400v-99.7H48v-88.6h144V112l144 144zm80 192h-84c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h84c26.5 0 48-21.5 48-48V160c0-26.5-21.5-48-48-48h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96z\"] };\nvar faSignLanguage = { prefix: 'far', iconName: 'sign-language', icon: [448, 512, [], \"f2a7\", \"M447.968 255.133l-4.288-133.396c-1.604-49.855-61.761-73.611-96.506-38.312L300.5 22.235C289.722 8.105 273.399.001 255.718 0c-15.73-.001-29.852 6.461-40.062 16.826-16.196-5.277-35.681-3.348-51.571 8.791-15.525 11.86-23.293 30.355-22.117 49.169-29.519 17.38-36.485 56.359-16.959 83.304-22.239 18.8-26.446 51.119-10.965 74.91H80.98c-34.451 0-60.542 30.699-55.98 64.658C10.133 307.768.372 324.66.01 343.911c-.373 19.9 9.473 37.389 24.458 47.814-4.932 34.305 21.154 63.764 53.932 65.221C79.42 487.494 104.228 512 134.857 512h92.056c11.567 0 23.14-1.371 34.397-4.075l68.976-16.568c27.794-6.676 47.183-31.78 47.183-60.318v-87.728l47.11-37.447c15.276-12.141 24.02-31.107 23.389-50.731zM135.341 439h53.394a9 9 0 0 0 9-9v-5a9 9 0 0 0-9-9H80.851c-20.723 0-21.385-32-.483-32h108.367a9 9 0 0 0 9-9v-5a9 9 0 0 0-9-9H56.974c-20.727 0-21.38-32-.484-32h132.245a9 9 0 0 0 9-9v-5a9 9 0 0 0-9-9H81.463c-20.723 0-21.385-32-.483-32h144.485a9 9 0 0 0 5.364-16.227l-26.645-19.779c-16.937-12.574 1.704-38.139 18.079-25.985l105.738 78.501c5.302 3.936 8.467 10.305 8.467 17.035V431.04c0 9.812-6.48 18.223-15.758 20.451l-68.977 16.567a106.362 106.362 0 0 1-24.821 2.941h-92.056C113.959 471 114.615 439 135.341 439zm47.162-324.812l65.475 85.837-10.951-8.13c-11.136-8.268-25.761-10.099-38.53-5.037l-40.029-52.479c-13.393-17.554 11.638-36.449 24.035-20.191zm-8.736 78.07l6.711 8.797c-10.24 14.405-9.998 33.834.025 47.945h-2.893l-28.474-37.33c-12.938-16.963 11.814-36.22 24.631-19.412zm168.998 78.138l-88.307-65.56a8.995 8.995 0 0 0 7.38-1.777l3.864-3.072a9.001 9.001 0 0 0 1.556-12.504L186.307 81.357c-13.39-17.555 11.64-36.449 24.036-20.191l81.248 106.517a9.007 9.007 0 0 0 6.045 3.473 8.993 8.993 0 0 0 6.711-1.886l3.865-3.072a9 9 0 0 0 1.557-12.504l-65.905-86.401C230.472 49.737 255.499 30.843 267.9 47.1l88.768 116.376c5.305 6.955 16.432 2.972 16.151-5.748l-1.081-33.614c-.698-21.683 30.294-21.819 30.963-1.061l4.289 133.396c.216 6.729-2.745 13.204-7.923 17.319l-37.885 30.114c-1.052-13.261-7.769-25.58-18.417-33.486z\"] };\nvar faSignOut = { prefix: 'far', iconName: 'sign-out', icon: [512, 512, [], \"f08b\", \"M96 64h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-53 0-96-43-96-96V160c0-53 43-96 96-96zm231.1 19.5l-19.6 19.6c-4.8 4.8-4.7 12.5.2 17.1L420.8 230H172c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h248.8L307.7 391.7c-4.8 4.7-4.9 12.4-.2 17.1l19.6 19.6c4.7 4.7 12.3 4.7 17 0l164.4-164c4.7-4.7 4.7-12.3 0-17l-164.4-164c-4.7-4.6-12.3-4.6-17 .1z\"] };\nvar faSignOutAlt = { prefix: 'far', iconName: 'sign-out-alt', icon: [512, 512, [], \"f2f5\", \"M272 112v51.6h-96c-26.5 0-48 21.5-48 48v88.6c0 26.5 21.5 48 48 48h96v51.6c0 42.6 51.7 64.2 81.9 33.9l144-143.9c18.7-18.7 18.7-49.1 0-67.9l-144-144C323.8 48 272 69.3 272 112zm192 144L320 400v-99.7H176v-88.6h144V112l144 144zM96 64h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-53 0-96-43-96-96V160c0-53 43-96 96-96z\"] };\nvar faSignal = { prefix: 'far', iconName: 'signal', icon: [576, 512, [], \"f012\", \"M20 384h24c6.6 0 12 5.4 12 12v104c0 6.6-5.4 12-12 12H20c-6.6 0-12-5.4-12-12V396c0-6.6 5.4-12 12-12zm116-36v152c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V348c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12zm128-80v232c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V268c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12zm128-112v344c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V156c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12zM520 12v488c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V12c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12z\"] };\nvar faSitemap = { prefix: 'far', iconName: 'sitemap', icon: [640, 512, [], \"f0e8\", \"M616 320h-48v-48c0-22.056-17.944-40-40-40H344v-40h48c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h48v40H112c-22.056 0-40 17.944-40 40v48H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24zm-472 48v96H48v-96h96zm224 0v96h-96v-96h96zm-96-224V48h96v96h-96zm320 320h-96v-96h96v96z\"] };\nvar faSlidersH = { prefix: 'far', iconName: 'sliders-h', icon: [576, 512, [], \"f1de\", \"M576 252v8c0 6.6-5.4 12-12 12h-84v24c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-24H12c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h404v-24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v24h84c6.6 0 12 5.4 12 12zM564 80H128V56c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24v24H12C5.4 80 0 85.4 0 92v8c0 6.6 5.4 12 12 12h52v24c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-24h436c6.6 0 12-5.4 12-12v-8c0-6.6-5.4-12-12-12zm0 320H288v-24c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v24H12c-6.6 0-12 5.4-12 12v8c0 6.6 5.4 12 12 12h212v24c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-24h276c6.6 0 12-5.4 12-12v-8c0-6.6-5.4-12-12-12z\"] };\nvar faSlidersHSquare = { prefix: 'far', iconName: 'sliders-h-square', icon: [448, 512, [], \"f3f0\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6zm-42-244v8c0 6.6-5.4 12-12 12H192v24c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-24h-20c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h20v-24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v24h148c6.6 0 12 5.4 12 12zm0 128v8c0 6.6-5.4 12-12 12h-20v24c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-24H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h148v-24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v24h20c6.6 0 12 5.4 12 12z\"] };\nvar faSlidersV = { prefix: 'far', iconName: 'sliders-v', icon: [448, 512, [], \"f3f1\", \"M128 120v16c0 13.3-10.7 24-24 24H80v340c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12V160H24c-13.3 0-24-10.7-24-24v-16c0-13.3 10.7-24 24-24h24V12c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v84h24c13.3 0 24 10.7 24 24zm136 232h-24V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v340h-24c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h24v84c0 6.6 5.4 12 12 12h8c6.6 0 12-5.4 12-12v-84h24c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24zm160-160h-24V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v180h-24c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h24v244c0 6.6 5.4 12 12 12h8c6.6 0 12-5.4 12-12V256h24c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24z\"] };\nvar faSlidersVSquare = { prefix: 'far', iconName: 'sliders-v-square', icon: [448, 512, [], \"f3f2\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6zM224 184v16c0 13.3-10.7 24-24 24h-24v148c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12V224h-24c-13.3 0-24-10.7-24-24v-16c0-13.3 10.7-24 24-24h24v-20c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v20h24c13.3 0 24 10.7 24 24zm128 128v16c0 13.3-10.7 24-24 24h-24v20c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12v-20h-24c-13.3 0-24-10.7-24-24v-16c0-13.3 10.7-24 24-24h24V140c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v148h24c13.3 0 24 10.7 24 24z\"] };\nvar faSmile = { prefix: 'far', iconName: 'smile', icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"] };\nvar faSmilePlus = { prefix: 'far', iconName: 'smile-plus', icon: [640, 512, [], \"f4da\", \"M208 96C93.1 96 0 189.1 0 304s93.1 208 208 208 208-93.1 208-208S322.9 96 208 96zm0 368c-88.2 0-160-71.8-160-160s71.8-160 160-160 160 71.8 160 160-71.8 160-160 160zm61.8-124.2c-30.6 35.8-92.9 35.8-123.5 0-8.7-10.1-23.8-11.2-33.8-2.7-10.1 8.6-11.2 23.8-2.7 33.8 24.4 28.6 60.2 45 98.2 45s73.8-16.4 98.2-45c8.6-10.1 7.4-25.2-2.7-33.8-10-8.5-25.1-7.4-33.7 2.7zM144 288c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zM624 88h-72V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v72h-72c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h72v72c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-72h72c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faSmoking = { prefix: 'far', iconName: 'smoking', icon: [640, 512, [], \"f48d\", \"M503.7 141.6C479.8 125 464 99.3 464 70.3V8c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zm49.6-54.5c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM632 352h-32c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm-80 0h-32c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm-96 0H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h408c13.2 0 24-10.8 24-24V376c0-13.2-10.8-24-24-24zm-24 112H224v-64h208v64z\"] };\nvar faSnowflake = { prefix: 'far', iconName: 'snowflake', icon: [448, 512, [], \"f2dc\", \"M438.237 355.927l-66.574-38.54 59.448-10.327c5.846-1.375 10.609-5.183 13.458-10.13 2.48-4.307 3.506-9.478 2.524-14.651-2.11-11.115-12.686-18.039-23.621-15.467l-85.423 31.115L255.914 256l82.136-41.926 85.423 31.115c10.936 2.572 21.512-4.352 23.621-15.467 2.111-11.115-5.046-22.209-15.981-24.781l-59.448-10.327 66.573-38.54c9.54-5.523 12.615-18.092 6.867-28.074-5.748-9.982-18.14-13.596-27.68-8.074l-66.574 38.54 20.805-56.787c3.246-10.782-2.758-22.542-13.413-26.268-10.654-3.725-21.922 1.997-25.168 12.779l-15.838 89.735-72.423 41.926V136l69.585-58.621c7.689-8.21 6.997-20.856-1.548-28.245-8.545-7.391-21.705-6.723-29.394 1.486l-38.644 46.46V20c0-11.046-9.318-20-20.813-20s-20.813 8.954-20.813 20v77.08l-38.644-46.46c-7.689-8.21-20.849-8.876-29.394-1.486-8.544 7.389-9.236 20.035-1.547 28.245L203.187 136v83.853l-72.423-41.926-15.838-89.736c-3.247-10.782-14.515-16.504-25.169-12.779-10.656 3.725-16.659 15.486-13.413 26.268l20.805 56.787-66.573-38.54c-9.54-5.523-21.933-1.908-27.68 8.074s-2.673 22.551 6.867 28.074l66.574 38.54-59.449 10.328C5.953 207.515-1.202 218.609.907 229.724c2.11 11.114 12.686 18.038 23.622 15.466l85.422-31.115L192.086 256l-82.136 41.926-85.423-31.115c-10.936-2.572-21.511 4.352-23.622 15.466-2.109 11.113 5.046 22.209 15.981 24.781l59.449 10.328-66.574 38.54C.223 361.449-2.852 374.018 2.896 384s18.14 13.597 27.68 8.074l66.574-38.54-20.805 56.786c-1.735 5.764-.828 11.805 2.02 16.751 2.48 4.307 6.433 7.784 11.392 9.517 10.655 3.725 21.923-1.997 25.169-12.779l15.838-89.736 72.423-41.926V376l-69.585 58.621c-7.69 8.21-6.997 20.855 1.547 28.245 8.544 7.388 21.705 6.723 29.394-1.487l38.644-46.46V492c0 11.046 9.318 20 20.813 20s20.813-8.954 20.813-20v-77.081l38.644 46.46c4.111 4.389 9.782 6.621 15.478 6.621 4.96 0 9.939-1.694 13.916-5.134 8.545-7.39 9.237-20.035 1.548-28.245L244.813 376v-83.853l72.423 41.926 15.838 89.736c3.246 10.782 14.514 16.504 25.168 12.779 10.653-3.726 16.659-15.487 13.412-26.268l-20.805-56.787 66.574 38.54c9.54 5.523 21.933 1.908 27.68-8.074 5.749-9.981 2.675-22.55-6.866-28.072z\"] };\nvar faSort = { prefix: 'far', iconName: 'sort', icon: [320, 512, [], \"f0dc\", \"M272 288H48.1c-42.6 0-64.2 51.7-33.9 81.9l111.9 112c18.7 18.7 49.1 18.7 67.9 0l112-112c30-30.1 8.7-81.9-34-81.9zM160 448L48 336h224L160 448zM48 224h223.9c42.6 0 64.2-51.7 33.9-81.9l-111.9-112c-18.7-18.7-49.1-18.7-67.9 0l-112 112C-16 172.2 5.3 224 48 224zM160 64l112 112H48L160 64z\"] };\nvar faSortAlphaDown = { prefix: 'far', iconName: 'sort-alpha-down', icon: [384, 512, [], \"f15d\", \"M156.718 404.24l-67.994 72.002c-4.732 5.01-12.713 5.014-17.448 0L3.283 404.24C-3.883 396.652 1.428 384 12.007 384H56V44c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v340h43.994c10.587 0 15.884 12.658 8.724 20.24zm105.853-188.933A12 12 0 0 1 251.036 224h-29.133c-8.22 0-14.007-8.078-11.362-15.861l57.097-168A11.999 11.999 0 0 1 278.999 32h35.894c5.139 0 9.708 3.273 11.362 8.139l57.097 168c2.645 7.783-3.141 15.861-11.362 15.861h-29.172a12 12 0 0 1-11.515-8.622l-8.793-29.977h-51.367l-8.572 29.906zm21.463-73.942h25.606l-8.822-30.655c-1.277-4.419-2.651-9.992-3.871-15.241-1.221 5.251-2.595 10.824-3.872 15.245l-9.041 30.651zm7.486 292.104c2.274-2.654 4.985-6.056 7.929-10.235l69.819-99.06a11.999 11.999 0 0 0 2.191-6.913V300c0-6.627-5.373-12-12-12H236.493c-6.627 0-12 5.373-12 12v22.61c0 6.627 5.373 12 12 12h59.682c1.652 0 3.213-.03 4.655-.078-2.274 2.653-4.984 6.055-7.927 10.233l-69.56 98.542a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h127.599c6.627 0 12-5.373 12-12v-22.61c0-6.627-5.373-12-12-12h-64.571c-1.652 0-3.213.031-4.655.079z\"] };\nvar faSortAlphaUp = { prefix: 'far', iconName: 'sort-alpha-up', icon: [448, 512, [], \"f15e\", \"M35.282 107.76l67.994-72.002c4.732-5.01 12.713-5.014 17.448 0l67.993 72.002c7.166 7.587 1.856 20.24-8.724 20.24H136v340c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V128H44.006c-10.587 0-15.884-12.658-8.724-20.24zm266.342 107.547A12 12 0 0 1 290.089 224h-29.133c-8.22 0-14.007-8.078-11.362-15.861l57.097-168A12 12 0 0 1 318.053 32h35.894c5.139 0 9.708 3.273 11.362 8.139l57.097 168c2.645 7.783-3.141 15.861-11.362 15.861h-29.172a12 12 0 0 1-11.515-8.622l-8.793-29.977h-51.367l-8.573 29.906zm21.463-73.942h25.606l-8.822-30.655c-1.277-4.419-2.651-9.992-3.871-15.241-1.221 5.251-2.595 10.824-3.872 15.245l-9.041 30.651zm7.486 292.104c2.274-2.654 4.985-6.056 7.929-10.235l69.819-99.06a11.999 11.999 0 0 0 2.191-6.913V300c0-6.627-5.373-12-12-12H275.546c-6.627 0-12 5.373-12 12v22.61c0 6.627 5.373 12 12 12h59.682c1.652 0 3.213-.03 4.655-.078-2.274 2.653-4.984 6.055-7.927 10.233l-69.56 98.542a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h127.6c6.627 0 12-5.373 12-12v-22.61c0-6.627-5.373-12-12-12h-64.571c-1.653 0-3.214.031-4.656.079z\"] };\nvar faSortAmountDown = { prefix: 'far', iconName: 'sort-amount-down', icon: [512, 512, [], \"f160\", \"M156.718 404.24l-67.994 72.002c-4.732 5.01-12.713 5.014-17.448 0L3.283 404.24C-3.883 396.652 1.428 384 12.007 384H56V44c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v340h43.994c10.587 0 15.884 12.658 8.724 20.24zM236 136h264c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H236c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12zm-12 84v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12zm0 192v-24c0-6.627 5.373-12 12-12h72c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-72c-6.627 0-12-5.373-12-12zm0-96v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12z\"] };\nvar faSortAmountUp = { prefix: 'far', iconName: 'sort-amount-up', icon: [512, 512, [], \"f161\", \"M3.282 107.76l67.994-72.002c4.732-5.01 12.713-5.014 17.448 0l67.993 72.002c7.166 7.587 1.856 20.24-8.724 20.24H104v340c0 6.627-5.373 12-12 12H68c-6.627 0-12-5.373-12-12V128H12.006c-10.587 0-15.884-12.658-8.724-20.24zM236 136h264c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12H236c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12zm-12 84v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12zm0 192v-24c0-6.627 5.373-12 12-12h72c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-72c-6.627 0-12-5.373-12-12zm0-96v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12z\"] };\nvar faSortDown = { prefix: 'far', iconName: 'sort-down', icon: [320, 512, [], \"f0dd\", \"M272 288H48.1c-42.6 0-64.2 51.7-33.9 81.9l111.9 112c18.7 18.7 49.1 18.7 67.9 0l112-112c30-30.1 8.7-81.9-34-81.9zM160 448L48 336h224L160 448z\"] };\nvar faSortNumericDown = { prefix: 'far', iconName: 'sort-numeric-down', icon: [384, 512, [], \"f162\", \"M372.777 189.39V212c0 6.627-5.373 12-12 12H254.279c-6.627 0-12-5.373-12-12v-22.61c0-6.627 5.373-12 12-12h27.114c0-78.595-.004-73.12.008-74.838-.812.812-.633.622-6.007 5.496-4.856 4.405-12.349 4.097-16.827-.691l-15.159-16.209c-4.522-4.836-4.274-12.42.556-16.95l41.534-38.952a11.999 11.999 0 0 1 8.209-3.247h27.699c6.627 0 12 5.373 12 12v133.39h27.372c6.627.001 11.999 5.374 11.999 12.001zM284.975 483c-11.613 0-23.725-1.517-34.859-5.399-6.062-2.114-9.276-8.744-7.356-14.87l7.346-23.445c1.977-6.311 8.665-9.976 14.988-8.039 19.678 6.026 38.351 2.245 48.497-16.132-42.424 12.81-82.239-18.582-82.239-64.153 0-31.977 23.389-65.962 66.734-65.962 42.082 0 78.561 32.838 78.561 91.93 0 55.366-34.885 106.07-91.672 106.07zm-1.398-132.294c0 11.116 6.244 22.993 23.766 22.993 9.97 0 15.024-2.373 15.024-7.053 0-20.139-14.142-32.506-24.281-32.506-9.424 0-14.509 8.535-14.509 16.566zM147.994 384H104V44c0-6.627-5.373-12-12-12H68c-6.627 0-12 5.373-12 12v340H12.007c-10.58 0-15.89 12.652-8.724 20.24l67.993 72.002c4.735 5.014 12.716 5.01 17.448 0l67.994-72.002c7.16-7.582 1.863-20.24-8.724-20.24z\"] };\nvar faSortNumericUp = { prefix: 'far', iconName: 'sort-numeric-up', icon: [384, 512, [], \"f163\", \"M372.777 189.39V212c0 6.627-5.373 12-12 12H254.279c-6.627 0-12-5.373-12-12v-22.61c0-6.627 5.373-12 12-12h27.114c0-78.595-.004-73.12.008-74.838-.812.812-.633.622-6.007 5.496-4.856 4.405-12.349 4.097-16.827-.691l-15.159-16.209c-4.522-4.836-4.274-12.42.556-16.95l41.534-38.952a11.999 11.999 0 0 1 8.209-3.247h27.699c6.627 0 12 5.373 12 12v133.39h27.372c6.627.001 11.999 5.374 11.999 12.001zM284.975 483c-11.613 0-23.725-1.517-34.859-5.399-6.062-2.114-9.276-8.744-7.356-14.87l7.346-23.445c1.977-6.311 8.665-9.976 14.988-8.039 19.678 6.026 38.351 2.245 48.497-16.132-42.424 12.81-82.239-18.582-82.239-64.153 0-31.977 23.389-65.962 66.734-65.962 42.082 0 78.561 32.838 78.561 91.93 0 55.366-34.885 106.07-91.672 106.07zm-1.398-132.294c0 11.116 6.244 22.993 23.766 22.993 9.97 0 15.024-2.373 15.024-7.053 0-20.139-14.142-32.506-24.281-32.506-9.424 0-14.509 8.535-14.509 16.566zM12.006 128H56v340c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V128h43.993c10.58 0 15.89-12.652 8.724-20.24L88.724 35.759c-4.735-5.014-12.716-5.01-17.448 0L3.282 107.76c-7.16 7.582-1.863 20.24 8.724 20.24z\"] };\nvar faSortUp = { prefix: 'far', iconName: 'sort-up', icon: [320, 512, [], \"f0de\", \"M48 224h223.9c42.6 0 64.2-51.7 33.9-81.9l-111.9-112c-18.7-18.7-49.1-18.7-67.9 0l-112 112C-16 172.2 5.3 224 48 224zM160 64l112 112H48L160 64z\"] };\nvar faSpaceShuttle = { prefix: 'far', iconName: 'space-shuttle', icon: [640, 512, [], \"f197\", \"M456 168C248 168 266.989 32 96 32c-44.665 0-66.4 24.39-66.4 64v56C9.056 152 0 162.568 0 176v48c0 12.834 8.412 24 29.6 24v16C9.056 264 0 274.568 0 288v48c0 12.834 8.412 24 29.6 24v56c0 39.602 21.727 64 66.4 64 171.029 0 152-136 360-136 96 0 184-33.5 184-88 0-51-88-88-184-88zM115.417 80C181.277 80 240 144 288 168H144c-13.999-9.503-31.155-16-48-16V80h19.417zm0 352H96v-72c16.845 0 34.001-6.497 48-16h144c-48 24-97.487 88-172.583 88zM456 304H168.786c9.396-29.293 9.843-65.315 0-96H456c39.888 0 76.728 3.778 103.734 16 .09.041.09 63.959 0 64-27.006 12.222-63.846 16-103.734 16zm24.242-11.429a8 8 0 0 1-8-8v-57.143a8 8 0 0 1 8-8c42.384.001 42.303 73.143 0 73.143z\"] };\nvar faSpade = { prefix: 'far', iconName: 'spade', icon: [512, 512, [], \"f2f4\", \"M256 48s174.6 167.3 192.2 192c10 14.1 15.9 31.4 15.8 50.1-.3 47.1-39.5 84.8-86.6 84.8h-.8c-38.1-.3-48.9-6-78.4-36.2-1.2-1.3-2.7-1.8-4.2-1.8-3.1 0-6 2.4-6 6V360c0 37.7-2.3 48.8 24.7 82.9 6.8 8.5.7 21.1-10.2 21.1h-93.2c-10.9 0-16.9-12.6-10.2-21.1 27-34 24.7-45.2 24.7-82.9v-17.1c0-3.6-3-6-6-6-1.5 0-3 .6-4.2 1.8-29.2 29.9-40.1 35.8-78.3 36.2h-.8c-47.2 0-86.4-37.8-86.6-85.1-.1-18.7 5.9-36 16-50.1C81.6 215.2 256 48 256 48m0-48c-12 0-23.9 4.5-33.2 13.4-.4.4-44.3 42.5-89.8 87C38.5 193 29.4 205.6 25 211.7c-16.5 22.9-25.1 50-25 78.2.3 73.3 60.6 132.9 134.6 132.9h1.2c7-.1 13.6-.3 20-.8-3.9 7.2-6.3 15.2-7.1 23.5-1 11 1 22.1 5.9 32 4.8 10 12.2 18.4 21.4 24.5 9.9 6.5 21.5 10 33.5 10h93.2c12 0 23.6-3.5 33.5-10 9.2-6.1 16.6-14.5 21.4-24.5 4.8-10 6.8-21 5.9-32-.7-8.3-3.2-16.2-7.1-23.5 6.4.5 13 .8 20 .8h1.2c35.4 0 68.9-13.6 94.3-38.3 25.7-25 40-58.5 40.3-94.1.2-28.2-8.3-55.3-24.7-78.3-4.4-6.1-13.5-18.9-108.2-111.7-45.5-44.6-89.4-86.7-89.9-87.1C279.9 4.4 268 0 256 0z\"] };\nvar faSpinner = { prefix: 'far', iconName: 'spinner', icon: [512, 512, [], \"f110\", \"M296 48c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-40 376c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm248-168c0-22.091-17.909-40-40-40s-40 17.909-40 40 17.909 40 40 40 40-17.909 40-40zm-416 0c0-22.091-17.909-40-40-40S8 233.909 8 256s17.909 40 40 40 40-17.909 40-40zm20.922-187.078c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40c0-22.092-17.909-40-40-40zm294.156 294.156c-22.091 0-40 17.909-40 40s17.909 40 40 40c22.092 0 40-17.909 40-40s-17.908-40-40-40zm-294.156 0c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40z\"] };\nvar faSpinnerThird = { prefix: 'far', iconName: 'spinner-third', icon: [512, 512, [], \"f3f4\", \"M460.116 373.846l-20.823-12.022c-5.541-3.199-7.54-10.159-4.663-15.874 30.137-59.886 28.343-131.652-5.386-189.946-33.641-58.394-94.896-95.833-161.827-99.676C261.028 55.961 256 50.751 256 44.352V20.309c0-6.904 5.808-12.337 12.703-11.982 83.556 4.306 160.163 50.864 202.11 123.677 42.063 72.696 44.079 162.316 6.031 236.832-3.14 6.148-10.75 8.461-16.728 5.01z\"] };\nvar faSquare = { prefix: 'far', iconName: 'square', icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"] };\nvar faSquareFull = { prefix: 'far', iconName: 'square-full', icon: [512, 512, [], \"f45c\", \"M0 0v512h512V0H0zm464 464H48V48h416v416z\"] };\nvar faStar = { prefix: 'far', iconName: 'star', icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"] };\nvar faStarExclamation = { prefix: 'far', iconName: 'star-exclamation', icon: [576, 512, [], \"f2f3\", \"M252.5 184.6c-.4-4.6 3.3-8.6 8-8.6h55.1c4.7 0 8.3 4 8 8.6l-6.8 88c-.3 4.2-3.8 7.4-8 7.4h-41.5c-4.2 0-7.7-3.2-8-7.4l-6.8-88zM288 296c-22.1 0-40 17.9-40 40s17.9 40 40 40 40-17.9 40-40-17.9-40-40-40zm257.9-70L440.1 329l25 145.5c4.5 26.2-23.1 46-46.4 33.7L288 439.6l-130.7 68.7c-23.4 12.3-50.9-7.6-46.4-33.7l25-145.5L30.1 226c-19-18.5-8.5-50.8 17.7-54.6L194 150.2l65.3-132.4c11.8-23.8 45.7-23.7 57.4 0L382 150.2l146.1 21.2c26.2 3.8 36.7 36.1 17.8 54.6zm-56.8-11.7l-139-20.2-62.1-126L225.8 194l-139 20.2 100.6 98-23.7 138.4L288 385.3l124.3 65.4-23.7-138.4 100.5-98z\"] };\nvar faStarHalf = { prefix: 'far', iconName: 'star-half', icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"] };\nvar faStepBackward = { prefix: 'far', iconName: 'step-backward', icon: [448, 512, [], \"f048\", \"M76 480h24c6.6 0 12-5.4 12-12V285l219.5 187.6c20.6 17.2 52.5 2.8 52.5-24.6V64c0-27.4-31.9-41.8-52.5-24.6L112 228.1V44c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v424c0 6.6 5.4 12 12 12zM336 98.5v315.1L149.3 256.5 336 98.5z\"] };\nvar faStepForward = { prefix: 'far', iconName: 'step-forward', icon: [448, 512, [], \"f051\", \"M372 32h-24c-6.6 0-12 5.4-12 12v183L116.5 39.4C95.9 22.3 64 36.6 64 64v384c0 27.4 31.9 41.8 52.5 24.6L336 283.9V468c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12zM112 413.5V98.4l186.7 157.1-186.7 158z\"] };\nvar faStethoscope = { prefix: 'far', iconName: 'stethoscope', icon: [512, 512, [], \"f0f1\", \"M120 334v18c0 88.2 75.4 160 168 160s168-71.8 168-160v-99.7c32.3-10.1 55.7-40.2 56-75.7.3-43.4-34.6-79.6-78.1-80.6-45-1-81.9 35.2-81.9 80 0 35.8 23.5 66.1 56 76.3V352c0 61.8-53.8 112-120 112s-120-50.2-120-112v-18c68-11.5 120-70.8 120-142V27.5c0-5.6-3.9-10.5-9.4-11.7L208.9.3c-6.5-1.4-12.9 2.6-14.3 9.1l-5.2 23.4c-1.4 6.5 2.6 12.9 9.1 14.3l41.5 9.2v134.4c0 52.9-42.2 96.7-95.1 97.2-53.3.6-96.9-42.6-96.9-95.9V56.4l41.5-9.2c6.5-1.4 10.5-7.8 9.1-14.3L93.4 9.4C92 2.9 85.5-1.1 79.1.3L9.4 15.8C3.9 17 0 21.9 0 27.5V192c0 71.2 52 130.5 120 142zm312-190c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32z\"] };\nvar faStickyNote = { prefix: 'far', iconName: 'sticky-note', icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"] };\nvar faStop = { prefix: 'far', iconName: 'stop', icon: [448, 512, [], \"f04d\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"] };\nvar faStopCircle = { prefix: 'far', iconName: 'stop-circle', icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"] };\nvar faStopwatch = { prefix: 'far', iconName: 'stopwatch', icon: [448, 512, [], \"f2f2\", \"M393.9 184l22.6-22.6c4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0l-20.7 20.7c-31.1-27.5-70.4-45.9-113.8-50.8V48h28c6.6 0 12-5.4 12-12V12c0-6.6-5.4-12-12-12H172c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h28v49.4C96.4 109.3 16 197.2 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-44.7-14.1-86.1-38.1-120zM224 464c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm12-112h-24c-6.6 0-12-5.4-12-12V204c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v136c0 6.6-5.4 12-12 12z\"] };\nvar faStreetView = { prefix: 'far', iconName: 'street-view', icon: [512, 512, [], \"f21d\", \"M339.421 155.079C349.892 139.273 356 120.338 356 100 356 44.86 311.14 0 256 0S156 44.86 156 100c0 20.338 6.108 39.273 16.579 55.079C146.005 169.985 128 198.424 128 231v57c0 26.039 15.629 48.494 38 58.479V384c0 35.29 28.71 64 64 64h52c35.29 0 64-28.71 64-64v-37.521c22.371-9.984 38-32.44 38-58.479v-57c0-32.576-18.005-61.015-44.579-75.921zM256 48c28.719 0 52 23.281 52 52s-23.281 52-52 52-52-23.281-52-52 23.281-52 52-52zm80 240c0 8.8-7.2 16-16 16h-22v80c0 8.837-7.163 16-16 16h-52c-8.837 0-16-7.163-16-16v-80h-22c-8.837 0-16-7.163-16-16v-57c0-19.793 15.074-39 40.818-39 24.961 10.671 53.4 10.672 78.364 0 25.37 0 40.818 18.885 40.818 39v57zm176 128c0 78.511-175.401 96-256 96-79.55 0-256-17.288-256-96 0-38.039 41.176-61.754 92.794-76.095A112.47 112.47 0 0 0 118 372.036v11.015c-38.339 8.823-66.119 20.63-69.967 32.949 9.8 31.378 143.269 48 207.967 48 93.364 0 200.142-22.947 207.967-48-4.376-14.01-33.412-25.076-69.967-33.036v-10.928a112.47 112.47 0 0 0 25.193-32.105C470.774 354.259 512 377.954 512 416z\"] };\nvar faStrikethrough = { prefix: 'far', iconName: 'strikethrough', icon: [512, 512, [], \"f0cc\", \"M500 280H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h488c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12zm-207.573 16c29.146 14.903 49.932 33.827 49.932 66.525 0 44.449-37.464 68.58-88.899 68.58-40.015 0-89.533-15.09-89.533-55.105 0-8.837-7.164-16-16-16h-26.42c-8.836 0-16 7.163-16 16v16.37c0 64.135 78.104 95.249 147.953 95.249 83.185 0 153.034-44.449 153.034-130.174 0-25.295-6.067-45.231-16.343-61.445h-97.724zm-38.511-80c-41.025-16.155-74.115-33.653-74.115-74.453 0-41.274 34.924-61.594 78.738-61.594 36.356 0 77.001 13.763 76.834 40.209-.055 8.774 7.227 15.838 16 15.838h27.055c8.836 0 16-7.163 16-16V98.368c0-48.895-68.58-74.294-135.89-74.294-75.564 0-143.508 36.195-143.508 120.649 0 30.974 9.192 53.723 23.904 71.277h114.982z\"] };\nvar faSubscript = { prefix: 'far', iconName: 'subscript', icon: [512, 512, [], \"f12c\", \"M500.065 430.691H383.611c3.092-18.342 24.015-34.022 47.984-50.038 34.415-22.995 76.138-50.642 76.138-103.222 0-50.301-38.48-85.431-93.577-85.431-37.629 0-72.116 19.458-90.794 50.314-3.321 5.486-1.706 12.623 3.631 16.18l24.42 16.276c5.32 3.546 12.556 2.364 16.309-2.812 10.243-14.13 24.825-24.68 42.168-24.68 26.189 0 37.912 17.288 37.912 34.421 0 21.219-22.471 36.854-48.49 54.956-35.769 24.886-80.283 55.857-80.283 114.931 0 5.562.558 11.025 1.433 17.915.762 5.997 5.861 10.499 11.906 10.499H500c6.627 0 12-5.373 12-12v-25.375c0-6.591-5.343-11.934-11.935-11.934zM245.92 272H276c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-59.675a12 12 0 0 1-10.19-5.662l-54.204-87.153c-3.262-4.892-6.132-10.128-7.99-13.714-1.773 3.559-4.575 8.823-8.129 14.317l-53.058 86.488A12.005 12.005 0 0 1 72.524 320H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h31.728l65.48-100.449L48.755 80H12C5.373 80 0 74.627 0 68V44c0-6.627 5.373-12 12-12h66.764a12 12 0 0 1 10.234 5.734l47.525 77.624c2.986 4.976 5.742 10.45 7.54 14.194 1.856-3.636 4.718-8.991 7.984-14.217l48.63-77.701A12.002 12.002 0 0 1 210.85 32H276c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-36.769l-60.974 90.984L245.92 272z\"] };\nvar faSubway = { prefix: 'far', iconName: 'subway', icon: [448, 512, [], \"f239\", \"M280 328c0-22.091 17.909-40 40-40s40 17.909 40 40-17.909 40-40 40-40-17.909-40-40zm-152 40c22.091 0 40-17.909 40-40s-17.909-40-40-40-40 17.909-40 40 17.909 40 40 40zm320-258.286v228.572c0 49.194-43.706 90.629-99.059 104.713l58.758 58.758c3.78 3.78 1.103 10.243-4.243 10.243h-48.427a11.996 11.996 0 0 1-8.485-3.515L286.059 448H161.941l-60.485 60.485A12.002 12.002 0 0 1 92.971 512H44.544c-5.345 0-8.022-6.463-4.243-10.243l58.758-58.758C43.886 428.961 0 387.656 0 338.286V109.714C0 45.928 71.001 0 138.286 0h171.428C377.889 0 448 45.922 448 109.714zM50.774 96h346.534c-10.2-26.136-47.971-48-87.595-48H138.286c-38.862 0-77.011 21.67-87.512 48zM48 224h152v-80H48v80zm352 48H48v66.286C48 374.495 99.975 400 138.286 400h171.428C347.479 400 400 374.816 400 338.286V272zm0-128H248v80h152v-80z\"] };\nvar faSuitcase = { prefix: 'far', iconName: 'suitcase', icon: [512, 512, [], \"f0f2\", \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v256c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM176 80h160v48H176V80zM48 432V176h80v256H48zm128 0V176h160v256H176zm288 0h-80V176h80v256z\"] };\nvar faSun = { prefix: 'far', iconName: 'sun', icon: [512, 512, [], \"f185\", \"M220.116 487.936l-20.213-49.425a3.992 3.992 0 0 0-5.808-1.886l-45.404 28.104c-29.466 18.24-66.295-8.519-58.054-42.179l12.699-51.865a3.993 3.993 0 0 0-3.59-4.941l-53.251-3.951c-34.554-2.562-48.632-45.855-22.174-68.247L65.08 259.05a3.992 3.992 0 0 0 0-6.106l-40.76-34.497c-26.45-22.384-12.39-65.682 22.174-68.246l53.251-3.951a3.993 3.993 0 0 0 3.59-4.941L90.637 89.443c-8.239-33.656 28.581-60.42 58.054-42.179l45.403 28.104a3.993 3.993 0 0 0 5.808-1.887l20.213-49.425c13.116-32.071 58.638-32.081 71.758 0l20.212 49.424a3.994 3.994 0 0 0 5.809 1.887l45.403-28.104c29.464-18.236 66.297 8.513 58.054 42.179l-12.699 51.865a3.995 3.995 0 0 0 3.59 4.941l53.251 3.951c34.553 2.563 48.633 45.854 22.175 68.246l-40.76 34.497a3.993 3.993 0 0 0 0 6.107l40.76 34.496c26.511 22.441 12.322 65.689-22.175 68.247l-53.251 3.951a3.993 3.993 0 0 0-3.589 4.942l12.698 51.864c8.241 33.658-28.583 60.421-58.054 42.18l-45.403-28.104a3.994 3.994 0 0 0-5.809 1.887l-20.212 49.424c-13.159 32.178-58.675 31.993-71.757 0zm16.814-64.568l19.064 46.616 19.064-46.615c10.308-25.2 40.778-35.066 63.892-20.759l42.822 26.507-11.976-48.919c-6.475-26.444 12.38-52.339 39.487-54.349l50.226-3.726-38.444-32.536c-20.782-17.591-20.747-49.621.001-67.18l38.442-32.536-50.225-3.727c-27.151-2.015-45.95-27.948-39.488-54.349l11.978-48.919-42.823 26.507c-23.151 14.327-53.603 4.4-63.892-20.76l-19.064-46.615-19.064 46.617c-10.305 25.198-40.778 35.066-63.891 20.76l-42.823-26.508 11.977 48.918c6.474 26.446-12.381 52.338-39.488 54.35l-50.224 3.726 38.443 32.537c20.782 17.588 20.747 49.619 0 67.178L52.48 322.123l50.226 3.726c27.151 2.014 45.95 27.947 39.487 54.349l-11.977 48.919 42.823-26.507c23.188-14.355 53.622-4.352 63.891 20.758zM256 384c-70.58 0-128-57.421-128-128 0-70.58 57.42-128 128-128 70.579 0 128 57.42 128 128 0 70.579-57.421 128-128 128zm0-208c-44.112 0-80 35.888-80 80s35.888 80 80 80 80-35.888 80-80-35.888-80-80-80z\"] };\nvar faSuperscript = { prefix: 'far', iconName: 'superscript', icon: [512, 512, [], \"f12b\", \"M500.065 270.691H383.611c3.092-18.342 24.015-34.022 47.984-50.038 34.415-22.995 76.138-50.642 76.138-103.222 0-50.301-38.48-85.431-93.577-85.431-37.629 0-72.116 19.458-90.794 50.314-3.321 5.486-1.706 12.623 3.631 16.18l24.42 16.276c5.32 3.546 12.556 2.364 16.309-2.812 10.243-14.13 24.825-24.68 42.168-24.68 26.189 0 37.912 17.288 37.912 34.421 0 21.219-22.471 36.854-48.49 54.956-35.769 24.886-80.283 55.857-80.283 114.931 0 5.562.558 11.025 1.433 17.915.762 5.997 5.861 10.499 11.906 10.499H500c6.627 0 12-5.373 12-12v-25.375c0-6.591-5.343-11.934-11.935-11.934zM245.92 432H276c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-59.675a12 12 0 0 1-10.19-5.662l-54.204-87.153c-3.262-4.892-6.132-10.128-7.99-13.714-1.773 3.559-4.575 8.823-8.129 14.317l-53.058 86.488A12.005 12.005 0 0 1 72.524 480H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h31.728l65.48-100.449L48.755 240H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h66.764a12 12 0 0 1 10.234 5.734l47.525 77.624c2.986 4.976 5.742 10.45 7.54 14.194 1.856-3.636 4.718-8.991 7.984-14.217l48.63-77.701A12 12 0 0 1 210.849 192H276c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-36.769l-60.974 90.984L245.92 432z\"] };\nvar faSync = { prefix: 'far', iconName: 'sync', icon: [512, 512, [], \"f021\", \"M500 8h-27.711c-6.739 0-12.157 5.548-11.997 12.286l2.347 98.575C418.212 52.043 342.256 8 256 8 134.813 8 33.933 94.924 12.296 209.824 10.908 217.193 16.604 224 24.103 224h28.576c5.674 0 10.542-3.982 11.737-9.529C83.441 126.128 161.917 60 256 60c79.545 0 147.942 47.282 178.676 115.302l-126.39-3.009c-6.737-.16-12.286 5.257-12.286 11.997V212c0 6.627 5.373 12 12 12h192c6.627 0 12-5.373 12-12V20c0-6.627-5.373-12-12-12zm-12.103 280h-28.576c-5.674 0-10.542 3.982-11.737 9.529C428.559 385.872 350.083 452 256 452c-79.546 0-147.942-47.282-178.676-115.302l126.39 3.009c6.737.16 12.286-5.257 12.286-11.997V300c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v192c0 6.627 5.373 12 12 12h27.711c6.739 0 12.157-5.548 11.997-12.286l-2.347-98.575C93.788 459.957 169.744 504 256 504c121.187 0 222.067-86.924 243.704-201.824 1.388-7.369-4.308-14.176-11.807-14.176z\"] };\nvar faSyncAlt = { prefix: 'far', iconName: 'sync-alt', icon: [512, 512, [], \"f2f1\", \"M483.515 28.485L431.35 80.65C386.475 35.767 324.485 8 256 8 123.228 8 14.824 112.338 8.31 243.493 7.971 250.311 13.475 256 20.301 256h28.045c6.353 0 11.613-4.952 11.973-11.294C66.161 141.649 151.453 60 256 60c54.163 0 103.157 21.923 138.614 57.386l-54.128 54.129c-7.56 7.56-2.206 20.485 8.485 20.485H492c6.627 0 12-5.373 12-12V36.971c0-10.691-12.926-16.045-20.485-8.486zM491.699 256h-28.045c-6.353 0-11.613 4.952-11.973 11.294C445.839 370.351 360.547 452 256 452c-54.163 0-103.157-21.923-138.614-57.386l54.128-54.129c7.56-7.56 2.206-20.485-8.485-20.485H20c-6.627 0-12 5.373-12 12v143.029c0 10.691 12.926 16.045 20.485 8.485L80.65 431.35C125.525 476.233 187.516 504 256 504c132.773 0 241.176-104.338 247.69-235.493.339-6.818-5.165-12.507-11.991-12.507z\"] };\nvar faSyringe = { prefix: 'far', iconName: 'syringe', icon: [512, 512, [], \"f48e\", \"M475.7 115.5c3.1 3.1 8.2 3.1 11.3 0l22.6-22.6c3.1-3.1 3.1-8.2 0-11.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0L396.5 25c-3.1 3.1-3.1 8.2 0 11.3l22.6 22.6-33.9 33.9L317.3 25c-3.1-3.1-8.2-3.1-11.3 0l-22.6 22.6c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3L78.9 286.1c-19 19-28.2 45.2-25.2 72l7.8 69.9-59.2 59c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l59.1-59c74.8 8.3 73 8.3 79.8 8.3 23.2 0 45.4-9.1 62.1-25.8l215.8-215.8 11.3 11.3c3.1 3.1 8.2 3.1 11.3 0L487 206c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9L453 92.9l22.7 22.6zM192 399.2c-8.6 8.7-20.6 12.9-32.7 11.5l-52.2-5.8-5.8-52.1c-1.3-12.2 2.9-24.1 11.5-32.7l12.2-12.2 28.3 28.3c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L158.9 274l33.9-33.9 28.3 28.3c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L226.8 206l33.9-33.9 28.3 28.3c6.2 6.2 16.4 6.2 22.6 0L323 189c6.2-6.2 6.2-16.4 0-22.6l-28.3-28.3 33.9-33.9 79.2 79.2L192 399.2z\"] };\nvar faTable = { prefix: 'far', iconName: 'table', icon: [512, 512, [], \"f0ce\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM232 432H54a6 6 0 0 1-6-6V296h184v136zm0-184H48V112h184v136zm226 184H280V296h184v130a6 6 0 0 1-6 6zm6-184H280V112h184v136z\"] };\nvar faTableTennis = { prefix: 'far', iconName: 'table-tennis', icon: [512, 512, [], \"f45d\", \"M483.2 325.8c46.5-83.4 35.4-190.7-35.2-261.5C406.6 22.8 351.7 0 293.2 0c-105.4 0-152.7 62.3-218 127.7-50.9 51-50.9 134 0 185.1l13.1 13.1-73.9 64.2c-18.3 15.9-19.3 44-2.2 61.1l48.4 48.5c17.7 17.8 45.8 15.6 61.2-2.2l63.9-73.9c10.1 10.1 53.4 64.5 130.6 50.1C336.8 497 366.6 512 400 512c61.8 0 112-50.2 112-112 0-28.6-11.1-54.4-28.8-74.2zM293.2 48c45.6 0 88.5 17.8 120.7 50.1 53.8 53.9 63.4 134.7 30.3 199.1-58.1-25.1-105 5.9-122.3 22.8L136.3 134.4C167.6 103.1 209.2 48 293.2 48zm-110 305.1l-93.3 108-39-39.1 107.7-93.6-49.5-49.5c-29.9-30-31.7-77.3-6-109.8l192.2 192.2c-10.5 28.3-7.7 49.4-3.7 65.4-43-.1-56.5-21.6-108.4-73.6zM400 464c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"] };\nvar faTablet = { prefix: 'far', iconName: 'tablet', icon: [448, 512, [], \"f10a\", \"M256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-21.3 14.3-32 32-32s32 14.3 32 32zM448 48v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h352c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faTabletAlt = { prefix: 'far', iconName: 'tablet-alt', icon: [448, 512, [], \"f3fa\", \"M356 368H92c-6.6 0-12-5.4-12-12V92c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12zm92-320v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h352c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6zm-176-74c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"] };\nvar faTabletAndroid = { prefix: 'far', iconName: 'tablet-android', icon: [448, 512, [], \"f3fb\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-6 464H54c-3.3 0-6-2.7-6-6V54c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v404c0 3.3-2.7 6-6 6zm-118-32H172c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12z\"] };\nvar faTabletAndroidAlt = { prefix: 'far', iconName: 'tablet-android-alt', icon: [448, 512, [], \"f3fc\", \"M356 368H92c-6.6 0-12-5.4-12-12V92c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12zm92-320v416c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h352c26.5 0 48 21.5 48 48zm-48 410V54c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v404c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6zm-112-38v-8c0-6.6-5.4-12-12-12H172c-6.6 0-12 5.4-12 12v8c0 6.6 5.4 12 12 12h104c6.6 0 12-5.4 12-12z\"] };\nvar faTabletRugged = { prefix: 'far', iconName: 'tablet-rugged', icon: [448, 512, [], \"f48f\", \"M439.2 164.4c5.4-2.7 8.8-8.2 8.8-14.3V73.9c0-6.1-3.4-11.6-8.8-14.3L416 48c0-26.5-21.5-48-48-48H80C53.5 0 32 21.5 32 48L8.8 59.6C3.4 62.3 0 67.8 0 73.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 176v16L8.8 203.6c-5.4 2.7-8.8 8.2-8.8 14.3v76.2c0 6.1 3.4 11.6 8.8 14.3L32 320v16L8.8 347.6c-5.4 2.7-8.8 8.2-8.8 14.3v76.2c0 6.1 3.4 11.6 8.8 14.3L32 464c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48l23.2-11.6c5.4-2.7 8.8-8.2 8.8-14.3v-76.2c0-6.1-3.4-11.6-8.8-14.3L416 336v-16l23.2-11.6c5.4-2.7 8.8-8.2 8.8-14.3v-76.2c0-6.1-3.4-11.6-8.8-14.3L416 192v-16l23.2-11.6zM368 448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h256c8.8 0 16 7.2 16 16v384z\"] };\nvar faTablets = { prefix: 'far', iconName: 'tablets', icon: [640, 512, [], \"f490\", \"M160 192C71.6 192 0 263.6 0 352s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zM50.7 376h218.5c-25.6 117-192.8 116.7-218.5 0zm0-48c25.7-116.9 192.9-116.9 218.5 0H50.7zM593.1 46.9c-62.4-62.4-163.8-62.5-226.3 0s-62.5 163.8 0 226.3c62.4 62.4 163.8 62.5 226.3 0s62.5-163.9 0-226.3zM385.8 99.7l154.5 154.5C439.7 318.8 321 200.5 385.8 99.7zm188.4 120.6L419.7 65.8C520.3 1.1 639 119.5 574.2 220.3z\"] };\nvar faTachometer = { prefix: 'far', iconName: 'tachometer', icon: [576, 512, [], \"f0e4\", \"M288 32.012C128.759 32.012 0 161.104 0 320c0 33.683 5.785 66.012 16.414 96.054C29.977 454.389 66.251 480 106.915 480h362.17c40.664 0 76.938-25.611 90.501-63.946C570.215 386.012 576 353.683 576 320c0-158.896-128.759-287.988-288-287.988zm226.335 368.031C507.572 419.158 489.387 432 469.085 432h-362.17c-20.302 0-38.487-12.842-45.25-31.957C52.598 374.414 48 347.484 48 320 48 187.616 155.177 80.012 288 80.012c132.827 0 240 107.602 240 239.988 0 27.484-4.598 54.414-13.665 80.043zM374.668 175.884l-44.515 127.98C343.538 315.595 352 332.804 352 352c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-34.281 26.953-62.263 60.823-63.92l44.51-127.965c4.354-12.52 18.031-19.139 30.553-14.784 12.517 4.356 19.136 18.034 14.782 30.553z\"] };\nvar faTachometerAlt = { prefix: 'far', iconName: 'tachometer-alt', icon: [576, 512, [], \"f3fd\", \"M288 32.012C128.759 32.012 0 161.104 0 320c0 33.683 5.785 66.012 16.414 96.054C29.977 454.389 66.251 480 106.915 480h362.17c40.664 0 76.938-25.611 90.501-63.946C570.215 386.012 576 353.683 576 320c0-158.896-128.759-287.988-288-287.988zm226.335 368.031C507.572 419.158 489.387 432 469.085 432h-362.17c-20.302 0-38.487-12.842-45.25-31.957C6.889 245.223 121.206 80.012 288 80.012c167.016 0 281.032 165.433 226.335 320.031zM256 128c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zm224 160c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32zm-352 32c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32zm56-136c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32zm272 0c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32zm-89.479 24.297l-35.489 96.328C343.913 316.333 352 333.222 352 352c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-34.67 27.572-62.881 61.983-63.949l35.497-96.348c4.582-12.437 18.379-18.807 30.817-14.223 12.437 4.582 18.806 18.379 14.224 30.817z\"] };\nvar faTag = { prefix: 'far', iconName: 'tag', icon: [512, 512, [], \"f02b\", \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a47.998 47.998 0 0 0 14.059 33.941l211.882 211.882c18.745 18.745 49.137 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM259.886 463.996L48 252.118V48h204.118L464 259.882 259.886 463.996zM192 144c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48z\"] };\nvar faTags = { prefix: 'far', iconName: 'tags', icon: [640, 512, [], \"f02c\", \"M625.941 293.823L421.823 497.941c-18.746 18.746-49.138 18.745-67.882 0l-.36-.36L592 259.882 331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882zm-128 0L293.823 497.941C284.451 507.314 272.166 512 259.882 512c-12.284 0-24.569-4.686-33.941-14.059L14.059 286.059A48 48 0 0 1 0 252.118V48C0 21.49 21.49 0 48 0h204.118a47.998 47.998 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882zM464 259.882L252.118 48H48v204.118l211.886 211.878L464 259.882zM144 96c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"] };\nvar faTape = { prefix: 'far', iconName: 'tape', icon: [640, 512, [], \"f4db\", \"M624 432H362.3c52.1-41 85.7-104.5 85.7-176 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-400 0c-97 0-176-79-176-176S127 80 224 80s176 79 176 176-79 176-176 176zm0-272c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"] };\nvar faTasks = { prefix: 'far', iconName: 'tasks', icon: [512, 512, [], \"f0ae\", \"M512 128V96c0-6.6-5.4-12-12-12H204c-6.6 0-12 5.5-12 12.2V128c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12zm0 160v-32c0-6.6-5.4-12-12-12H204c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12zm0 160v-32c0-6.6-5.4-12-12-12H204c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12zM162.1 64.8l-92 91.8c-4.7 4.7-12.3 4.7-17 0l-12.4-12.4-37.2-37.5c-4.7-4.7-4.7-12.3 0-17l12.4-12.4c4.7-4.7 12.3-4.7 17 0l28.8 29.2 71.1-71.1c4.7-4.7 12.3-4.7 17 0l12.4 12.4c4.6 4.8 4.6 12.4-.1 17zm0 159.9l-92 92c-4.7 4.7-12.3 4.7-17 0l-12.4-12.4-37.2-37.7c-4.7-4.7-4.7-12.3 0-17l12.4-12.4c4.7-4.7 12.3-4.7 17 0l28.8 29.2 71.1-71.1c4.7-4.7 12.3-4.7 17 0l12.4 12.4c4.6 4.7 4.6 12.3-.1 17zM64 384c-26.5 0-47.6 21.5-47.6 48s21.1 48 47.6 48 48-21.5 48-48-21.5-48-48-48z\"] };\nvar faTaxi = { prefix: 'far', iconName: 'taxi', icon: [512, 512, [], \"f1ba\", \"M496 296c0-26.867-13.259-50.623-33.575-65.131l-17.053-68.212A87.871 87.871 0 0 0 360 96h-8V56c0-13.255-10.745-24-24-24H184c-13.255 0-24 10.745-24 24v40h-8a87.871 87.871 0 0 0-85.372 66.657l-17.053 68.212C29.258 245.377 16 269.133 16 296v72c0 15.254 6.107 29.077 16 39.176V456c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24v-32h288v32c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24v-48.823c9.893-10.1 16-23.922 16-39.176V296zM200 72h112v24H200V72zm-48 72h208a39.942 39.942 0 0 1 38.806 30.298L409.231 216H102.769l10.426-41.702A39.94 39.94 0 0 1 152 144zM71.994 384C63.174 383.997 56 376.821 56 368v-72c0-22.056 17.944-40 40-40h320c22.056 0 40 17.944 40 40v72c0 8.82-7.174 15.997-15.994 16H71.994zM336 324v16c0 6.627-5.373 12-12 12H188c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zm-188-4c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm252 36c-19.882 0-36-16.118-36-36s16.118-36 36-36 36 16.118 36 36-16.118 36-36 36z\"] };\nvar faTennisBall = { prefix: 'far', iconName: 'tennis-ball', icon: [496, 512, [], \"f45e\", \"M495 236.2c0-.1.1-.2.1-.3h-.1C485.2 115.2 388.8 18.8 268.1 9v-.1c-.1 0-.2.1-.3.1-6.5-.5-13.1-1-19.8-1C111.2 8 0 119.2 0 256c0 6.7.5 13.3 1 19.9v.1c9.7 120.8 106.2 217.3 227 227h.1c6.6.5 13.2 1 19.9 1 136.8 0 248-111.2 248-248 0-6.7-.5-13.2-1-19.8zM219.3 58.3c-1.7 6.2-2.8 12.6-2.8 19.3 0 37.7-16.9 79.9-41.9 104.9-25.1 25-67.2 41.9-104.9 41.9-6.7 0-13.1 1.1-19.3 2.8C63 140 132 71 219.3 58.3zM50 282.9c4.2-6.4 11.4-10.5 19.6-10.5 50.3 0 104.8-22 138.8-56 34-34 55.9-88.5 56-138.8 0-8.2 4-15.4 10.4-19.6C363.6 70 434 140.4 446 229.2c-4.2 6.4-11.4 10.4-19.6 10.4-50.4 0-104.8 22-138.8 56-34 34-55.9 88.4-56 138.8 0 8.3-4.1 15.5-10.5 19.7C132.4 442 62 371.6 50 282.9zm226.8 170.8c1.7-6.2 2.8-12.6 2.8-19.3 0-37.7 16.9-79.9 41.9-104.9 25.1-25.1 67.2-41.9 104.9-41.9 6.7 0 13.1-1.1 19.3-2.8C433 372 364 441 276.8 453.7z\"] };\nvar faTerminal = { prefix: 'far', iconName: 'terminal', icon: [640, 512, [], \"f120\", \"M41.678 38.101l209.414 209.414c4.686 4.686 4.686 12.284 0 16.971L41.678 473.899c-4.686 4.686-12.284 4.686-16.971 0L4.908 454.101c-4.686-4.686-4.686-12.284 0-16.971L185.607 256 4.908 74.87c-4.686-4.686-4.686-12.284 0-16.971L24.707 38.1c4.686-4.686 12.284-4.686 16.971.001zM640 468v-28c0-6.627-5.373-12-12-12H300c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h328c6.627 0 12-5.373 12-12z\"] };\nvar faTextHeight = { prefix: 'far', iconName: 'text-height', icon: [512, 512, [], \"f034\", \"M0 139.131V44c0-6.627 5.373-12 12-12h296c6.627 0 12 5.373 12 12v95.131c0 6.627-5.373 12-12 12h-26.747c-6.627 0-12-5.373-12-12V80h-82.015v352H236c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H84c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h48.762V80H50.125v59.131c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.372-12-12zM423.276 35.759l-67.994 72.001c-7.16 7.581-1.863 20.24 8.724 20.24H408v256h-43.993c-10.58 0-15.89 12.652-8.724 20.24l67.993 72.001c4.735 5.014 12.716 5.01 17.448 0l67.994-72.001c7.16-7.581 1.863-20.24-8.724-20.24H456V128h43.993c10.58 0 15.89-12.652 8.724-20.24l-67.993-72.001c-4.735-5.014-12.716-5.01-17.448 0z\"] };\nvar faTextWidth = { prefix: 'far', iconName: 'text-width', icon: [448, 512, [], \"f035\", \"M0 139.131V44c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v95.131c0 6.627-5.373 12-12 12h-26.747c-6.627 0-12-5.373-12-12V80H251.238v192H300c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H148c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h48.762V80H50.125v59.131c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.372-12-12zm444.241 252.145l-72.001-67.994c-7.581-7.16-20.24-1.863-20.24 8.724V376H96v-43.993c0-10.58-12.652-15.89-20.24-8.724L3.759 391.276c-5.014 4.735-5.01 12.716 0 17.448l72.001 67.994c7.581 7.16 20.24 1.863 20.24-8.724V424h256v43.993c0 10.58 12.652 15.89 20.24 8.724l72.001-67.993c5.014-4.735 5.01-12.716 0-17.448z\"] };\nvar faTh = { prefix: 'far', iconName: 'th', icon: [512, 512, [], \"f00a\", \"M0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80zm472 224H354.667v-96H472v96zm-157.333 0H197.333v-96h117.333v96zm0 40v96H197.333v-96h117.334zM40 208h117.333v96H40v-96zm157.333-40V72h117.333v96H197.333zm-40-96v96H40V84c0-6.627 5.373-12 12-12h105.333zM40 344h117.333v96H52c-6.627 0-12-5.373-12-12v-84zm314.667 96v-96H472v96H354.667zM472 168H354.667V72H472v96z\"] };\nvar faThLarge = { prefix: 'far', iconName: 'th-large', icon: [512, 512, [], \"f009\", \"M0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80zm232 0v152H48V86a6 6 0 0 1 6-6h178zM48 280h184v152H54a6 6 0 0 1-6-6V280zm232 152V280h184v146a6 6 0 0 1-6 6H280zm184-200H280V80h178a6 6 0 0 1 6 6v146z\"] };\nvar faThList = { prefix: 'far', iconName: 'th-list', icon: [512, 512, [], \"f00b\", \"M0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80zm472 224H197.333v-96H472v96zm0 40v84c0 6.627-5.373 12-12 12H197.333v-96H472zM40 208h117.333v96H40v-96zm157.333-40V72H460c6.627 0 12 5.373 12 12v84H197.333zm-40-96v96H40V84c0-6.627 5.373-12 12-12h105.333zM40 344h117.333v96H52c-6.627 0-12-5.373-12-12v-84z\"] };\nvar faThermometer = { prefix: 'far', iconName: 'thermometer', icon: [512, 512, [], \"f491\", \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2zm-26.7 108.2L210 368h-66v-67.1l33.1-33.3 27.6 27.6c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L211 233.5l33.8-34.1 27.8 27.8c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.3-6.2 6.3-16.4 0-22.6l-28-28 33.8-34.1 28.1 28.1c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.3 6.2-16.4 0-22.6l-28.2-28.2 32.6-32.8c19.2-19.1 48.8-22.2 67.4-7 25.5 21 21.1 54.1 4 71.2z\"] };\nvar faThermometerEmpty = { prefix: 'far', iconName: 'thermometer-empty', icon: [256, 512, [], \"f2cb\", \"M184 384c0 30.928-25.072 56-56 56s-56-25.072-56-56 25.072-56 56-56 56 25.072 56 56zm40-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.302 128-128 128-.299 0-.61-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.756 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM216 384c0-37.167-21.152-57.235-32-69.527V96c0-30.878-25.122-56-56-56-30.879 0-56 25.122-56 56v218.473c-10.977 12.439-31.811 32.281-31.999 69.064-.247 48.291 39.091 88.125 87.367 88.461L128 472c48.524 0 88-39.477 88-88z\"] };\nvar faThermometerFull = { prefix: 'far', iconName: 'thermometer-full', icon: [256, 512, [], \"f2c7\", \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 376l-.631-.002c-48.276-.335-87.614-40.17-87.367-88.461.188-36.783 21.022-56.625 31.999-69.064V96c0-30.878 25.121-56 56-56 30.878 0 56 25.122 56 56v218.473c10.848 12.292 32 32.361 32 69.527-.001 48.523-39.477 88-88.001 88zm56-88c0 30.928-25.072 56-56 56s-56-25.072-56-56c0-22.338 13.082-41.615 32-50.604V96c0-13.255 10.745-24 24-24s24 10.745 24 24v237.396c18.918 8.989 32 28.266 32 50.604z\"] };\nvar faThermometerHalf = { prefix: 'far', iconName: 'thermometer-half', icon: [256, 512, [], \"f2c9\", \"M184 384c0 30.928-25.072 56-56 56s-56-25.072-56-56c0-22.338 13.082-41.615 32-50.604V216c0-13.255 10.745-24 24-24s24 10.745 24 24v117.396c18.918 8.989 32 28.266 32 50.604zm40-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.302 128-128 128-.299 0-.61-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.756 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM216 384c0-37.167-21.152-57.235-32-69.527V96c0-30.878-25.122-56-56-56-30.879 0-56 25.122-56 56v218.473c-10.977 12.439-31.811 32.281-31.999 69.064-.247 48.291 39.091 88.125 87.367 88.461L128 472c48.524 0 88-39.477 88-88z\"] };\nvar faThermometerQuarter = { prefix: 'far', iconName: 'thermometer-quarter', icon: [256, 512, [], \"f2ca\", \"M184 384c0 30.928-25.072 56-56 56s-56-25.072-56-56c0-22.338 13.082-41.615 32-50.604V280c0-13.255 10.745-24 24-24s24 10.745 24 24v53.396c18.918 8.989 32 28.266 32 50.604zm40-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.302 128-128 128-.299 0-.61-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.756 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM216 384c0-37.167-21.152-57.235-32-69.527V96c0-30.878-25.122-56-56-56-30.879 0-56 25.122-56 56v218.473c-10.977 12.439-31.811 32.281-31.999 69.064-.247 48.291 39.091 88.125 87.367 88.461L128 472c48.524 0 88-39.477 88-88z\"] };\nvar faThermometerThreeQuarters = { prefix: 'far', iconName: 'thermometer-three-quarters', icon: [256, 512, [], \"f2c8\", \"M184 384c0 30.928-25.072 56-56 56s-56-25.072-56-56c0-22.338 13.082-41.615 32-50.604V152c0-13.255 10.745-24 24-24s24 10.745 24 24v181.396c18.918 8.989 32 28.266 32 50.604zm40-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.302 128-128 128-.299 0-.61-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.756 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM216 384c0-37.167-21.152-57.235-32-69.527V96c0-30.878-25.122-56-56-56-30.879 0-56 25.122-56 56v218.473c-10.977 12.439-31.811 32.281-31.999 69.064-.247 48.291 39.091 88.125 87.367 88.461L128 472c48.524 0 88-39.477 88-88z\"] };\nvar faThumbsDown = { prefix: 'far', iconName: 'thumbs-down', icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"] };\nvar faThumbsUp = { prefix: 'far', iconName: 'thumbs-up', icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"] };\nvar faThumbtack = { prefix: 'far', iconName: 'thumbtack', icon: [384, 512, [], \"f08d\", \"M306.49 186.64L300.8 144H328c13.25 0 24-10.75 24-24V24c0-13.25-10.75-24-24-24H56C42.75 0 32 10.75 32 24v96c0 13.25 10.75 24 24 24h27.2l-5.69 42.64C29.582 219.397 0 270.66 0 328c0 13.25 10.75 24 24 24h144v104.014a8 8 0 0 0 .411 2.53l16 48c2.423 7.269 12.752 7.281 15.179 0l16-48a8 8 0 0 0 .411-2.53V352h144c13.25 0 24-10.75 24-24-.001-57.306-29.56-108.587-77.511-141.36zM50.54 304c8.253-38.45 35.63-70.048 71.46-87.83L138.02 96H80V48h224v48h-58.02L262 216.17c35.849 17.791 63.212 49.402 71.46 87.83H50.54z\"] };\nvar faTicket = { prefix: 'far', iconName: 'ticket', icon: [576, 512, [], \"f145\", \"M568 216h8V112c0-26.51-21.49-48-48-48H48C21.49 64 0 85.49 0 112v104h8c22.091 0 40 17.909 40 40s-17.909 40-40 40H0v104c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V296h-8c-22.091 0-40-17.909-40-40s17.909-40 40-40zm-40-38.372c-28.47 14.59-48 44.243-48 78.372s19.53 63.782 48 78.372V400H48v-65.628c28.471-14.59 48-44.243 48-78.372s-19.529-63.782-48-78.372V112h480v65.628z\"] };\nvar faTicketAlt = { prefix: 'far', iconName: 'ticket-alt', icon: [576, 512, [], \"f3ff\", \"M400 208v96H176v-96h224m24-48H152c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24zm144 56h8V112c0-26.51-21.49-48-48-48H48C21.49 64 0 85.49 0 112v104h8c22.091 0 40 17.909 40 40s-17.909 40-40 40H0v104c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V296h-8c-22.091 0-40-17.909-40-40s17.909-40 40-40zm-40-38.372c-28.47 14.59-48 44.243-48 78.372s19.53 63.782 48 78.372V400H48v-65.628c28.471-14.59 48-44.243 48-78.372s-19.529-63.782-48-78.372V112h480v65.628z\"] };\nvar faTimes = { prefix: 'far', iconName: 'times', icon: [384, 512, [], \"f00d\", \"M231.6 256l130.1-130.1c4.7-4.7 4.7-12.3 0-17l-22.6-22.6c-4.7-4.7-12.3-4.7-17 0L192 216.4 61.9 86.3c-4.7-4.7-12.3-4.7-17 0l-22.6 22.6c-4.7 4.7-4.7 12.3 0 17L152.4 256 22.3 386.1c-4.7 4.7-4.7 12.3 0 17l22.6 22.6c4.7 4.7 12.3 4.7 17 0L192 295.6l130.1 130.1c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17L231.6 256z\"] };\nvar faTimesCircle = { prefix: 'far', iconName: 'times-circle', icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"] };\nvar faTimesHexagon = { prefix: 'far', iconName: 'times-hexagon', icon: [576, 512, [], \"f2ee\", \"M441.5 39.8C432.9 25.1 417.1 16 400 16H176c-17.1 0-32.9 9.1-41.5 23.8l-112 192c-8.7 14.9-8.7 33.4 0 48.4l112 192c8.6 14.7 24.4 23.8 41.5 23.8h224c17.1 0 32.9-9.1 41.5-23.8l112-192c8.7-14.9 8.7-33.4 0-48.4l-112-192zM400 448H176L64 256 176 64h224l112 192-112 192zm-10.2-112.8l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L288 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17L327.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17z\"] };\nvar faTimesOctagon = { prefix: 'far', iconName: 'times-octagon', icon: [512, 512, [], \"f2f0\", \"M497.9 150.5L361.5 14.1c-9-9-21.2-14.1-33.9-14.1H184.5c-12.7 0-24.9 5.1-33.9 14.1L14.1 150.5c-9 9-14.1 21.2-14.1 33.9v143.1c0 12.7 5.1 24.9 14.1 33.9l136.5 136.5c9 9 21.2 14.1 33.9 14.1h143.1c12.7 0 24.9-5.1 33.9-14.1L498 361.4c9-9 14.1-21.2 14.1-33.9v-143c-.1-12.8-5.2-25-14.2-34zm-33.9 177L327.5 464h-143L48 327.5v-143L184.5 48h143.1L464 184.5v143zm-106.2 7.7l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17z\"] };\nvar faTimesSquare = { prefix: 'far', iconName: 'times-square', icon: [448, 512, [], \"f2d3\", \"M325.8 193.8L263.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L224 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"] };\nvar faTint = { prefix: 'far', iconName: 'tint', icon: [384, 512, [], \"f043\", \"M192 512C89.473 512 6.609 429.156 6.609 326.608c0-111.31 94.001-150.864 135.61-289.559 15.093-49.931 85.657-48.929 99.619.191 42.561 141.489 135.554 178.064 135.554 289.368C377.392 429.135 294.549 512 192 512zM54.609 326.608C54.609 402.607 115.983 464 192 464c76 0 137.392-61.377 137.392-137.392 0-88.594-89.568-128.813-133.586-275.538-1.228-4.213-6.478-3.748-7.626.048-43.468 144.895-133.571 187.467-133.571 275.49zm95.782-25.738c-1.761-6.455-11.022-6.454-12.782 0-10.76 34.329-32.565 43.919-32.565 68.174C105.044 390.652 122.391 408 144 408s38.956-17.348 38.956-38.956c0-24.312-21.785-33.782-32.565-68.174z\"] };\nvar faToggleOff = { prefix: 'far', iconName: 'toggle-off', icon: [576, 512, [], \"f204\", \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM48 256c0-79.583 64.404-144 144-144 79.582 0 144 64.404 144 144 0 79.582-64.404 144-144 144-79.582 0-144-64.404-144-144zm336 144h-65.02c86.704-76.515 86.683-211.504 0-288H384c79.582 0 144 64.404 144 144 0 79.582-64.404 144-144 144z\"] };\nvar faToggleOn = { prefix: 'far', iconName: 'toggle-on', icon: [576, 512, [], \"f205\", \"M576 256c0 106.039-85.961 192-192 192H192C85.961 448 0 362.039 0 256S85.961 64 192 64h192c106.039 0 192 85.961 192 192zM384 112c-79.582 0-144 64.404-144 144 0 79.582 64.404 144 144 144 79.582 0 144-64.404 144-144 0-79.582-64.404-144-144-144\"] };\nvar faTrademark = { prefix: 'far', iconName: 'trademark', icon: [640, 512, [], \"f25c\", \"M105.014 146.028H12c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h244.169c6.627 0 12 5.373 12 12v26.028c0 6.627-5.373 12-12 12h-93.014V404c0 6.627-5.373 12-12 12h-34.141c-6.627 0-12-5.373-12-12V146.028zM343.779 96h42.983a12 12 0 0 1 11.157 7.582l59.646 150.616c7.211 18.929 16.225 46.873 16.225 46.873h.902s8.563-27.944 15.775-46.873l59.646-150.616A12 12 0 0 1 561.27 96h42.967a12 12 0 0 1 11.961 11.04l23.763 296c.561 6.984-4.956 12.96-11.962 12.96h-33.561a12 12 0 0 1-11.966-11.096L569.79 237.07c-1.352-21.183-.451-49.577-.451-49.577h-.901s-9.465 31.099-17.127 49.577l-48.748 116.574a12 12 0 0 1-11.071 7.37h-34.925a12 12 0 0 1-11.085-7.405L397.17 237.07c-7.662-18.479-17.577-50.028-17.577-50.028h-.902s.902 28.845-.451 50.028l-12.683 167.834A12 12 0 0 1 353.591 416h-33.993c-7.013 0-12.531-5.988-11.96-12.977l24.181-296A12 12 0 0 1 343.779 96z\"] };\nvar faTrain = { prefix: 'far', iconName: 'train', icon: [448, 512, [], \"f238\", \"M264 336c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm184-226.286v228.572c0 49.194-43.705 90.629-99.059 104.713l58.758 58.758c3.78 3.78 1.103 10.243-4.243 10.243h-48.427a11.996 11.996 0 0 1-8.485-3.515L286.059 448H161.941l-60.485 60.485A12.002 12.002 0 0 1 92.971 512H44.544c-5.345 0-8.022-6.463-4.243-10.243l58.758-58.758C43.886 428.961 0 387.656 0 338.286V109.714C0 45.928 71.001 0 138.286 0h171.428C377.889 0 448 45.922 448 109.714zM48 224h352v-80H48v80zm2.774-128h346.534c-10.2-26.136-47.971-48-87.595-48H138.286c-38.862 0-77.011 21.67-87.512 48zM400 338.286V272H48v66.286C48 374.495 99.974 400 138.286 400h171.428C347.479 400 400 374.816 400 338.286z\"] };\nvar faTransgender = { prefix: 'far', iconName: 'transgender', icon: [384, 512, [], \"f224\", \"M372 0h-63c-10.7 0-16 12.9-8.5 20.5L315 35l-87.6 87.6C203.9 105.9 175.1 96 144 96 64.5 96 0 160.5 0 240c0 71.4 51.9 130.6 120 142v34H76c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v36c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-36h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-34c68.1-11.4 120-70.6 120-142 0-31.1-9.9-59.9-26.6-83.4L349 69l14.5 14.5c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 336c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faTransgenderAlt = { prefix: 'far', iconName: 'transgender-alt', icon: [480, 512, [], \"f225\", \"M468 0h-63c-10.7 0-16 12.9-8.5 20.5L411 35l-87.6 87.6C299.9 105.9 271.1 96 240 96s-59.9 9.9-83.4 26.6l-26-26L150 77.1c4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0L96.6 62.6 69 35l14.5-14.5C91.1 12.9 85.7 0 75 0H12C5.4 0 0 5.4 0 12v63c0 10.7 12.9 16 20.5 8.5L35 69l27.6 27.6L43.2 116c-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0l19.5-19.5 26 26C105.9 180.1 96 208.9 96 240c0 71.4 51.9 130.6 120 142v34h-44c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v36c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-36h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-34c68.1-11.4 120-70.6 120-142 0-31.1-9.9-59.9-26.6-83.4L445 69l14.5 14.5c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 336c-52.9 0-96-43.1-96-96s43.1-96 96-96 96 43.1 96 96-43.1 96-96 96z\"] };\nvar faTrash = { prefix: 'far', iconName: 'trash', icon: [512, 512, [], \"f1f8\", \"M381.6 80l-34-56.7C338.9 8.8 323.3 0 306.4 0H205.6c-16.9 0-32.5 8.8-41.2 23.3l-34 56.7H40c-13.3 0-24 10.7-24 24v12c0 6.6 5.4 12 12 12h16.4L76 468.4c2.3 24.7 23 43.6 47.8 43.6h264.5c24.8 0 45.5-18.9 47.8-43.6L467.6 128H484c6.6 0 12-5.4 12-12v-12c0-13.3-10.7-24-24-24h-90.4zm-176-32h100.8l19.2 32H186.4l19.2-32zm182.6 416H123.8L92.6 128h326.7l-31.1 336z\"] };\nvar faTrashAlt = { prefix: 'far', iconName: 'trash-alt', icon: [448, 512, [], \"f2ed\", \"M192 188v216c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V188c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12zm100-12h-24c-6.627 0-12 5.373-12 12v216c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V188c0-6.627-5.373-12-12-12zm132-96c13.255 0 24 10.745 24 24v12c0 6.627-5.373 12-12 12h-20v336c0 26.51-21.49 48-48 48H80c-26.51 0-48-21.49-48-48V128H12c-6.627 0-12-5.373-12-12v-12c0-13.255 10.745-24 24-24h74.411l34.018-56.696A48 48 0 0 1 173.589 0h100.823a48 48 0 0 1 41.16 23.304L349.589 80H424zm-269.611 0h139.223L276.16 50.913A6 6 0 0 0 271.015 48h-94.028a6 6 0 0 0-5.145 2.913L154.389 80zM368 128H80v330a6 6 0 0 0 6 6h276a6 6 0 0 0 6-6V128z\"] };\nvar faTree = { prefix: 'far', iconName: 'tree', icon: [384, 512, [], \"f1bb\", \"M373.679 338.344l-35.16-44.832c20.236-16.151 24.079-45.619 8.359-66.438l-34.932-46.261c21.067-17.62 23.055-49.355 4.372-69.475l-89.143-96.006c-18.969-20.428-51.352-20.457-70.348 0l-89.143 96.006c-18.704 20.143-16.67 51.876 4.372 69.475l-34.932 46.261c-15.73 20.831-11.864 50.298 8.359 66.438l-35.167 44.832C-14.37 369.762 8.032 416 48.058 416H160c0 36.341-3.919 56.605-29.657 82.343C125.318 503.368 128.88 512 136 512h112c7.106 0 10.692-8.622 5.657-13.657C227.943 472.629 224 452.386 224 416h111.935c39.956 0 62.472-46.182 37.744-77.656zM224 368v-24c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v24H48l88-112H75.429L160 144h-57.143L192 48l89.143 96H224l84.571 112H248l88 112H224z\"] };\nvar faTreeAlt = { prefix: 'far', iconName: 'tree-alt', icon: [512, 512, [], \"f400\", \"M469.614 190.222c15.35-70.159-43.761-134.772-115.304-125.326C337.456 25.516 298.795 0 256 0c-42.834 0-81.471 25.552-98.311 64.896-71.485-9.439-130.665 55.111-115.303 125.327C15.83 210.547 0 242.073 0 276c0 59.552 48.449 108 108 108h116c0 56.531 3.718 80.968-29.657 114.343C189.318 503.368 192.88 512 200 512h112c7.106 0 10.692-8.622 5.657-13.657C284.152 464.839 288 440.028 288 384h116c59.552 0 108-48.448 108-108 0-33.889-15.806-65.435-42.386-85.778zM404 336H288v-24c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v24H108c-33.084 0-60-26.916-60-60 0-42.95 36.542-55.333 54.299-64.076C92.504 190.015 88 182.71 88 168c0-30.878 25.122-56 56-56 13.982 0 20.481 3.873 49.106 15.517C195.218 114.139 196.728 48 256 48c57.226 0 60.028 61.361 62.895 79.518C347.69 115.804 354.039 112 368 112c30.879 0 56 25.122 56 56 0 14.699-4.468 21.934-14.298 43.924C427.266 220.572 464 232.908 464 276c0 33.084-26.916 60-60 60z\"] };\nvar faTriangle = { prefix: 'far', iconName: 'triangle', icon: [576, 512, [], \"f2ec\", \"M329.6 24c-18.4-32-64.7-32-83.2 0L6.5 440c-18.4 31.9 4.6 72 41.6 72H528c36.9 0 60-40 41.6-72l-240-416zM48 464L288 48l240 416H48z\"] };\nvar faTrophy = { prefix: 'far', iconName: 'trophy', icon: [576, 512, [], \"f091\", \"M448 64V16c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v60.8C0 201.1 68.3 266 159.6 283.4c27.4 57.9 68.1 88.2 104.4 97.4V464h-64c-22.1 0-40 17.9-40 40 0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8 0-22.1-17.9-40-40-40h-64v-83.2c36.3-9.3 77-39.5 104.4-97.4C507.5 266.1 576 201.2 576 140.8V80c0-8.8-7.2-16-16-16H448zM48 140.8V112h80c0 39.2 2.1 76.2 12.3 116.8-55.1-18.9-92.3-58.9-92.3-88zM288 336c-53 0-112-78.4-112-216V48h224v72c0 140.5-60.8 216-112 216zm240-195.2c0 29.1-37.2 69.1-92.3 88C445.9 188.2 448 151.1 448 112h80v28.8z\"] };\nvar faTrophyAlt = { prefix: 'far', iconName: 'trophy-alt', icon: [576, 512, [], \"f2eb\", \"M359.3 138.9l-43.4-6.3-19.4-39.3c-3.5-7-13.5-7.1-17 0l-19.4 39.3-43.4 6.3c-7.8 1.1-10.9 10.7-5.3 16.2l31.4 30.6-7.4 43.2c-1.3 7.7 6.8 13.7 13.8 10l38.8-20.4 38.8 20.4c6.9 3.6 15.1-2.2 13.8-10l-7.4-43.2 31.4-30.6c5.6-5.5 2.5-15.1-5.3-16.2zM448 64V16c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v60.8C0 201.1 68.3 266 159.6 283.4c27.4 57.9 68.1 88.2 104.4 97.4V464h-64c-22.1 0-40 17.9-40 40 0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8 0-22.1-17.9-40-40-40h-64v-83.2c36.3-9.3 77-39.5 104.4-97.4C507.5 266.1 576 201.2 576 140.8V80c0-8.8-7.2-16-16-16H448zM48 140.8V112h80c0 39.2 2.1 76.2 12.3 116.8-55.1-18.9-92.3-58.9-92.3-88zM288 336c-53 0-112-78.4-112-216V48h224v72c0 140.5-60.8 216-112 216zm240-195.2c0 29.1-37.2 69.1-92.3 88C445.9 188.2 448 151.1 448 112h80v28.8z\"] };\nvar faTruck = { prefix: 'far', iconName: 'truck', icon: [640, 512, [], \"f0d1\", \"M624 368h-16V251.9c0-19-7.7-37.5-21.1-50.9L503 117.1C489.6 103.7 471 96 452.1 96H416V56c0-30.9-25.1-56-56-56H56C25.1 0 0 25.1 0 56v304c0 30.9 25.1 56 56 56h8c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-464 96c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm208-96H242.7c-16.6-28.6-47.2-48-82.7-48s-66.1 19.4-82.7 48H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v312zm48-224h36.1c6.3 0 12.5 2.6 17 7l73 73H416v-80zm64 320c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-100.9c-17.2-25.9-46.6-43.1-80-43.1-24.7 0-47 9.6-64 24.9V272h144v91.1z\"] };\nvar faTruckContainer = { prefix: 'far', iconName: 'truck-container', icon: [640, 512, [], \"f4dc\", \"M32 304h336c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v208c0 17.7 14.3 32 32 32zM48 80h304v176H48V80zm573.3 125.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H464c-17.7 0-32 14.3-32 32v176H32c-17.7 0-32 14.3-32 32v27.8c0 40.8 28.7 78.1 69.1 83.5 30.7 4.1 58.3-9.5 74.9-31.7 18.4 24.7 50.4 38.7 85.3 29.7 25.2-6.5 46.1-26.2 54.4-50.8 4.9-14.8 5.4-29.2 2.8-42.4h163.2c-2.7 13.2-2.2 27.6 2.8 42.4 8.4 25.1 29.9 44.9 55.6 51.1 52.8 12.8 100-26.9 100-77.6 0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16V250.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-256h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm64-96h-16.4c-13.3-9.9-29.7-16-47.6-16s-34.2 6.1-47.6 16h-.4v-80h112v80zM136 112h-32c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8zm160 0h-32c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8zm-80 0h-32c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8z\"] };\nvar faTruckCouch = { prefix: 'far', iconName: 'truck-couch', icon: [640, 512, [], \"f4dd\", \"M13.8 237.9c2.5-1 4.9-2.1 7.5-2.8 6.1-1.6 12.4-2.5 18.7-2.5 29.8 0 56.1 18.5 66.8 45.8l125-33.5c-2.5-16.1.3-32.4 8.5-46.7 9.6-16.7 25.1-28.6 43.7-33.5 2.6-.7 5.3-.7 8-1.1l-.3-1c-9.1-34.1-44.2-54.4-78.4-45.3L58.9 158.8c-34.1 9.1-54.4 44.2-45.3 78.4l.2.7zM7.6 338.2L24.1 400l77.3-20.7 185.5-49.7 14.8-4 18.3-4.9v-122c-8.3-4-18-5.6-27.6-3.1-21.3 5.7-34 27.7-28.3 49l6.2 23.2-143.2 38.4-11.4 3-30.9 8.3-6.2-23.2c-5.7-21.3-27.7-34-49-28.3-21.3 5.7-34 27.7-28.3 49l6.3 23.2zM640 48V0H384c-17.7 0-32 14.3-32 32v340.6L5.9 465.4c-4.3 1.1-6.8 5.5-5.7 9.8l8.3 30.9c1.1 4.3 5.5 6.8 9.8 5.7L416.5 405c2.7 59.5 51.4 107 111.5 107 61.9 0 112-50.1 112-112s-50.1-112-112-112c-44.6 0-82.8 26.3-100.8 64H400V48h240zM528 336c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64z\"] };\nvar faTruckLoading = { prefix: 'far', iconName: 'truck-loading', icon: [640, 512, [], \"f4de\", \"M640 48V0H384c-17.7 0-32 14.3-32 32v340.6L5.9 465.4c-4.3 1.1-6.8 5.5-5.7 9.8l8.3 30.9c1.1 4.3 5.5 6.8 9.8 5.7L416.5 405c2.7 59.5 51.4 107 111.5 107 61.9 0 112-50.1 112-112s-50.1-112-112-112c-44.6 0-82.8 26.3-100.8 64H400V48h240zM528 336c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5z\"] };\nvar faTruckMoving = { prefix: 'far', iconName: 'truck-moving', icon: [640, 512, [], \"f4df\", \"M621.3 205.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16V250.5c0-17-6.7-33.2-18.7-45.2zM517.5 176c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48h37.5zM528 320c-17.9 0-34.2 6.1-47.6 16h-.4v-80h112v80h-16.4c-13.4-9.9-29.7-16-47.6-16zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm224-96H255.6c-13.3-9.9-29.7-16-47.6-16s-34.2 6.1-47.6 16h-32.9c-13.3-9.9-29.7-16-47.6-16-11.4 0-22.2 2.5-32 6.8V80h384v256zm96 96c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"] };\nvar faTruckRamp = { prefix: 'far', iconName: 'truck-ramp', icon: [640, 512, [], \"f4e0\", \"M544 48h96V0H384c-17.7 0-32 14.3-32 32v340.6L5.9 465.4c-4.3 1.1-6.8 5.5-5.7 9.8l8.3 30.9c1.1 4.3 5.5 6.8 9.8 5.7L416.5 405c2.7 59.5 51.4 107 111.5 107 61.9 0 112-50.1 112-112s-50.1-112-112-112c-44.6 0-82.8 26.3-100.8 64H400V48h144zm-16 288c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64z\"] };\nvar faTty = { prefix: 'far', iconName: 'tty', icon: [512, 512, [], \"f1e4\", \"M256.015.004zm248.687 159.27l-37.058 59.291c-12.314 19.701-36.965 27.752-58.53 19.125l-74.42-29.769c-19.855-7.943-32.062-28.062-29.935-49.341l2.606-26.073c-36.57-9.118-67.361-8.82-102.729 0l2.607 26.072c2.128 21.28-10.079 41.401-29.936 49.344l-74.422 29.768c-21.579 8.631-46.225.56-58.53-19.127L7.297 159.272c-11.876-19.002-9.025-43.693 6.869-59.488 133.558-132.722 349.459-133.369 483.668.001 15.894 15.795 18.745 40.487 6.868 59.489zm-40.701-25.441c-115.216-114.495-300.899-114.381-416-.001l37.059 59.292 74.422-29.768-6.505-65.044c75.782-27.384 130.31-27.367 206.046 0l-6.502 65.043 74.42 29.769 37.06-59.291zM126 430H98c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zM78 512H50c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm384 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zM78 348H50c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm96 0h-28c-6.627 0-12-5.373-12-12v-28c0-6.627 5.373-12 12-12h28c6.627 0 12 5.373 12 12v28c0 6.627-5.373 12-12 12zm-98 158H148c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h216c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12z\"] };\nvar faTv = { prefix: 'far', iconName: 'tv', icon: [640, 512, [], \"f26c\", \"M592 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h248v48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h336c13.3 0 24-10.7 24-24s-10.7-24-24-24H344v-48h248c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-6 368H54c-3.3 0-6-2.7-6-6V54c0-3.3 2.7-6 6-6h532c3.3 0 6 2.7 6 6v308c0 3.3-2.7 6-6 6z\"] };\nvar faTvRetro = { prefix: 'far', iconName: 'tv-retro', icon: [512, 512, [], \"f401\", \"M400 244v-8c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12zm12 76h8c6.6 0 12-5.4 12-12v-8c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v8c0 6.6 5.4 12 12 12zm-36-136.5s-1.5-7.5-144-7.5-144.5 7.5-144.5 7.5S80 184 80 288s7.5 104.5 7.5 104.5S88 400 232 400s144-7.5 144-7.5 7.5-.5 7.5-104.5-7.5-104.5-7.5-104.5zM512 144v288c0 26.5-21.5 48-48 48h-16v32h-48l-10.7-32H122.7L112 512H64v-32H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h140.9l-54-55.2c-9.3-9.5-9.1-24.7.3-33.9 9.5-9.3 24.7-9.1 33.9.3L256 96l86.9-88.8c9.3-9.5 24.5-9.6 33.9-.3 9.5 9.3 9.6 24.5.3 33.9l-54 55.2H464c26.5 0 48 21.5 48 48zm-48 0H48v288h416V144z\"] };\nvar faUmbrella = { prefix: 'far', iconName: 'umbrella', icon: [576, 512, [], \"f0e9\", \"M575.227 245.796C546.304 124.473 434.283 49.689 312 40.867V24c0-13.255-10.745-24-24-24s-24 10.745-24 24v16.864C142.075 49.624 30.471 123.772.797 245.694c-5.908 23.641 22.268 43.788 43.593 25.509l.49-.438c49.209-45.814 89.493-28.115 125.342 27.66 11.35 17.77 34.765 16.9 45.566.021 13.54-20.922 27.644-40.238 48.212-48.809V424c0 22.056-17.944 40-40 40s-40-17.944-40-40c0-13.255-10.745-24-24-24s-24 10.745-24 24c0 48.523 39.477 88 88 88s88-39.477 88-88V249.958c25.89 10.827 38.014 32.588 48.192 48.458 10.807 16.934 34.234 17.758 45.573.029 36.217-55.958 76.587-73.084 125.352-27.68l.491.438c21.231 18.199 49.434-1.724 43.619-25.407zm-69.425-45.026c-47.861-13.734-89.788 8.106-121.989 46.573-24.008-30.066-56.845-50.369-95.813-50.369-39.408 0-69.736 18.728-94.551 49.949-35.654-44.276-82.818-57.09-122.65-46.833C115.008 126.775 202.033 88 288 88c85.629 0 173.751 38.987 217.802 112.77z\"] };\nvar faUnderline = { prefix: 'far', iconName: 'underline', icon: [448, 512, [], \"f0cd\", \"M0 500v-24c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12zM278.066 12v24c0 6.627 5.373 12 12 12h40.44v210.742c0 74.424-39.957 112.144-106.502 112.144-66.896 0-106.501-35.297-106.501-111.005V48h40.44c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H22.162c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h40.441v212.45c0 106.712 66.034 161.89 161.401 161.89 93.574 0 161.402-56.006 161.402-161.89V48h40.44c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12h-135.78c-6.627 0-12 5.373-12 12z\"] };\nvar faUndo = { prefix: 'far', iconName: 'undo', icon: [512, 512, [], \"f0e2\", \"M12 8h27.711c6.739 0 12.157 5.548 11.997 12.286l-2.347 98.568C93.925 51.834 170.212 7.73 256.793 8.001 393.18 8.428 504.213 120.009 504 256.396 503.786 393.181 392.835 504 256 504c-63.926 0-122.202-24.187-166.178-63.908-5.113-4.618-5.354-12.561-.482-17.433l19.738-19.738c4.498-4.498 11.753-4.785 16.501-.552C160.213 433.246 205.895 452 256 452c108.322 0 196-87.662 196-196 0-108.322-87.662-196-196-196-79.545 0-147.941 47.282-178.675 115.302l126.389-3.009c6.737-.16 12.286 5.257 12.286 11.997V212c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12V20C0 13.373 5.373 8 12 8z\"] };\nvar faUndoAlt = { prefix: 'far', iconName: 'undo-alt', icon: [512, 512, [], \"f2ea\", \"M28.485 28.485L80.65 80.65C125.525 35.767 187.515 8 255.999 8 392.66 8 504.1 119.525 504 256.185 503.9 393.067 392.905 504 256 504c-63.926 0-122.202-24.187-166.178-63.908-5.113-4.618-5.353-12.561-.482-17.433l19.738-19.738c4.498-4.498 11.753-4.785 16.501-.552C160.213 433.246 205.895 452 256 452c108.321 0 196-87.662 196-196 0-108.321-87.662-196-196-196-54.163 0-103.157 21.923-138.614 57.386l54.128 54.129c7.56 7.56 2.206 20.485-8.485 20.485H20c-6.627 0-12-5.373-12-12V36.971c0-10.691 12.926-16.045 20.485-8.486z\"] };\nvar faUniversalAccess = { prefix: 'far', iconName: 'universal-access', icon: [512, 512, [], \"f29a\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 456c-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208 114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208zm143.594-286.66c2.538 10.75-4.119 21.522-14.869 24.061-29.865 7.051-57.839 13.286-85.597 16.751.679 111.33 12.654 128.456 26.969 165.116 4.823 12.346-1.275 26.265-13.622 31.087-12.34 4.823-26.263-1.27-31.087-13.622-9.559-24.467-18.089-42.949-23.805-85.12h-3.164c-5.721 42.206-14.269 60.706-23.805 85.12-4.816 12.329-18.721 18.451-31.087 13.623-12.346-4.823-18.445-18.741-13.623-31.088 14.33-36.686 26.29-53.837 26.969-165.116-27.758-3.465-55.732-9.699-85.597-16.751-10.75-2.538-17.407-13.311-14.869-24.061 2.539-10.75 13.312-17.405 24.061-14.869 104.768 24.736 134.447 24.701 239.066 0 10.749-2.538 21.522 4.118 24.06 14.869zm-181.788-43.146C217.806 113.1 234.906 96 256 96s38.194 17.1 38.194 38.194-17.1 38.194-38.194 38.194-38.194-17.101-38.194-38.194z\"] };\nvar faUniversity = { prefix: 'far', iconName: 'university', icon: [512, 512, [], \"f19c\", \"M472 440h-8v-56c0-13.255-10.745-24-24-24h-16V208h-48v152h-48V208h-48v152h-48V208h-48v152h-48V208H88v152H72c-13.255 0-24 10.745-24 24v56h-8c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zm-56 0H96v-32h320v32zm72.267-322.942L271.179 26.463a48.004 48.004 0 0 0-30.358 0L23.733 117.058A11.999 11.999 0 0 0 16 128.274V156c0 6.627 5.373 12 12 12h20v12c0 6.627 5.373 12 12 12h392c6.627 0 12-5.373 12-12v-12h20c6.627 0 12-5.373 12-12v-27.726c0-4.982-3.077-9.445-7.733-11.216zM64 144l192-72 192 72H64z\"] };\nvar faUnlink = { prefix: 'far', iconName: 'unlink', icon: [512, 512, [], \"f127\", \"M304.083 388.936c4.686 4.686 4.686 12.284 0 16.971l-65.057 65.056c-54.709 54.711-143.27 54.721-197.989 0-54.713-54.713-54.719-143.27 0-197.989l65.056-65.057c4.686-4.686 12.284-4.686 16.971 0l22.627 22.627c4.686 4.686 4.686 12.284 0 16.971L81.386 311.82c-34.341 34.341-33.451 88.269.597 120.866 32.577 31.187 84.788 31.337 117.445-1.32l65.057-65.056c4.686-4.686 12.284-4.686 16.971 0l22.627 22.626zm-56.568-243.245l64.304-64.304c34.346-34.346 88.286-33.453 120.882.612 31.18 32.586 31.309 84.785-1.335 117.43l-65.056 65.057c-4.686 4.686-4.686 12.284 0 16.971l22.627 22.627c4.686 4.686 12.284 4.686 16.971 0l65.056-65.057c54.711-54.709 54.721-143.271 0-197.99-54.71-54.711-143.27-54.72-197.989 0l-65.057 65.057c-4.686 4.686-4.686 12.284 0 16.971l22.627 22.627c4.685 4.685 12.283 4.685 16.97-.001zm238.343 362.794l22.627-22.627c4.686-4.686 4.686-12.284 0-16.971L43.112 3.515c-4.686-4.686-12.284-4.686-16.971 0L3.515 26.142c-4.686 4.686-4.686 12.284 0 16.971l465.373 465.373c4.686 4.686 12.284 4.686 16.97-.001z\"] };\nvar faUnlock = { prefix: 'far', iconName: 'unlock', icon: [448, 512, [], \"f09c\", \"M400 240H128v-94.8c0-52.8 42.1-96.7 95-97.2 53.4-.6 97 42.7 97 96v24c0 13.3 10.7 24 24 24s24-10.7 24-24v-22.6C368 65.8 304 .2 224.3 0 144.8-.2 80 64.5 80 144v96H48c-26.5 0-48 21.5-48 48v176c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V288c0-26.5-21.5-48-48-48zm0 224H48V288h352v176z\"] };\nvar faUnlockAlt = { prefix: 'far', iconName: 'unlock-alt', icon: [448, 512, [], \"f13e\", \"M400 240H128v-94.8c0-52.8 42.1-96.7 95-97.2 53.4-.6 97 42.7 97 96v24c0 13.3 10.7 24 24 24s24-10.7 24-24v-22.6C368 65.8 304 .2 224.3 0 144.8-.2 80 64.5 80 144v96H48c-26.5 0-48 21.5-48 48v176c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V288c0-26.5-21.5-48-48-48zm0 224H48V288h352v176zm-176-32c-15.5 0-28-12.5-28-28v-56c0-15.5 12.5-28 28-28s28 12.5 28 28v56c0 15.5-12.5 28-28 28z\"] };\nvar faUpload = { prefix: 'far', iconName: 'upload', icon: [576, 512, [], \"f093\", \"M528 288H384v-32h64c42.6 0 64.2-51.7 33.9-81.9l-160-160c-18.8-18.8-49.1-18.7-67.9 0l-160 160c-30.1 30.1-8.7 81.9 34 81.9h64v32H48c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48zm-400-80L288 48l160 160H336v160h-96V208H128zm400 256H48V336h144v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48v-32h144v128zm-40-64c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24z\"] };\nvar faUsdCircle = { prefix: 'far', iconName: 'usd-circle', icon: [496, 512, [], \"f2e8\", \"M291 244l-72-21.9c-9-2.8-15.2-12.1-15.2-22.7 0-12.9 9.2-23.4 20.5-23.4h45c7 0 13.8 1.9 19.9 5.4 6.4 3.7 14.3 3.4 19.7-1.6l12-11.3c7.6-7.2 6.3-19.4-2.3-25.2-13.8-9.3-29.9-14.5-46.4-15.1V112c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v16c-37.6.1-68.2 32.1-68.2 71.4 0 31.5 20.2 59.7 49.2 68.6l72 21.9c9 2.8 15.2 12.1 15.2 22.7 0 12.9-9.2 23.4-20.5 23.4h-45c-7 0-13.8-1.9-19.9-5.4-6.4-3.7-14.3-3.4-19.7 1.6l-12 11.3c-7.6 7.2-6.3 19.4 2.3 25.2 13.8 9.3 29.9 14.5 46.4 15.1V400c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-16c37.6-.1 68.2-32.1 68.2-71.4 0-31.5-20.2-59.7-49.2-68.6zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"] };\nvar faUsdSquare = { prefix: 'far', iconName: 'usd-square', icon: [448, 512, [], \"f2e9\", \"M261.8 242.3L200 223.7c-6.2-1.9-10.6-8.3-10.6-15.6 0-8.9 6.4-16.1 14.2-16.1h38.6c6.6 0 13 2.1 18.4 6.1 3 2.2 7.2 1.7 9.8-.9l23.4-22.3c3.3-3.2 3.5-8.7 0-11.6-12.9-10.9-29.1-17.4-45.9-18.6V120c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v24.4c-32.6 1.9-58.7 29.7-58.7 63.8 0 28.3 18.4 53.7 44.8 61.6l61.9 18.6c6.2 1.9 10.6 8.3 10.6 15.6 0 8.9-6.4 16.1-14.2 16.1h-38.6c-6.6 0-13-2.1-18.4-6.1-3-2.2-7.2-1.7-9.8.9l-23.4 22.3c-3.3 3.2-3.5 8.7 0 11.6 12.9 10.9 29.1 17.4 45.9 18.6V392c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8v-24.4c32.6-1.9 58.7-29.7 58.7-63.8 0-28.3-18.5-53.6-44.9-61.5zM392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm8 392c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h336c4.4 0 8 3.6 8 8v336z\"] };\nvar faUser = { prefix: 'far', iconName: 'user', icon: [512, 512, [], \"f007\", \"M423.309 291.025L402.221 285C431.798 243.89 436 202.294 436 180 436 80.649 355.484 0 256 0 156.649 0 76 80.516 76 180c0 22.299 4.198 63.884 33.779 105l-21.088 6.025C21.28 310.285 0 371.59 0 408.605v25.681C0 477.138 34.862 512 77.714 512h356.571C477.138 512 512 477.138 512 434.286v-25.681c0-36.247-20.725-98.161-88.691-117.58zM256 48c72.902 0 132 59.099 132 132s-59.098 132-132 132-132-59.099-132-132S183.098 48 256 48zm208 386.286c0 16.41-13.304 29.714-29.714 29.714H77.714C61.304 464 48 450.696 48 434.286v-25.681c0-33.167 21.987-62.316 53.878-71.427l46.103-13.172C162.683 335.058 200.427 360 256 360s93.317-24.942 108.019-35.994l46.103 13.172C442.013 346.29 464 375.438 464 408.605v25.681z\"] };\nvar faUserAlt = { prefix: 'far', iconName: 'user-alt', icon: [448, 512, [], \"f406\", \"M355.165 226.983l-11.257-3.216C353.3 209.665 368 182.136 368 144 368 64.519 303.584 0 224 0 144.519 0 80 64.416 80 144c0 38.131 14.696 65.659 24.093 79.767l-11.257 3.216C56.355 237.407 0 276.069 0 350.058v88.799C0 479.188 32.812 512 73.143 512h301.714C415.188 512 448 479.188 448 438.857v-88.799c0-73.384-55.581-112.43-92.835-123.075zM224 48c53.019 0 96 42.981 96 96s-42.981 96-96 96-96-42.981-96-96 42.981-96 96-96zm176 390.857C400 452.743 388.743 464 374.857 464H73.143C59.257 464 48 452.743 48 438.857v-88.799c0-35.719 23.678-67.109 58.022-76.922l36.46-10.417C165.929 278.843 194.106 288 224 288c29.852 0 58.036-9.133 81.518-25.281l36.46 10.417C376.322 282.949 400 314.34 400 350.058v88.799z\"] };\nvar faUserCircle = { prefix: 'far', iconName: 'user-circle', icon: [512, 512, [], \"f2bd\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.457 0 200 89.543 200 200 0 36.982-10.049 71.611-27.548 101.328-7.072-25.444-25.663-54.208-63.93-65.374C377.207 271.782 384 248.414 384 224c0-70.689-57.189-128-128-128-70.689 0-128 57.19-128 128 0 24.414 6.793 47.783 19.478 67.954-38.299 11.175-56.876 39.913-63.938 65.362C66.046 327.601 56 292.976 56 256c0-110.457 89.543-200 200-200zm80 168c0 44.183-35.817 80-80 80s-80-35.817-80-80 35.817-80 80-80 80 35.817 80 80zM128 409.669v-27.758c0-20.41 13.53-38.348 33.156-43.955l24.476-6.993C206.342 344.648 230.605 352 256 352s49.658-7.352 70.369-21.038l24.476 6.993C370.47 343.563 384 361.5 384 381.911v27.758C349.315 438.592 304.693 456 256 456s-93.315-17.408-128-46.331z\"] };\nvar faUserMd = { prefix: 'far', iconName: 'user-md', icon: [480, 512, [], \"f0f0\", \"M357.4 226.9c16.6-23.5 26.6-52 26.6-82.9C384 68.2 323.4 0 240 0 160.6 0 96 64.6 96 144c0 30.9 10 59.4 26.6 82.9C47.3 239.5 0 301.7 0 369.3V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V369.3c0-46.9 33.8-86.8 80-94.6v95.9c-26.3 7.9-44.7 34.5-38.9 64.5 4.1 21 20.7 38.5 41.6 43.4C167.3 487 200 459.2 200 424c0-25.3-16.9-46.5-40-53.4V269.3l8-1.3c21.3 12.4 45.6 20 72 20 23.2 0 44.7-6.1 64-16v49.6c-36.5 7.4-64 39.8-64 78.4v56c0 7.6 5.4 14.2 12.9 15.7l32.2 6.4c4.3.9 8.6-1.9 9.4-6.3l3.1-15.7c.9-4.3-1.9-8.5-6.3-9.4l-19.3-3.9v-41c0-23.2 15.6-44.5 38.4-49 30.6-6 57.6 17.5 57.6 47.1v42.9l-19.3 3.9c-4.3.9-7.1 5.1-6.3 9.4l3.1 15.7c.9 4.3 5.1 7.1 9.4 6.3l32.2-6.4c7.5-1.5 12.9-8.1 12.9-15.7v-56c0-38.6-27.5-70.9-64-78.4V272l15.8 2.6c46.3 7.7 80.2 47.8 80.2 94.7V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V369.4c0-67.3-47-129.9-122.6-142.5zM168 424c0 13.3-10.7 24-24 24s-24-10.7-24-24 10.7-24 24-24 24 10.7 24 24zm72-184c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"] };\nvar faUserPlus = { prefix: 'far', iconName: 'user-plus', icon: [640, 512, [], \"f234\", \"M367.598 278.536l-7.622-2.178C369.414 261.154 384 232.031 384 192c0-88.312-71.573-160-160-160-88.312 0-160 71.573-160 160 0 40.06 14.607 69.189 24.025 84.358l-7.622 2.178C19.457 295.949 0 351.374 0 385.127v21.73C0 447.188 32.812 480 73.143 480h301.714C415.188 480 448 447.188 448 406.857v-21.73c0-32.887-18.858-89.007-80.402-106.591zM224 80c61.856 0 112 50.144 112 112s-50.144 112-112 112-112-50.144-112-112S162.144 80 224 80zm176 326.857C400 420.743 388.743 432 374.857 432H73.143C59.257 432 48 420.743 48 406.857v-21.73c0-28.064 18.604-52.729 45.589-60.439l29.583-8.452C163.711 349.212 206.592 352 224 352c17.489 0 60.312-2.807 100.828-35.763l29.583 8.452c26.985 7.71 45.589 32.374 45.589 60.439v21.729zM640 244v24c0 6.627-5.373 12-12 12h-76v76c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12v-76h-76c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h76v-76c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v76h76c6.627 0 12 5.373 12 12z\"] };\nvar faUserSecret = { prefix: 'far', iconName: 'user-secret', icon: [448, 512, [], \"f21b\", \"M396.951 274.003l12.85-33.731c2.992-7.854-2.809-16.272-11.214-16.272h-38.803c7.736-21.843 9.942-44.957 6.905-67.454C397.339 148.985 416 138.977 416 128c0-13.263-27.231-25.112-69.947-32.937-9.185-32.805-27.178-65.797-40.714-82.85-9.452-11.908-25.873-15.634-39.471-8.834-46.139 23.07-37.316 23.21-83.736 0-13.599-6.799-30.02-3.074-39.471 8.834-13.536 17.053-31.529 50.045-40.714 82.85C59.231 102.888 32 114.737 32 128c0 10.977 18.661 20.985 49.311 28.546-3.035 22.478-.837 45.593 6.905 67.454H50.198c-8.615 0-14.423 8.809-11.029 16.727l13.75 32.083C21.455 292.422 0 327.335 0 368v72c0 39.701 32.299 72 72 72h304c39.701 0 72-32.299 72-72v-72c0-38.986-19.836-73.669-51.049-93.997zM128.34 167.931c1.202.757 5.303 3.387 6.007 5.553 3.861 11.864 7.026 24.572 16.514 33.359 7.977 7.387 47.033 25.138 63.996-25.029 2.838-8.398 15.448-8.395 18.285 0 16.039 47.434 53.924 34.357 63.996 25.029 9.488-8.786 12.653-21.495 16.514-33.359.704-2.166 4.805-4.795 6.007-5.553.221 2.661.34 5.351.34 8.069 0 53.019-42.98 96-96 96s-96-42.981-96-96c.001-2.718.12-5.408.341-8.069zm57.364 146.91c24.31 6.708 51.021 7.056 76.592 0L240 352l16 112h-64l16-112-22.296-37.159zM48 440v-72c0-35.346 28.654-64 64-64h18.182L152 464H72c-13.255 0-24-10.745-24-24zm352 0c0 13.255-10.745 24-24 24h-80l21.818-160H336c35.346 0 64 28.654 64 64v72z\"] };\nvar faUserTimes = { prefix: 'far', iconName: 'user-times', icon: [640, 512, [], \"f235\", \"M631.681 326.711l-16.971 16.971c-4.686 4.686-12.284 4.686-16.971 0L544 289.941l-53.74 53.74c-4.686 4.686-12.284 4.686-16.971 0l-16.971-16.971c-4.686-4.686-4.686-12.284 0-16.971l53.74-53.74-53.74-53.74c-4.686-4.686-4.686-12.284 0-16.971l16.971-16.971c4.686-4.686 12.284-4.686 16.971 0l53.74 53.74 53.74-53.74c4.686-4.686 12.284-4.686 16.971 0l16.971 16.971c4.686 4.686 4.686 12.284 0 16.971L577.941 256l53.74 53.74c4.687 4.686 4.687 12.284 0 16.971zm-264.083-48.175l-7.622-2.178C369.414 261.154 384 232.031 384 192c0-88.312-71.573-160-160-160-88.312 0-160 71.573-160 160 0 40.06 14.607 69.189 24.025 84.358l-7.622 2.178C19.457 295.949 0 351.374 0 385.127v21.73C0 447.188 32.812 480 73.143 480h301.714C415.188 480 448 447.188 448 406.857v-21.73c0-32.887-18.858-89.007-80.402-106.591zM224 80c61.856 0 112 50.144 112 112s-50.144 112-112 112-112-50.144-112-112S162.144 80 224 80zm176 326.857C400 420.743 388.743 432 374.857 432H73.143C59.257 432 48 420.743 48 406.857v-21.73c0-28.064 18.604-52.729 45.589-60.439l29.583-8.452C163.711 349.212 206.592 352 224 352c17.489 0 60.312-2.807 100.828-35.763l29.583 8.452c26.985 7.71 45.589 32.374 45.589 60.439v21.729z\"] };\nvar faUsers = { prefix: 'far', iconName: 'users', icon: [640, 512, [], \"f0c0\", \"M134.393 416H61.714C27.685 416 0 388.315 0 354.286V321.85c0-31.788 17.975-69.824 58.851-85.553C51.924 223.036 48 207.969 48 192c0-52.935 43.065-96 96-96 20.507 0 39.531 6.467 55.145 17.464-8.4 16.203-13.453 34.012-14.786 52.567C175.815 152.781 160.938 144 144 144c-26.51 0-48 21.49-48 48s21.49 48 48 48a47.87 47.87 0 0 0 17.15-3.167 124.93 124.93 0 0 0-13.131 17.216c-6.534 10.303-11.575 21.603-14.968 33.318a95.31 95.31 0 0 1-36.928-12.181l-16.474 4.707C60.915 285.245 48 302.367 48 321.85v32.436C48 361.86 54.14 368 61.714 368H128v14.857A88.68 88.68 0 0 0 134.393 416zm446.756-179.703C588.076 223.036 592 207.969 592 192c0-52.935-43.065-96-96-96-20.508 0-39.532 6.468-55.147 17.465 8.401 16.205 13.455 34.014 14.789 52.566C464.185 152.781 479.062 144 496 144c26.51 0 48 21.49 48 48s-21.49 48-48 48a47.87 47.87 0 0 1-17.146-3.166 124.976 124.976 0 0 1 13.218 17.361c6.488 10.264 11.499 21.514 14.876 33.171a95.314 95.314 0 0 0 36.93-12.181l16.474 4.707C579.085 285.245 592 302.367 592 321.85v32.436c0 7.574-6.14 13.714-13.714 13.714H512v14.857A88.68 88.68 0 0 1 505.607 416h72.679c34.03 0 61.714-27.685 61.714-61.714V321.85c0-31.789-17.994-69.832-58.851-85.553zM488 322.313v60.544c0 35.92-29.223 65.143-65.143 65.143H217.143C181.223 448 152 418.777 152 382.857v-60.544c0-36.205 20.874-79.42 67.673-96.41C212.04 210.592 208 193.607 208 176c0-61.959 50.148-112 112-112 61.959 0 112 50.147 112 112 0 17.607-4.04 34.592-11.673 49.903C467.314 242.961 488 286.348 488 322.313zM256 176c0 35.346 28.654 64 64 64s64-28.654 64-64-28.654-64-64-64-64 28.654-64 64zm184 146.313c0-24.354-16.144-45.756-39.561-52.447l-13.683-3.91C367.561 280.264 344.375 288 320 288s-47.561-7.736-66.756-22.044l-13.683 3.91C216.144 276.556 200 297.959 200 322.313v60.544c0 9.468 7.675 17.143 17.143 17.143h205.714c9.468 0 17.143-7.675 17.143-17.143v-60.544z\"] };\nvar faUtensilFork = { prefix: 'far', iconName: 'utensil-fork', icon: [512, 512, [], \"f2e3\", \"M457.4 107.3c-6.3-24.8-28.9-46.7-52.7-52.8-10.2-39.8-60-70.8-97.6-45.2C294 18.1 230.8 60.9 207 84.8c-41.3 41.3-51.2 96.4-34.6 145.5L18.2 368.2c-23.5 21-24.3 57.5-1.9 79.9l47.6 47.6c22.6 22.6 59.1 21.4 79.9-1.9l137.9-154.3c51.5 17.4 105.9 5 145.5-34.6 23.8-23.8 66.5-86.9 75.3-100.1 26.4-38.4-6.6-87.7-45.1-97.5zm5.5 70.6s-47.8 71.3-69.7 93.1c-34.3 34.3-82.6 37-123.2 9.5L108 461.9c-2.5 2.9-7.2 2.9-10.2-.1l-47.6-47.6c-2.9-2.9-3-7.6-.1-10.2l181.4-162c-27.2-40.1-25.2-88.5 9.5-123.2 21.9-21.9 93.1-69.7 93.1-69.7 8.5-6 29.6 15.3 23.2 23.6l-90.1 90.1c-7.7 9.2 13.8 31 23.2 23.6l96.4-84.7c8.4-5.9 29.3 15 23.4 23.4l-84.7 96.4c-7.4 9.4 14.4 31 23.6 23.2l90.1-90.1c8.4-6.3 29.8 14.7 23.7 23.3z\"] };\nvar faUtensilKnife = { prefix: 'far', iconName: 'utensil-knife', icon: [512, 512, [], \"f2e4\", \"M463.3 16.6c-22.1-21.1-57-22.7-79-1.7L16.7 365.1c-23.2 22.1-21.9 59.1 1.8 81.7l51 48.6c23.9 22.8 61.4 22.2 82.4-1.9l122.6-140.7c66.4 8.2 128.1-.7 176.4-46.6C492 266.9 512 210.7 512 152.6c0-47.5-14.2-103.1-48.7-136zm-45.6 254.7c-43.7 41.6-103 40.6-162.1 30L115.7 461.9c-2.9 3.4-9.1 2.5-13.1-1.3l-51-48.5c-3.9-3.8-4.8-9.3-1.8-12.2L417.4 49.7c3-2.8 8.8-2.1 12.8 1.7 40.6 38.7 53.7 157-12.5 219.9z\"] };\nvar faUtensilSpoon = { prefix: 'far', iconName: 'utensil-spoon', icon: [512, 512, [], \"f2e5\", \"M474.4 37.5c-64-64-180.7-39.7-245.2 24.8-45 45.1-57.9 98.1-40.5 153.4L18.8 368.2c-24.2 21.7-25.3 59.4-2.2 82.5l44.7 44.7c23.3 23.3 61 21.7 82.5-2.2l152.4-169.9c53.8 16.9 107.1 5.8 153.4-40.5 63.4-63.5 89.7-180.4 24.8-245.3zm-58.7 211.2c-40.3 40.3-82.9 43-132.5 17.1L108 461.1c-3.3 3.7-9.2 4-12.8.3l-44.7-44.7c-3.6-3.6-3.4-9.4.3-12.8L246 228.7c-24.2-46.5-25.3-90.1 17.1-132.5 48.3-48.3 135.1-67 177.3-24.8 44 43.9 21.1 131.5-24.7 177.3z\"] };\nvar faUtensils = { prefix: 'far', iconName: 'utensils', icon: [544, 512, [], \"f2e7\", \"M288 157.5c0-30.5-12.9-97.8-15.6-111.7C267.5 20.1 244.1 0 210.6 0c-11.4 0-23.1 2.4-33.3 7.8C167.3 2.5 155.5 0 144 0c-11.5 0-23.3 2.5-33.3 7.8C100.6 2.4 88.8 0 77.4 0 44.1 0 20.5 19.9 15.6 45.8 12.9 59.6 0 126.9 0 157.5c0 52.7 28.2 94.8 69.8 116.7L59.6 454.9c-1.8 31 23.1 57.1 54.4 57.1h60c31.3 0 56.2-26.1 54.4-57.1l-10.2-180.8c41.4-21.7 69.8-63.8 69.8-116.6zm-119.7 83.6l12.2 216.5c.2 3.4-2.7 6.4-6.5 6.4h-60c-3.7 0-6.7-2.9-6.5-6.4l12.2-216.5C77.3 233 48 201.3 48 157.5c0-27.6 14.8-102.7 14.8-102.7 1.6-9.2 28.3-9 29.5.2v113.7c.9 10.6 28.2 10.8 29.5.2l7.4-114.1c1.6-9 27.9-9 29.5 0l7.4 114.1c1.3 10.6 28.6 10.4 29.5-.2V55c1.2-9.2 27.9-9.4 29.5-.2 0 0 14.8 75.1 14.8 102.7.1 43.6-29 75.4-71.6 83.6zm221.2 69.5l-13.3 142.5c-2.9 31.6 22.7 58.9 55.8 58.9h56c30.9 0 56-24.2 56-54V54c0-29.8-25.1-54-56-54-71.8 0-168 83-168 181.7 0 60.4 35 101.2 69.5 128.9zM368 181.7C368 109.1 443.4 48 488 48c4.3 0 8 2.8 8 6v404c0 3.3-3.7 6-8 6h-56c-4.6 0-8.3-3-8-6.4l15.8-169.5c-39.6-27-71.8-59-71.8-106.4z\"] };\nvar faUtensilsAlt = { prefix: 'far', iconName: 'utensils-alt', icon: [576, 512, [], \"f2e6\", \"M0 74.1c0 114.2 47.3 199 156.1 223L88 356.6c-31.9 28.2-33.4 77.6-3.3 107.7l26.9 26c30.3 30.3 79.6 28.5 107.7-3.3l70.1-79.1c74 87.3 67.1 79.2 68.5 80.7 28.2 30.1 76.4 31.6 106.3 1.7l26-26c29.7-29.7 28.7-78.1-2-106.6l-59.4-55.2c25.5-3.9 50.3-16.2 71.3-37.2 20.7-20.7 58.4-74.8 66.1-85.9 23.5-33.6 1.2-78.9-35.8-91.9-6.4-18.5-22.8-35.3-42-42.1-12.8-36.3-58-59.6-91.9-35.8-11.2 7.8-65.2 45.4-85.9 66.1-23 23-36.3 51.4-38.3 81.4L124.4 19.9C76.9-24.2 0 9.9 0 74.1zm348.3 153.6c-33.6-33.6-40.1-81.6-3.7-118C363.4 90.9 424 49 424 49c7.3-5.3 24.1 11.8 18.6 18.9L365 145.5c-6.7 7.8 10.5 25.3 18.6 18.9l82.6-73.3c7.2-5.1 23.9 11.5 18.7 18.7l-73.3 82.6c-6.4 8.1 11 25.3 18.9 18.6l77.6-77.6c7.1-5.5 24.1 11.3 18.9 18.6 0 0-41.9 60.6-60.7 79.5-35.8 35.8-83.8 30.5-118-3.8zm-138.7 86.1l48.5 57.1-74.6 84.3c-9.9 11.2-27.3 11.7-37.8 1.1l-26-26c-10.6-10.6-10.1-27.9 1.1-37.8l88.8-78.7zM48 74c0-22.6 27-34.5 43.7-19l364 338c10.8 10 11.1 27 .7 37.4l-26 26c-10.4 10.4-27.3 10.1-37.4-.6L223.5 256C93.5 256 48 182.8 48 74z\"] };\nvar faVenus = { prefix: 'far', iconName: 'venus', icon: [288, 512, [], \"f221\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 71.4 51.9 130.6 120 142v58H76c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v44c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-44h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-58c68.1-11.4 120-70.6 120-142zm-240 0c0-52.9 43.1-96 96-96s96 43.1 96 96-43.1 96-96 96-96-43.1-96-96z\"] };\nvar faVenusDouble = { prefix: 'far', iconName: 'venus-double', icon: [512, 512, [], \"f226\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 71.4 51.9 130.6 120 142v58H76c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v44c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-44h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-58c68.1-11.4 120-70.6 120-142zm-240 0c0-52.9 43.1-96 96-96s96 43.1 96 96-43.1 96-96 96-96-43.1-96-96zm344 142v58h44c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12h-44v44c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-44h-44c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h44v-58c-24.3-4.1-46.6-14.3-65.2-28.9 10.4-12.4 19.1-26.1 25.8-41 16.9 14.9 39.1 24 63.4 24 52.9 0 96-43.1 96-96s-43.1-96-96-96c-24.3 0-46.5 9.1-63.4 24-6.7-14.9-15.4-28.7-25.8-41C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 71.4-51.9 130.6-120 142z\"] };\nvar faVenusMars = { prefix: 'far', iconName: 'venus-mars', icon: [576, 512, [], \"f228\", \"M288 208c0-79.5-64.5-144-144-144S0 128.5 0 208c0 71.4 51.9 130.6 120 142v58H76c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12h44v44c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12v-44h44c6.6 0 12-5.4 12-12v-24c0-6.6-5.4-12-12-12h-44v-58c68.1-11.4 120-70.6 120-142zm-240 0c0-52.9 43.1-96 96-96s96 43.1 96 96-43.1 96-96 96-96-43.1-96-96zM576 12v63c0 10.7-12.9 16-20.5 8.5L541 69l-55.6 55.6c16.8 23.5 26.6 52.3 26.6 83.4 0 79.5-64.5 144-144 144-33.7 0-64.6-11.6-89.2-30.9 10.4-12.4 19.1-26.1 25.8-41 16.9 14.9 39.1 24 63.4 24 52.9 0 96-43.1 96-96s-43.1-96-96-96c-24.3 0-46.5 9.1-63.4 24-6.7-14.9-15.4-28.7-25.8-41C303.4 75.6 334.3 64 368 64c31.1 0 59.9 9.9 83.4 26.6L507 35l-14.5-14.5C484.9 12.9 490.3 0 501 0h63c6.6 0 12 5.4 12 12z\"] };\nvar faVial = { prefix: 'far', iconName: 'vial', icon: [480, 512, [], \"f492\", \"M477.7 186.1L309.9 18.3c-1.6-1.6-3.6-2.3-5.7-2.3-2 0-4.1.8-5.7 2.3l-22.3 22.3c-3.1 3.1-3.1 8.2 0 11.3L287.5 63 30.1 320.4c-40.1 40.1-40.1 105.4 0 145.5 40.1 40 105.3 40.1 145.5 0L433 208.5l11.1 11.1c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l22.3-22.3c3-3 3-8.1-.1-11.2zM141.6 432c-21.3 21.3-56.1 21.5-77.6 0-21.4-21.4-21.4-56.2 0-77.6l50.4-50.4h155.2l-128 128zm176-176H162.4L321 97.4l77.6 77.6-81 81z\"] };\nvar faVials = { prefix: 'far', iconName: 'vials', icon: [640, 512, [], \"f493\", \"M72 48h24v288c0 44.1 35.9 80 80 80s80-35.9 80-80V48h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8zm72 0h64v112h-64V48zm0 160h64v128c0 42.3-64 42.3-64 0V208zm488 256H8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h624c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8zM360 48h24v288c0 44.1 35.9 80 80 80s80-35.9 80-80V48h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8zm72 0h64v112h-64V48zm0 160h64v128c0 42.3-64 42.3-64 0V208z\"] };\nvar faVideo = { prefix: 'far', iconName: 'video', icon: [576, 512, [], \"f03d\", \"M543.9 96c-6.2 0-12.5 1.8-18.2 5.7L416 170.1v-58.3c0-26.4-23.2-47.8-51.8-47.8H51.8C23.2 64 0 85.4 0 111.8v288.4C0 426.6 23.2 448 51.8 448h312.4c28.6 0 51.8-21.4 51.8-47.8v-58.3l109.7 68.3c5.7 4 12.1 5.7 18.2 5.7 16.6 0 32.1-13 32.1-31.5V127.5C576 109 560.5 96 543.9 96zM368 200v198.9c-.6.4-1.8 1.1-3.8 1.1H51.8c-2 0-3.2-.6-3.8-1.1V113.1c.6-.4 1.8-1.1 3.8-1.1h312.4c2 0 3.2.6 3.8 1.1V200zm160 155.2l-112-69.8v-58.7l112-69.8v198.3z\"] };\nvar faVideoPlus = { prefix: 'far', iconName: 'video-plus', icon: [576, 512, [], \"f4e1\", \"M543.9 96c-6.2 0-12.5 1.8-18.2 5.7L416 170.1v-58.3c0-26.4-23.2-47.8-51.8-47.8H51.8C23.2 64 0 85.4 0 111.8v288.4C0 426.6 23.2 448 51.8 448h312.4c28.6 0 51.8-21.4 51.8-47.8v-58.3l109.7 68.3c5.7 4 12.1 5.7 18.2 5.7 16.6 0 32.1-13 32.1-31.5V127.5C576 109 560.5 96 543.9 96zM368 398.9c-.6.4-1.8 1.1-3.8 1.1H51.8c-2 0-3.2-.6-3.8-1.1V113.1c.6-.4 1.8-1.1 3.8-1.1h312.4c2 0 3.2.6 3.8 1.1v285.8zm160-43.7l-112-69.8v-58.7l112-69.8v198.3zM288 232h-56v-56c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v56h-56c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h56v56c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-56h56c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16z\"] };\nvar faVideoSlash = { prefix: 'far', iconName: 'video-slash', icon: [640, 512, [], \"f4e2\", \"M396.2 112c2 0 3.2.6 3.8 1.1v114.1l48 37.5v-38l112-69.8v195.4l47 36.8c.2-1.6 1-2.9 1-4.6v-257C608 109 592.5 96 575.9 96c-6.2 0-12.5 1.8-18.2 5.7L448 170.1v-58.3c0-26.4-23.2-47.8-51.8-47.8H191.3l61.4 48h143.5zM634 471L479.5 350.2 400 288.1 115.6 65.7l-2.2-1.7L36 3.5C29.1-2 19-.9 13.5 6l-10 12.5C-2 25.4-.9 35.5 6 41l44.3 34.6 39 30.5L604 508.5c6.9 5.5 17 4.4 22.5-2.5l10-12.5c5.5-6.9 4.4-17-2.5-22.5zM83.8 400c-2 0-3.2-.6-3.8-1.1V159.8l-48-37.5v277.9c0 26.4 23.2 47.8 51.8 47.8h312.4c13.8 0 26.3-5.1 35.6-13.2L387.3 400H83.8z\"] };\nvar faVolleyballBall = { prefix: 'far', iconName: 'volleyball-ball', icon: [496, 512, [], \"f45f\", \"M248 8C111.2 8 0 119.2 0 256s111.2 248 248 248 248-111.2 248-248S384.8 8 248 8zm146.6 383.6c-75.3 12.7-152.6-4.5-215.7-47.8 19.8-23.6 43.5-43.9 70.3-60.3 95 51.4 177.4 40.1 187.1 39.3-9.2 25.8-23.5 49.1-41.7 68.8zm52.5-118.1c-18.9 2.6-37.9 3.5-56.8 2.3 5.6-68.4-10.3-136.3-45-194.4 28.8 16.2 111.9 76.6 101.8 192.1zM291.9 61c48.8 58.9 72.6 134.6 66.7 211-30.2-5.3-59.6-15.6-87.1-30.5-1.8-65.7-22.6-128.5-59.9-182 12-2.2 41.1-7.3 80.3 1.5zM163.7 74.9C175.4 90 185.6 106 194 122.8c-62 29.3-112.9 77-145.9 136.2-1.3-87.3 52-154.4 115.6-184.1zM57.1 315.7c26.6-71.8 80.2-130.4 149.4-163.5 10.5 28.8 16.3 59.4 17.1 90.7-56 34.4-100 83.8-127.6 142.8-17.3-20.3-30.7-44-38.9-70zm76.2 103.9c7.1-17.6 15.9-34.2 26.1-49.9 33.7 23.3 98.9 59.2 190.8 57.9-30 17.9-64.8 28.4-102.2 28.4-42.7 0-82.2-13.6-114.7-36.4z\"] };\nvar faVolumeDown = { prefix: 'far', iconName: 'volume-down', icon: [384, 512, [], \"f027\", \"M215.029 71.058L126.059 160H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h102.059l88.971 88.949c15.033 15.034 40.97 4.464 40.97-16.971V88.029c0-21.315-25.861-32.078-40.971-16.971zM208 366.059l-55.029-55.029A23.997 23.997 0 0 0 136 304H48v-96h88c6.365 0 12.47-2.529 16.971-7.029L208 145.941v220.118zM384 256c0 28.854-14.167 55.903-37.896 72.354-10.892 7.55-25.843 4.845-33.397-6.05-7.552-10.894-4.844-25.846 6.05-33.397A40.061 40.061 0 0 0 336 256c0-14.052-7.169-26.823-19.176-34.162-11.311-6.913-14.875-21.685-7.962-32.994s21.686-14.875 32.993-7.962C368.245 197.011 384 225.092 384 256z\"] };\nvar faVolumeMute = { prefix: 'far', iconName: 'volume-mute', icon: [640, 512, [], \"f2e2\", \"M606.05 509.511L4.684 40.535C-.569 36.494-1.552 28.96 2.489 23.707L17.122 4.684C21.163-.569 28.697-1.552 33.95 2.489l601.366 468.977c5.253 4.041 6.236 11.575 2.195 16.828l-14.633 19.022c-4.04 5.253-11.575 6.236-16.828 2.195zM415.909 259.78c.054-1.257.091-2.516.091-3.78 0-30.908-15.755-58.989-42.145-75.118-11.308-6.913-26.08-3.348-32.993 7.962a23.918 23.918 0 0 0-3.367 9.786l78.414 61.15zm-17.08-119.905C437.879 163.753 464 206.804 464 256c0 12.741-1.796 25.253-5.208 37.223l39.985 31.182C507.384 302.934 512 279.762 512 256c0-65.831-34.755-124.438-88.13-157.076-11.308-6.914-26.081-3.354-32.996 7.956-6.915 11.308-3.353 26.08 7.955 32.995zm50.01-81.96C515.58 98.73 560 172.265 560 256c0 34.673-7.789 68.352-22.17 98.861l38.648 30.14C596.893 345.687 608 301.549 608 256c0-100.58-53.232-189.568-134.118-239.035-11.306-6.914-26.08-3.356-32.996 7.953-6.915 11.308-3.355 26.081 7.953 32.997zm-53.68 327.712a23.9 23.9 0 0 0 4.201 15.622c6.248 9.006 17.55 12.405 27.433 9.047l-31.634-24.669zm71.902 56.073a232.572 232.572 0 0 1-7.009 5.079c-10.892 7.554-13.598 22.507-6.043 33.398 7.554 10.893 22.507 13.596 33.398 6.043a280.725 280.725 0 0 0 18.636-14.119L467.061 441.7zM240 264.626v101.432l-55.029-55.029A24 24 0 0 0 168 304H80v-96h87.388l-61.55-48H56c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h102.059l88.971 88.949c15.033 15.034 40.97 4.464 40.97-16.971V302.059l-48-37.433zm48-104.596V88.029c0-21.315-25.861-32.078-40.971-16.971l-32.043 32.032L288 160.03z\"] };\nvar faVolumeOff = { prefix: 'far', iconName: 'volume-off', icon: [256, 512, [], \"f026\", \"M215.029 71.058L126.059 160H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h102.059l88.971 88.949c15.033 15.034 40.97 4.464 40.97-16.971V88.029c0-21.315-25.861-32.078-40.971-16.971zM208 366.059l-55.029-55.029A23.997 23.997 0 0 0 136 304H48v-96h88c6.365 0 12.47-2.529 16.971-7.029L208 145.941v220.118z\"] };\nvar faVolumeUp = { prefix: 'far', iconName: 'volume-up', icon: [576, 512, [], \"f028\", \"M215.029 71.058L126.059 160H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h102.059l88.971 88.949c15.033 15.034 40.97 4.464 40.97-16.971V88.029c0-21.315-25.861-32.078-40.971-16.971zM208 366.059l-55.029-55.029A23.997 23.997 0 0 0 136 304H48v-96h88c6.365 0 12.47-2.529 16.971-7.029L208 145.941v220.118zM576 256c0 91.784-45.081 177.849-120.592 230.221-10.891 7.553-25.844 4.85-33.398-6.043-7.555-10.892-4.849-25.845 6.043-33.398C490.637 403.372 528 332.053 528 256c0-83.735-44.42-157.27-111.161-198.085-11.308-6.916-14.868-21.688-7.953-32.996 6.916-11.309 21.69-14.867 32.996-7.953C522.768 66.432 576 155.42 576 256zM400.759 407.291c-10.89 7.552-25.842 4.851-33.399-6.042-7.555-10.891-4.85-25.845 6.042-33.399C410.094 342.398 432 300.585 432 256c0-49.196-26.121-92.247-65.171-116.125-11.308-6.915-14.87-21.688-7.955-32.996 6.915-11.309 21.688-14.87 32.996-7.956C445.245 131.562 480 190.169 480 256c0 60.315-29.623 116.873-79.241 151.291zM384 256c0 28.854-14.167 55.903-37.896 72.354-10.892 7.55-25.843 4.845-33.397-6.05-7.552-10.894-4.844-25.846 6.05-33.397A40.061 40.061 0 0 0 336 256c0-14.052-7.169-26.823-19.176-34.162-11.311-6.913-14.875-21.685-7.962-32.994s21.686-14.875 32.993-7.962C368.245 197.011 384 225.092 384 256z\"] };\nvar faWarehouse = { prefix: 'far', iconName: 'warehouse', icon: [640, 512, [], \"f494\", \"M504 208H136c-22.1 0-40 17.9-40 40v248c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-48h352v48c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-22.1-17.9-40-40-40zm-8 208H144v-64h352v64zm0-96H144v-64h352v64zm101.9-209.9L346.3 5.3c-17-7-35.7-7.1-52.6 0L42.1 110.1C16.5 120.7 0 145.5 0 173.2V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V173.2c0-8.3 4.9-15.7 12.5-18.8L312.2 49.6c5.1-2.1 10.6-2.1 15.7 0l251.6 104.8c7.6 3.2 12.5 10.6 12.5 18.8V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V173.2c0-27.7-16.5-52.5-42.1-63.1z\"] };\nvar faWarehouseAlt = { prefix: 'far', iconName: 'warehouse-alt', icon: [640, 512, [], \"f495\", \"M528 352H352V240c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM304 464H144v-64h160v64zm0-128H144v-64h160v64zm192 128H352v-64h144v64zm101.9-353.9L346.3 5.3c-17-7-35.7-7.1-52.6 0L42.1 110.1C16.5 120.7 0 145.5 0 173.2V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V173.2c0-8.3 4.9-15.7 12.5-18.8L312.2 49.6c5.1-2.1 10.6-2.1 15.7 0l251.6 104.8c7.6 3.2 12.5 10.6 12.5 18.8V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V173.2c0-27.7-16.5-52.5-42.1-63.1z\"] };\nvar faWatch = { prefix: 'far', iconName: 'watch', icon: [384, 512, [], \"f2e1\", \"M320 112.9V24c0-13.2-10.8-24-24-24H88C74.8 0 64 10.8 64 24v88.9C24.7 148 0 199.1 0 256s24.7 108 64 143.1V488c0 13.2 10.8 24 24 24h208c13.2 0 24-10.8 24-24v-88.9c39.3-35.1 64-86.2 64-143.1s-24.7-108-64-143.1zM104 40h176v45.3C253.6 71.7 223.7 64 192 64s-61.6 7.7-88 21.3V40zm176 432H104v-45.3c26.4 13.6 56.3 21.3 88 21.3s61.6-7.7 88-21.3V472zm-88-72c-78.9 0-144-63.8-144-144 0-78.6 63.5-144 144-144 78.9 0 144 63.8 144 144 0 78.6-63.5 144-144 144zm38.3-71.6l-61.1-41.6c-3.3-2.2-5.2-5.9-5.2-9.9V164c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v89.6l41.9 28.5c5.5 3.7 6.9 11.2 3.2 16.7l-18 26.4c-3.8 5.5-11.3 6.9-16.8 3.2z\"] };\nvar faWeight = { prefix: 'far', iconName: 'weight', icon: [512, 512, [], \"f496\", \"M448 64h-64.8C353.9 25.4 308.1 0 256 0s-97.9 25.4-127.2 64H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM256 48c61.9 0 112 50.1 112 112s-50.1 112-112 112-112-50.1-112-112S194.1 48 256 48zm208 400c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16h40.2c-4.8 15.2-8.2 31.2-8.2 48 0 88.2 71.8 160 160 160s160-71.8 160-160c0-16.8-3.3-32.8-8.2-48H448c8.8 0 16 7.2 16 16v320zM256 240c17.7 0 32-14.3 32-32 0-8.1-3.3-15.2-8.2-20.8l23.4-70.1c6.7-20.1-23.6-30.2-30.4-10.1l-23.5 70.4C235 180.5 224 192.7 224 208c0 17.7 14.3 32 32 32z\"] };\nvar faWheelchair = { prefix: 'far', iconName: 'wheelchair', icon: [512, 512, [], \"f193\", \"M500.1 399.78l10.65 21.494c2.937 5.928.522 13.116-5.399 16.067l-63.278 32.164c-12.134 6.014-26.981.801-32.571-11.723L344.431 312H184.003c-12.03 0-22.203-8.908-23.792-20.833C125.74 32.641 128.263 52.443 128 48c0-27.152 22.544-49.038 49.935-47.962 24.787.974 44.979 21.107 46.021 45.892 1.06 25.208-17.335 46.326-41.405 49.614L192.212 168H340c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H198.613l6.4 48H360a23.999 23.999 0 0 1 21.916 14.218l61.233 137.185 40.834-21.029c5.943-2.971 13.168-.547 16.117 5.406zM313.291 360h-11.558C290.467 419.146 238.377 464 176 464c-70.579 0-128-57.421-128-128 0-43.765 22.083-82.463 55.686-105.556l-6.884-51.587C39.428 207.89 0 267.423 0 336c0 97.047 78.953 176 176 176 70.605 0 131.621-41.797 159.636-101.941L313.291 360z\"] };\nvar faWhistle = { prefix: 'far', iconName: 'whistle', icon: [640, 512, [], \"f460\", \"M250.6 254c0 22.3-18.1 40.4-40.4 40.4s-40.4-18.1-40.4-40.4c0-22.3 18.1-40.4 40.4-40.4s40.4 18.1 40.4 40.4zm231.9-50.2L633.9 325c6.8 5.5 8.1 15.3 2.8 22.3l-79 105.3c-4.9 6.5-13.9 8.4-20.9 4.3l-151.7-86.8c-7.6 11.4-16.4 22.3-26.5 32.4-41 41-94.7 61.5-148.5 61.5-157 0-258.4-166.6-186.8-306A64.714 64.714 0 0 1 .2 108.4c0-35.6 29-64.6 64.6-64.6 19.2 0 36.9 8.8 49.1 23.4C144 51.7 177 44.1 210 44.1c86.7 0 126.5 42.9 194.5 97.3 5.3 4.3 7.4 11.4 5.2 17.9L399.5 189c-1.1 3.2-.1 6.8 2.6 8.9l25.5 20.4c2.6 2.1 6.3 2.4 9.2.6l27.5-16.4c5.7-3.4 13-2.9 18.2 1.3zM41 129.8c6.3-8.5 13-16.8 20.7-24.5 7.8-7.8 16.1-14.6 24.7-20.9-5.9-5.3-13.5-8.3-21.6-8.3-17.8 0-32.3 14.5-32.3 32.3 0 8.1 3.3 15.6 8.5 21.4zm533.5 219.7c2.6-3.5 2-8.4-1.4-11.2l-103.4-82.7-32.3 19.2c-5.8 3.4-13.1 2.9-18.3-1.3L349.6 218c-5.3-4.3-7.4-11.4-5.2-17.9l12.1-35.2s-52-41.5-60.6-47.8C262.1 95.9 170.5 65 96 139.5 33 202.5 33 305 96 368c30.5 30.5 71.1 47.5 114.2 47.5 102.1 0 142.2-83.7 159.7-109.9L530 397.2c3.5 2 8 1.1 10.5-2.2l34-45.5z\"] };\nvar faWifi = { prefix: 'far', iconName: 'wifi', icon: [640, 512, [], \"f1eb\", \"M320 368c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32m0-48c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm206.08-31.833c4.648-4.87 4.406-12.638-.589-17.152-116.522-105.321-294.391-105.384-410.982 0-4.995 4.514-5.238 12.282-.589 17.152l16.577 17.367c4.491 4.706 11.893 4.951 16.732.604 98.101-88.128 247.347-88.213 345.542 0 4.839 4.347 12.241 4.102 16.732-.604l16.577-17.367zM635.722 155.51C457.688-9.308 182.014-9.032 4.278 155.51c-4.933 4.567-5.213 12.272-.571 17.135l16.58 17.371c4.513 4.728 11.993 4.987 16.793.55 159.398-147.374 406.318-147.489 565.84 0 4.8 4.438 12.279 4.179 16.793-.55l16.58-17.371c4.642-4.863 4.363-12.568-.571-17.135z\"] };\nvar faWindow = { prefix: 'far', iconName: 'window', icon: [512, 512, [], \"f40e\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-208 80c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm-96 0c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm-96 0c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm400 314c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"] };\nvar faWindowAlt = { prefix: 'far', iconName: 'window-alt', icon: [512, 512, [], \"f40f\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-80 80c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm-96 0c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm-96 0c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm272 314c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"] };\nvar faWindowClose = { prefix: 'far', iconName: 'window-close', icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"] };\nvar faWindowMaximize = { prefix: 'far', iconName: 'window-maximize', icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"] };\nvar faWindowMinimize = { prefix: 'far', iconName: 'window-minimize', icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"] };\nvar faWindowRestore = { prefix: 'far', iconName: 'window-restore', icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"] };\nvar faWineGlass = { prefix: 'far', iconName: 'wine-glass', icon: [288, 512, [], \"f4e3\", \"M200 464h-32V349.4c72.7-12.4 126.3-79.5 119.4-156.7l-16-178.1C270.7 6.3 263.9 0 255.7 0H32.3c-8.2 0-15 6.3-15.7 14.6L.6 192.7C-6.3 269.9 47.3 337 120 349.4V464H88.1c-37.2 0-50 48-32 48h175.8c18.1 0 5.2-48-31.9-48zM61.1 48H227l7.2 80H53.9l7.2-80zm11.5 224c-18.5-20.6-27.4-47.3-24.9-75l1.9-21h188.8l1.9 21c2.5 27.8-6.4 54.4-24.9 75s-43.9 32-71.4 32-52.9-11.3-71.4-32z\"] };\nvar faWonSign = { prefix: 'far', iconName: 'won-sign', icon: [576, 512, [], \"f159\", \"M564 168c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-46.143l17.275-72.837c1.788-7.538-3.929-14.769-11.676-14.769h-30.772a12 12 0 0 0-11.702 9.342L463.204 120h-129.98l-18.909-78.419a12.001 12.001 0 0 0-11.666-9.187h-31.597a12.001 12.001 0 0 0-11.666 9.187L240.479 120H112.602L95.529 41.833a12 12 0 0 0-11.724-9.439h-28.8c-7.717 0-13.428 7.179-11.693 14.698L60.137 120H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h59.214l11.077 48H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h81.367l47.698 206.698A12 12 0 0 0 152.758 480h42.01a12.001 12.001 0 0 0 11.666-9.187L256.295 264h61.111l49.862 206.813A12 12 0 0 0 378.934 480h44.054a12 12 0 0 0 11.676-9.231L483.704 264H564c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-68.912l11.384-48H564zm-440.914 0h105.818l-11.574 48h-83.761l-10.483-48zm59.327 192.808c-5.738 24.726-8.607 47.55-8.607 47.55h-1.148s-2.295-23.458-7.46-47.55L144.053 264h61.703l-23.343 96.808zM267.868 216l6.358-26.373c1.697-7.03 3.289-14.444 4.725-21.627h15.8c1.436 7.183 3.027 14.597 4.724 21.627L305.834 216h-37.966zm140.637 144.808c-5.738 24.092-7.46 47.55-7.46 47.55h-1.147s-2.869-22.824-8.607-47.55L367.947 264h62.548l-21.99 96.808zM441.397 216h-85.025l-11.574-48H452.3l-10.903 48z\"] };\nvar faWrench = { prefix: 'far', iconName: 'wrench', icon: [512, 512, [], \"f0ad\", \"M136 400c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24zm354.561-159.964C462.709 288.181 410.757 320 352 320a160.433 160.433 0 0 1-32.288-3.261L150.226 486.206c-34.395 34.395-90.062 34.389-124.451 0-34.31-34.312-34.31-90.14 0-124.451l169.487-169.468A160.344 160.344 0 0 1 192 160C192 71.642 263.627 0 352 0c58.748 0 110.705 31.811 138.561 79.964C509.068 111.956 485.906 152 449.013 152h-93.157l-4.571 8 4.571 8h93.157c36.958 0 60.022 40.101 41.548 72.036zm-219.834 57.806c-23.299-13.741-42.851-33.31-56.568-56.568L59.716 395.716c-15.596 15.596-15.596 40.973 0 56.568 15.633 15.633 40.936 15.632 56.568 0l154.443-154.442zM449.013 216H328l-32-56 32-56h121.013C429.647 70.524 393.455 48 352 48c-61.856 0-112 50.144-112 112s50.144 112 112 112c41.455 0 77.647-22.524 97.013-56z\"] };\nvar faXRay = { prefix: 'far', iconName: 'x-ray', icon: [640, 512, [], \"f497\", \"M168 224h128v32h-96c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h96v32h-56c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48h64c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48h-56v-32h96c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8h-96v-32h128c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H344v-32h96c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8h-96V88c0-4.4-3.6-8-8-8h-32c-4.4 0-8 3.6-8 8v40h-96c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h96v32H168c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm56 144c0-21.2 32-21.2 32 0s-32 21.1-32 0zm192 0c0 21.2-32 21.1-32 0 0-21.2 32-21.2 32 0zM632 48c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H8C3.6 0 0 3.6 0 8v32c0 4.4 3.6 8 8 8h56v416H8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h624c4.4 0 8-3.6 8-8v-32c0-4.4-3.6-8-8-8h-56V48h56zM528 464H112V48h416v416z\"] };\nvar faYenSign = { prefix: 'far', iconName: 'yen-sign', icon: [384, 512, [], \"f157\", \"M347.983 32h-44.065a12.001 12.001 0 0 0-10.555 6.291l-73.76 133.313c-13.96 29.825-27.286 64.725-27.286 64.725h-1.269s-13.326-34.901-27.287-64.725L90.689 38.328A12 12 0 0 0 80.115 32H36.017c-9.157 0-14.94 9.844-10.481 17.843L119.746 216H68c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h77.18l14.775 26.267V312H68c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h91.955v108c0 6.627 5.373 12 12 12h39.456c6.627 0 12-5.373 12-12V360H316c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-92.589v-21.733L238.185 264H316c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-52.367L358.45 49.87c4.485-7.999-1.296-17.87-10.467-17.87z\"] };\nvar icons$1 = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAlarmClock: faAlarmClock,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAnchor: faAnchor,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faArchive: faArchive,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowAltDown: faArrowAltDown,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faArrowAltFromRight: faArrowAltFromRight,\n faArrowAltFromTop: faArrowAltFromTop,\n faArrowAltLeft: faArrowAltLeft,\n faArrowAltRight: faArrowAltRight,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faArrowAltToBottom: faArrowAltToBottom,\n faArrowAltToLeft: faArrowAltToLeft,\n faArrowAltToRight: faArrowAltToRight,\n faArrowAltToTop: faArrowAltToTop,\n faArrowAltUp: faArrowAltUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowFromBottom: faArrowFromBottom,\n faArrowFromLeft: faArrowFromLeft,\n faArrowFromRight: faArrowFromRight,\n faArrowFromTop: faArrowFromTop,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowSquareDown: faArrowSquareDown,\n faArrowSquareLeft: faArrowSquareLeft,\n faArrowSquareRight: faArrowSquareRight,\n faArrowSquareUp: faArrowSquareUp,\n faArrowToBottom: faArrowToBottom,\n faArrowToLeft: faArrowToLeft,\n faArrowToRight: faArrowToRight,\n faArrowToTop: faArrowToTop,\n faArrowUp: faArrowUp,\n faArrows: faArrows,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faArrowsH: faArrowsH,\n faArrowsV: faArrowsV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAudioDescription: faAudioDescription,\n faBackward: faBackward,\n faBadge: faBadge,\n faBadgeCheck: faBadgeCheck,\n faBalanceScale: faBalanceScale,\n faBan: faBan,\n faBandAid: faBandAid,\n faBarcode: faBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faBarcodeRead: faBarcodeRead,\n faBarcodeScan: faBarcodeScan,\n faBars: faBars,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBasketballHoop: faBasketballHoop,\n faBath: faBath,\n faBatteryBolt: faBatteryBolt,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatterySlash: faBatterySlash,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBeer: faBeer,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBicycle: faBicycle,\n faBinoculars: faBinoculars,\n faBirthdayCake: faBirthdayCake,\n faBlanket: faBlanket,\n faBlind: faBlind,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBook: faBook,\n faBookHeart: faBookHeart,\n faBookmark: faBookmark,\n faBowlingBall: faBowlingBall,\n faBowlingPins: faBowlingPins,\n faBox: faBox,\n faBoxAlt: faBoxAlt,\n faBoxCheck: faBoxCheck,\n faBoxFragile: faBoxFragile,\n faBoxFull: faBoxFull,\n faBoxHeart: faBoxHeart,\n faBoxOpen: faBoxOpen,\n faBoxUp: faBoxUp,\n faBoxUsd: faBoxUsd,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faBoxingGlove: faBoxingGlove,\n faBraille: faBraille,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBrowser: faBrowser,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBurn: faBurn,\n faBus: faBus,\n faCalculator: faCalculator,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarEdit: faCalendarEdit,\n faCalendarExclamation: faCalendarExclamation,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faCameraRetro: faCameraRetro,\n faCapsules: faCapsules,\n faCar: faCar,\n faCaretCircleDown: faCaretCircleDown,\n faCaretCircleLeft: faCaretCircleLeft,\n faCaretCircleRight: faCaretCircleRight,\n faCaretCircleUp: faCaretCircleUp,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCertificate: faCertificate,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartPie: faChartPie,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBishopAlt: faChessBishopAlt,\n faChessBoard: faChessBoard,\n faChessClock: faChessClock,\n faChessClockAlt: faChessClockAlt,\n faChessKing: faChessKing,\n faChessKingAlt: faChessKingAlt,\n faChessKnight: faChessKnight,\n faChessKnightAlt: faChessKnightAlt,\n faChessPawn: faChessPawn,\n faChessPawnAlt: faChessPawnAlt,\n faChessQueen: faChessQueen,\n faChessQueenAlt: faChessQueenAlt,\n faChessRook: faChessRook,\n faChessRookAlt: faChessRookAlt,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDoubleDown: faChevronDoubleDown,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faChevronDoubleRight: faChevronDoubleRight,\n faChevronDoubleUp: faChevronDoubleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronSquareDown: faChevronSquareDown,\n faChevronSquareLeft: faChevronSquareLeft,\n faChevronSquareRight: faChevronSquareRight,\n faChevronSquareUp: faChevronSquareUp,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faClub: faClub,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCodeCommit: faCodeCommit,\n faCodeMerge: faCodeMerge,\n faCoffee: faCoffee,\n faCog: faCog,\n faCogs: faCogs,\n faColumns: faColumns,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentAltCheck: faCommentAltCheck,\n faCommentAltDots: faCommentAltDots,\n faCommentAltEdit: faCommentAltEdit,\n faCommentAltExclamation: faCommentAltExclamation,\n faCommentAltLines: faCommentAltLines,\n faCommentAltMinus: faCommentAltMinus,\n faCommentAltPlus: faCommentAltPlus,\n faCommentAltSlash: faCommentAltSlash,\n faCommentAltSmile: faCommentAltSmile,\n faCommentAltTimes: faCommentAltTimes,\n faCommentCheck: faCommentCheck,\n faCommentDots: faCommentDots,\n faCommentEdit: faCommentEdit,\n faCommentExclamation: faCommentExclamation,\n faCommentLines: faCommentLines,\n faCommentMinus: faCommentMinus,\n faCommentPlus: faCommentPlus,\n faCommentSlash: faCommentSlash,\n faCommentSmile: faCommentSmile,\n faCommentTimes: faCommentTimes,\n faComments: faComments,\n faCommentsAlt: faCommentsAlt,\n faCompass: faCompass,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressWide: faCompressWide,\n faContainerStorage: faContainerStorage,\n faConveyorBelt: faConveyorBelt,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCouch: faCouch,\n faCreditCard: faCreditCard,\n faCreditCardBlank: faCreditCardBlank,\n faCreditCardFront: faCreditCardFront,\n faCricket: faCricket,\n faCrop: faCrop,\n faCrosshairs: faCrosshairs,\n faCube: faCube,\n faCubes: faCubes,\n faCurling: faCurling,\n faCut: faCut,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faDiagnoses: faDiagnoses,\n faDiamond: faDiamond,\n faDna: faDna,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyEmpty: faDollyEmpty,\n faDollyFlatbed: faDollyFlatbed,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faDonate: faDonate,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDumbbell: faDumbbell,\n faEdit: faEdit,\n faEject: faEject,\n faEllipsisH: faEllipsisH,\n faEllipsisHAlt: faEllipsisHAlt,\n faEllipsisV: faEllipsisV,\n faEllipsisVAlt: faEllipsisVAlt,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeSquare: faEnvelopeSquare,\n faEraser: faEraser,\n faEuroSign: faEuroSign,\n faExchange: faExchange,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationSquare: faExclamationSquare,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrows: faExpandArrows,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExpandWide: faExpandWide,\n faExternalLink: faExternalLink,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquare: faExternalLinkSquare,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeSlash: faEyeSlash,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFax: faFax,\n faFemale: faFemale,\n faFieldHockey: faFieldHockey,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCheck: faFileCheck,\n faFileCode: faFileCode,\n faFileEdit: faFileEdit,\n faFileExcel: faFileExcel,\n faFileExclamation: faFileExclamation,\n faFileImage: faFileImage,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFileMinus: faFileMinus,\n faFilePdf: faFilePdf,\n faFilePlus: faFilePlus,\n faFilePowerpoint: faFilePowerpoint,\n faFileTimes: faFileTimes,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFilm: faFilm,\n faFilmAlt: faFilmAlt,\n faFilter: faFilter,\n faFire: faFire,\n faFireExtinguisher: faFireExtinguisher,\n faFirstAid: faFirstAid,\n faFlag: faFlag,\n faFlagCheckered: faFlagCheckered,\n faFlask: faFlask,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFont: faFont,\n faFootballBall: faFootballBall,\n faFootballHelmet: faFootballHelmet,\n faForklift: faForklift,\n faForward: faForward,\n faFragile: faFragile,\n faFrown: faFrown,\n faFutbol: faFutbol,\n faGamepad: faGamepad,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGift: faGift,\n faGlassMartini: faGlassMartini,\n faGlobe: faGlobe,\n faGolfBall: faGolfBall,\n faGolfClub: faGolfClub,\n faGraduationCap: faGraduationCap,\n faHSquare: faHSquare,\n faH1: faH1,\n faH2: faH2,\n faH3: faH3,\n faHandHeart: faHandHeart,\n faHandHolding: faHandHolding,\n faHandHoldingBox: faHandHoldingBox,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandReceiving: faHandReceiving,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHeart: faHandsHeart,\n faHandsHelping: faHandsHelping,\n faHandsUsd: faHandsUsd,\n faHandshake: faHandshake,\n faHandshakeAlt: faHandshakeAlt,\n faHashtag: faHashtag,\n faHdd: faHdd,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeart: faHeart,\n faHeartCircle: faHeartCircle,\n faHeartSquare: faHeartSquare,\n faHeartbeat: faHeartbeat,\n faHexagon: faHexagon,\n faHistory: faHistory,\n faHockeyPuck: faHockeyPuck,\n faHockeySticks: faHockeySticks,\n faHome: faHome,\n faHomeHeart: faHomeHeart,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faICursor: faICursor,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faImage: faImage,\n faImages: faImages,\n faInbox: faInbox,\n faInboxIn: faInboxIn,\n faInboxOut: faInboxOut,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faIndustryAlt: faIndustryAlt,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faInfoSquare: faInfoSquare,\n faInventory: faInventory,\n faItalic: faItalic,\n faJackOLantern: faJackOLantern,\n faKey: faKey,\n faKeyboard: faKeyboard,\n faLamp: faLamp,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLeaf: faLeaf,\n faLeafHeart: faLeafHeart,\n faLemon: faLemon,\n faLevelDown: faLevelDown,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUp: faLevelUp,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faLink: faLink,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocationArrow: faLocationArrow,\n faLock: faLock,\n faLockAlt: faLockAlt,\n faLockOpen: faLockOpen,\n faLockOpenAlt: faLockOpenAlt,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLongArrowDown: faLongArrowDown,\n faLongArrowLeft: faLongArrowLeft,\n faLongArrowRight: faLongArrowRight,\n faLongArrowUp: faLongArrowUp,\n faLoveseat: faLoveseat,\n faLowVision: faLowVision,\n faLuchador: faLuchador,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMale: faMale,\n faMap: faMap,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMedkit: faMedkit,\n faMeh: faMeh,\n faMercury: faMercury,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneSlash: faMicrophoneSlash,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusHexagon: faMinusHexagon,\n faMinusOctagon: faMinusOctagon,\n faMinusSquare: faMinusSquare,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMobileAndroid: faMobileAndroid,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faMotorcycle: faMotorcycle,\n faMousePointer: faMousePointer,\n faMusic: faMusic,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOctagon: faOctagon,\n faOutdent: faOutdent,\n faPaintBrush: faPaintBrush,\n faPallet: faPallet,\n faPalletAlt: faPalletAlt,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenSquare: faPenSquare,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faPennant: faPennant,\n faPeopleCarry: faPeopleCarry,\n faPercent: faPercent,\n faPersonCarry: faPersonCarry,\n faPersonDolly: faPersonDolly,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPhone: faPhone,\n faPhonePlus: faPhonePlus,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneVolume: faPhoneVolume,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPlane: faPlane,\n faPlaneAlt: faPlaneAlt,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusHexagon: faPlusHexagon,\n faPlusOctagon: faPlusOctagon,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPoo: faPoo,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPrint: faPrint,\n faProcedures: faProcedures,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuestionSquare: faQuestionSquare,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faRacquet: faRacquet,\n faRampLoading: faRampLoading,\n faRandom: faRandom,\n faRectangleLandscape: faRectangleLandscape,\n faRectanglePortrait: faRectanglePortrait,\n faRectangleWide: faRectangleWide,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRegistered: faRegistered,\n faRepeat: faRepeat,\n faRepeat1: faRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faRepeatAlt: faRepeatAlt,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRetweet: faRetweet,\n faRetweetAlt: faRetweetAlt,\n faRibbon: faRibbon,\n faRoad: faRoad,\n faRocket: faRocket,\n faRoute: faRoute,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRupeeSign: faRupeeSign,\n faSave: faSave,\n faScanner: faScanner,\n faScannerKeyboard: faScannerKeyboard,\n faScannerTouchscreen: faScannerTouchscreen,\n faScrubber: faScrubber,\n faSearch: faSearch,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faServer: faServer,\n faShare: faShare,\n faShareAll: faShareAll,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faShekelSign: faShekelSign,\n faShield: faShield,\n faShieldAlt: faShieldAlt,\n faShieldCheck: faShieldCheck,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShippingTimed: faShippingTimed,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShower: faShower,\n faShuttlecock: faShuttlecock,\n faSign: faSign,\n faSignIn: faSignIn,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOut: faSignOut,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSitemap: faSitemap,\n faSlidersH: faSlidersH,\n faSlidersHSquare: faSlidersHSquare,\n faSlidersV: faSlidersV,\n faSlidersVSquare: faSlidersVSquare,\n faSmile: faSmile,\n faSmilePlus: faSmilePlus,\n faSmoking: faSmoking,\n faSnowflake: faSnowflake,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaUp: faSortAlphaUp,\n faSortAmountDown: faSortAmountDown,\n faSortAmountUp: faSortAmountUp,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericUp: faSortNumericUp,\n faSortUp: faSortUp,\n faSpaceShuttle: faSpaceShuttle,\n faSpade: faSpade,\n faSpinner: faSpinner,\n faSpinnerThird: faSpinnerThird,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faStar: faStar,\n faStarExclamation: faStarExclamation,\n faStarHalf: faStarHalf,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStreetView: faStreetView,\n faStrikethrough: faStrikethrough,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSun: faSun,\n faSuperscript: faSuperscript,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTabletAndroid: faTabletAndroid,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faTabletRugged: faTabletRugged,\n faTablets: faTablets,\n faTachometer: faTachometer,\n faTachometerAlt: faTachometerAlt,\n faTag: faTag,\n faTags: faTags,\n faTape: faTape,\n faTasks: faTasks,\n faTaxi: faTaxi,\n faTennisBall: faTennisBall,\n faTerminal: faTerminal,\n faTextHeight: faTextHeight,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faTicket: faTicket,\n faTicketAlt: faTicketAlt,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTimesHexagon: faTimesHexagon,\n faTimesOctagon: faTimesOctagon,\n faTimesSquare: faTimesSquare,\n faTint: faTint,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faTrademark: faTrademark,\n faTrain: faTrain,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTree: faTree,\n faTreeAlt: faTreeAlt,\n faTriangle: faTriangle,\n faTrophy: faTrophy,\n faTrophyAlt: faTrophyAlt,\n faTruck: faTruck,\n faTruckContainer: faTruckContainer,\n faTruckCouch: faTruckCouch,\n faTruckLoading: faTruckLoading,\n faTruckMoving: faTruckMoving,\n faTruckRamp: faTruckRamp,\n faTty: faTty,\n faTv: faTv,\n faTvRetro: faTvRetro,\n faUmbrella: faUmbrella,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUsdCircle: faUsdCircle,\n faUsdSquare: faUsdSquare,\n faUser: faUser,\n faUserAlt: faUserAlt,\n faUserCircle: faUserCircle,\n faUserMd: faUserMd,\n faUserPlus: faUserPlus,\n faUserSecret: faUserSecret,\n faUserTimes: faUserTimes,\n faUsers: faUsers,\n faUtensilFork: faUtensilFork,\n faUtensilKnife: faUtensilKnife,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faUtensilsAlt: faUtensilsAlt,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoPlus: faVideoPlus,\n faVideoSlash: faVideoSlash,\n faVolleyballBall: faVolleyballBall,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeUp: faVolumeUp,\n faWarehouse: faWarehouse,\n faWarehouseAlt: faWarehouseAlt,\n faWatch: faWatch,\n faWeight: faWeight,\n faWheelchair: faWheelchair,\n faWhistle: faWhistle,\n faWifi: faWifi,\n faWindow: faWindow,\n faWindowAlt: faWindowAlt,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWineGlass: faWineGlass,\n faWonSign: faWonSign,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign\n};\n\nbunker(function () {\n define('far', icons$1);\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (icons$1);\n\n\n//# sourceURL=webpack:///./node_modules/@fortawesome/fontawesome-pro-regular/index.es.js?"); + +/***/ }), + +/***/ "./node_modules/@fortawesome/fontawesome/index.es.js": +/*!***********************************************************!*\ + !*** ./node_modules/@fortawesome/fontawesome/index.es.js ***! + \***********************************************************/ +/*! exports provided: config, icon, noAuto, layer, text, library, dom, parse, findIconDefinition, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"config\", function() { return config; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"icon\", function() { return icon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noAuto\", function() { return noAuto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layer\", function() { return layer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"library\", function() { return library; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dom\", function() { return dom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findIconDefinition\", function() { return findIconDefinition; });\n/*!\n * Font Awesome Free 5.0.9 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER$1 = null;\nvar _PERFORMANCE = { mark: noop, measure: noop };\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER$1 = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER$1;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar 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 HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\n\nvar PRODUCTION = function () {\n try {\n return \"development\" === 'production';\n } catch (e) {\n return false;\n }\n}();\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]);\n\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\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', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter'].concat(oneToTen.map(function (n) {\n return n + 'x';\n})).concat(oneToTwenty.map(function (n) {\n return 'w-' + n;\n}));\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\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 return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar initial = WINDOW.FontAwesomeConfig || {};\nvar initialKeys = Object.keys(initial);\n\nvar _default = _extends({\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 keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}, initial);\n\nif (!_default.autoReplaceSvg) _default.observeMutations = false;\n\nvar config$1 = _extends({}, _default);\n\nWINDOW.FontAwesomeConfig = config$1;\n\nfunction update(newConfig) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$asNewDefault = params.asNewDefault,\n asNewDefault = _params$asNewDefault === undefined ? false : _params$asNewDefault;\n\n var validKeys = Object.keys(config$1);\n var ok = asNewDefault ? function (k) {\n return ~validKeys.indexOf(k) && !~initialKeys.indexOf(k);\n } : function (k) {\n return ~validKeys.indexOf(k);\n };\n\n Object.keys(newConfig).forEach(function (configKey) {\n if (ok(configKey)) config$1[configKey] = newConfig[configKey];\n });\n}\n\nfunction auto(value) {\n update({\n autoReplaceSvg: value,\n observeMutations: value\n });\n}\n\nvar w = WINDOW || {};\n\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 = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nvar domready = function (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n};\n\nvar d = UNITS_IN_GRID;\n\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 bunker(fn) {\n try {\n fn();\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\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\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 if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n\n return css;\n}\n\nvar _uniqueId = 0;\n\nfunction nextUniqueId() {\n _uniqueId++;\n\n return _uniqueId;\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 ('' + 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 + (attributeName + '=\"' + htmlEscape(attributes[attributeName]) + '\" ');\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + (styleName + ': ' + 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\n var outer = {\n transform: 'translate(' + containerWidth / 2 + ' 256)'\n };\n var innerTranslate = 'translate(' + transform.x * 32 + ', ' + transform.y * 32 + ') ';\n var innerScale = 'scale(' + transform.size / 16 * (transform.flipX ? -1 : 1) + ', ' + transform.size / 16 * (transform.flipY ? -1 : 1) + ') ';\n var innerRotate = 'rotate(' + transform.rotate + ' 0 0)';\n var inner = {\n transform: innerTranslate + ' ' + innerScale + ' ' + innerRotate\n };\n var path = {\n transform: 'translate(' + 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 === undefined ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === undefined ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === undefined ? false : _ref2$startCentered;\n\n var val = '';\n\n if (startCentered && IS_IE) {\n val += 'translate(' + (transform.x / d - width / 2) + 'em, ' + (transform.y / d - height / 2) + 'em) ';\n } else if (startCentered) {\n val += 'translate(calc(-50% + ' + transform.x / d + 'em), calc(-50% + ' + transform.y / d + 'em)) ';\n } else {\n val += 'translate(' + transform.x / d + 'em, ' + transform.y / d + 'em) ';\n }\n\n val += 'scale(' + transform.size / d * (transform.flipX ? -1 : 1) + ', ' + transform.size / d * (transform.flipY ? -1 : 1) + ') ';\n val += 'rotate(' + transform.rotate + 'deg) ';\n\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nvar makeIconMasking = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n\n\n var trans = transformForSvg({ transform: transform, containerWidth: maskWidth, iconWidth: mainWidth });\n\n var maskRect = {\n tag: 'rect',\n attributes: _extends({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroup = {\n tag: 'g',\n attributes: _extends({}, trans.inner),\n children: [{ tag: 'path', attributes: _extends({}, mainPath.attributes, trans.path, { fill: 'black' }) }]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _extends({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = 'mask-' + nextUniqueId();\n var clipId = 'clip-' + nextUniqueId();\n var maskTag = {\n tag: 'mask',\n attributes: _extends({}, 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: [{ tag: 'clipPath', attributes: { id: clipId }, children: [maskPath] }, maskTag]\n };\n\n children.push(defs, { tag: 'rect', attributes: _extends({ fill: 'currentColor', 'clip-path': 'url(#' + clipId + ')', mask: 'url(#' + maskId + ')' }, ALL_SPACE) });\n\n return {\n children: children,\n attributes: attributes\n };\n};\n\nvar makeIconStandard = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n\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({ transform: transform, containerWidth: main.width, iconWidth: main.width });\n children.push({\n tag: 'g',\n attributes: _extends({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _extends({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _extends({}, 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\nvar asIcon = function (_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\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_extends({}, styles, {\n 'transform-origin': offset.x + transform.x / 16 + 'em ' + (offset.y + transform.y / 16) + 'em'\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n};\n\nvar asSymbol = function (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n\n var id = symbol === true ? prefix + '-' + config$1.familyPrefix + '-' + iconName : symbol;\n\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _extends({}, attributes, { id: id }),\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 extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === undefined ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var widthClass = 'fa-w-' + Math.ceil(width / height * 16);\n var attrClass = [config$1.replacementClass, iconName ? config$1.familyPrefix + '-' + iconName : '', widthClass].concat(extra.classes).join(' ');\n\n var content = {\n children: [],\n attributes: _extends({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': '0 0 ' + width + ' ' + height\n })\n };\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({ tag: 'title', attributes: { id: content.attributes['aria-labelledby'] || 'title-' + nextUniqueId() }, children: [title] });\n\n var args = _extends({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n transform: transform,\n symbol: symbol,\n styles: 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 === undefined ? false : _params$watchable2;\n\n\n var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _extends({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({ transform: transform, startCentered: true, width: width, height: height });\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\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });\n }\n\n return val;\n}\n\nvar noop$2 = function noop() {};\nvar p = config$1.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$2, measure: noop$2 };\nvar preamble = 'FA \"5.0.9\"';\n\nvar begin = function begin(name) {\n p.mark(preamble + ' ' + name + ' begins');\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(preamble + ' ' + name + ' ends');\n p.measure(preamble + ' ' + name, preamble + ' ' + name + ' begins', preamble + ' ' + name + ' ends');\n};\n\nvar perf = { begin: begin, end: end };\n\n'use strict';\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4 (func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n'use strict';\n\n\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject (subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i, key, result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n }\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\nvar styles$2 = namespace.styles;\nvar shims = namespace.shims;\n\n\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles$2, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n acc[icon[3]] = iconName;\n\n return acc;\n });\n\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n\n acc[iconName] = iconName;\n\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n\n return acc;\n });\n\n var hasRegular = 'far' in styles$2;\n\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] = { prefix: prefix, 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] || { prefix: null, iconName: null };\n}\n\nvar styles$1 = namespace.styles;\n\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return { prefix: null, iconName: null, rest: [] };\n};\n\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config$1.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config$1.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 === undefined ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === undefined ? [] : _abstractNodes$childr;\n\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return '<' + tag + ' ' + joinAttributes(attributes) + '>' + children.map(toHtml).join('') + '';\n }\n}\n\nvar noop$1 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config$1.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config$1.autoReplaceSvg];\n\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$1.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];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config$1.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(config$1.familyPrefix + '-.*');\n\n delete abstract[0].attributes.style;\n\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config$1.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, { toNode: [], toSvg: [] });\n\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\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 perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$1;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = WINDOW.requestAnimationFrame || function (op) {\n return op();\n };\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n\n mutations.map(mutator);\n\n mark();\n\n callbackFunction();\n });\n }\n}\n\nvar disabled = false;\n\nfunction disableObservation(operation) {\n disabled = true;\n operation();\n disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n if (!MUTATION_OBSERVER) return;\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback;\n\n\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config$1.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config$1.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\n if (!IS_DOM) return;\n\n mo.observe(DOCUMENT.getElementsByTagName('body')[0], {\n childList: true, attributes: true, characterData: true, subtree: true\n });\n}\n\nfunction disconnect() {\n if (!mo) return;\n\n mo.disconnect();\n}\n\nvar styleParser = function (node) {\n var style = node.getAttribute('style');\n\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 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\nvar classParser = function (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\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 case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\n\nvar transformParser = function (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n};\n\nvar symbolParser = function (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n\n return symbol === null ? false : symbol === '' ? true : symbol;\n};\n\nvar attributesParser = function (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n\n var title = node.getAttribute('title');\n\n if (config$1.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();\n } else {\n extraAttributes['aria-hidden'] = 'true';\n }\n }\n\n return extraAttributes;\n};\n\nvar maskParser = function (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 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\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\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;\n\nvar FILL = { fill: 'currentColor' };\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _extends({}, 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};\nvar OPACITY_ANIMATE = _extends({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\nvar DOT = {\n tag: 'circle',\n attributes: _extends({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{ tag: 'animate', attributes: _extends({}, ANIMATION_BASE, { attributeName: 'r', values: '28;14;28;28;14;28;' }) }, { tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;1;1;0;1;' }) }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _extends({}, 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: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;0;0;0;1;' }) }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _extends({}, 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: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '0;0;1;1;0;0;' }) }]\n};\n\nvar missing = { tag: 'g', children: [RING, DOT, QUESTION, EXCLAMATION] };\n\nvar styles = namespace.styles;\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Brands)/;\nvar STYLE_TO_PREFIX = {\n 'Solid': 'fas',\n 'Regular': 'far',\n 'Light': 'fal',\n 'Brands': 'fab'\n};\n\nfunction findIcon(iconName, prefix) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles[prefix] && styles[prefix][iconName]) {\n var icon = styles[prefix][iconName];\n var width = icon[0];\n var height = icon[1];\n var vectorData = icon.slice(4);\n\n val = {\n found: true,\n width: width,\n height: height,\n icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n };\n } else if (iconName && prefix && !config$1.showMissingIcons) {\n throw new MissingIcon('Icon is missing for prefix ' + prefix + ' with icon name ' + iconName);\n }\n\n return val;\n}\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n extra = nodeMeta.extra;\n\n\n return [node, makeInlineSvgAbstract({\n icons: {\n main: findIcon(iconName, prefix),\n mask: findIcon(mask.iconName, mask.prefix)\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n title: title,\n extra: extra,\n watchable: true\n })];\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n\n\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$1.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return [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 remove(node) {\n if (typeof node.remove === 'function') {\n node.remove();\n } else if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n\n var end = perf.begin('searchPseudoElements');\n\n disableObservation(function () {\n toArray(root.querySelectorAll('*')).forEach(function (node) {\n [':before', ':after'].forEach(function (pos) {\n var styles = WINDOW.getComputedStyle(node, pos);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var children = toArray(node.children);\n var pseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === pos;\n })[0];\n\n if (pseudoElement) {\n if (pseudoElement.nextSibling && pseudoElement.nextSibling.textContent.indexOf(DATA_FA_PSEUDO_ELEMENT) > -1) {\n remove(pseudoElement.nextSibling);\n }\n remove(pseudoElement);\n pseudoElement = null;\n }\n\n if (fontFamily && !pseudoElement) {\n var content = styles.getPropertyValue('content');\n var i = DOCUMENT.createElement('i');\n i.setAttribute('class', '' + STYLE_TO_PREFIX[fontFamily[1]]);\n i.setAttribute(DATA_FA_PSEUDO_ELEMENT, pos);\n i.innerText = content.length === 3 ? content.substr(1, 1) : content;\n if (pos === ':before') {\n node.insertBefore(i, node.firstChild);\n } else {\n node.appendChild(i);\n }\n }\n });\n });\n });\n\n end();\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!IS_DOM) return;\n\n var htmlClassList = DOCUMENT.documentElement.classList;\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n };\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n };\n var prefixes = Object.keys(styles);\n var prefixesDomQuery = ['.' + LAYERS_TEXT_CLASSNAME + ':not([' + DATA_FA_I2SVG + '])'].concat(prefixes.map(function (p) {\n return '.' + p + ':not([' + DATA_FA_I2SVG + '])';\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = toArray(root.querySelectorAll(prefixesDomQuery));\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\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\n mark();\n\n perform(mutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n\n if (typeof callback === 'function') callback();\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var mutation = generateMutation(node);\n\n if (mutation) {\n perform([mutation], callback);\n }\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible; }\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -.125em; }\\n .svg-inline--fa.fa-lg {\\n vertical-align: -.225em; }\\n .svg-inline--fa.fa-w-1 {\\n width: 0.0625em; }\\n .svg-inline--fa.fa-w-2 {\\n width: 0.125em; }\\n .svg-inline--fa.fa-w-3 {\\n width: 0.1875em; }\\n .svg-inline--fa.fa-w-4 {\\n width: 0.25em; }\\n .svg-inline--fa.fa-w-5 {\\n width: 0.3125em; }\\n .svg-inline--fa.fa-w-6 {\\n width: 0.375em; }\\n .svg-inline--fa.fa-w-7 {\\n width: 0.4375em; }\\n .svg-inline--fa.fa-w-8 {\\n width: 0.5em; }\\n .svg-inline--fa.fa-w-9 {\\n width: 0.5625em; }\\n .svg-inline--fa.fa-w-10 {\\n width: 0.625em; }\\n .svg-inline--fa.fa-w-11 {\\n width: 0.6875em; }\\n .svg-inline--fa.fa-w-12 {\\n width: 0.75em; }\\n .svg-inline--fa.fa-w-13 {\\n width: 0.8125em; }\\n .svg-inline--fa.fa-w-14 {\\n width: 0.875em; }\\n .svg-inline--fa.fa-w-15 {\\n width: 0.9375em; }\\n .svg-inline--fa.fa-w-16 {\\n width: 1em; }\\n .svg-inline--fa.fa-w-17 {\\n width: 1.0625em; }\\n .svg-inline--fa.fa-w-18 {\\n width: 1.125em; }\\n .svg-inline--fa.fa-w-19 {\\n width: 1.1875em; }\\n .svg-inline--fa.fa-w-20 {\\n width: 1.25em; }\\n .svg-inline--fa.fa-pull-left {\\n margin-right: .3em;\\n width: auto; }\\n .svg-inline--fa.fa-pull-right {\\n margin-left: .3em;\\n width: auto; }\\n .svg-inline--fa.fa-border {\\n height: 1.5em; }\\n .svg-inline--fa.fa-li {\\n width: 2em; }\\n .svg-inline--fa.fa-fw {\\n width: 1.25em; }\\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.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -.125em;\\n width: 1em; }\\n .fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center; }\\n\\n.fa-layers-text, .fa-layers-counter {\\n display: inline-block;\\n position: absolute;\\n text-align: center; }\\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.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: .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.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.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.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.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.fa-lg {\\n font-size: 1.33333em;\\n line-height: 0.75em;\\n vertical-align: -.0667em; }\\n\\n.fa-xs {\\n font-size: .75em; }\\n\\n.fa-sm {\\n font-size: .875em; }\\n\\n.fa-1x {\\n font-size: 1em; }\\n\\n.fa-2x {\\n font-size: 2em; }\\n\\n.fa-3x {\\n font-size: 3em; }\\n\\n.fa-4x {\\n font-size: 4em; }\\n\\n.fa-5x {\\n font-size: 5em; }\\n\\n.fa-6x {\\n font-size: 6em; }\\n\\n.fa-7x {\\n font-size: 7em; }\\n\\n.fa-8x {\\n font-size: 8em; }\\n\\n.fa-9x {\\n font-size: 9em; }\\n\\n.fa-10x {\\n font-size: 10em; }\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em; }\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0; }\\n .fa-ul > li {\\n position: relative; }\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit; }\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: .1em;\\n padding: .2em .25em .15em; }\\n\\n.fa-pull-left {\\n float: left; }\\n\\n.fa-pull-right {\\n float: right; }\\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: .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: .3em; }\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear; }\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8); }\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\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.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\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.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.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.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: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 -webkit-filter: none;\\n filter: none; }\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2em; }\\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.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1em; }\\n\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2em; }\\n\\n.fa-inverse {\\n color: #fff; }\\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.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\nvar css = function () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config$1.familyPrefix;\n var rc = config$1.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp('\\\\.' + dfp + '\\\\-', 'g');\n var rPatt = new RegExp('\\\\.' + drc, 'g');\n\n s = s.replace(dPatt, '.' + fp + '-').replace(rPatt, '.' + rc);\n }\n\n return s;\n};\n\nfunction define(prefix, icons) {\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 return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function') {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n define('fa', icons);\n }\n}\n\nvar Library = 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 = Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _extends({}, _this.definitions[key] || {}, additions[key]);\n define(key, additions[key]);\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 ? { 0: definition } : definition;\n\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\n\n if (!additions[prefix]) additions[prefix] = {};\n\n additions[prefix][iconName] = icon;\n });\n\n return additions;\n }\n }]);\n return Library;\n}();\n\nfunction prepIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n var vectorData = icon.slice(4);\n\n return {\n found: true,\n width: width,\n height: height,\n icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n };\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (!config$1.autoAddCss) {\n return;\n }\n\n if (!_cssInserted) {\n insertCss(css());\n }\n\n _cssInserted = true;\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\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\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n\n return val;\n}\n\nfunction findIconDefinition(params) {\n var _params$prefix = params.prefix,\n prefix = _params$prefix === undefined ? 'fa' : _params$prefix,\n iconName = params.iconName;\n\n\n if (!iconName) return;\n\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\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n\n var mask = params.mask;\n\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _extends({}, params, { mask: mask }));\n };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n auto(false);\n disconnect();\n};\n\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\n var _params$node = params.node,\n node = _params$node === undefined ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === undefined ? function () {} : _params$callback;\n\n\n if (config$1.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n onTree(node, callback);\n }\n },\n\n css: css,\n\n insertCss: function insertCss$$1() {\n insertCss(css());\n }\n};\n\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\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 === undefined ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === undefined ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === undefined ? null : _params$mask,\n _params$title = params.title,\n title = _params$title === undefined ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === undefined ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === undefined ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === undefined ? {} : _params$styles;\n\n\n if (!iconDefinition) return;\n\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n\n\n return apiObject(_extends({ type: 'icon' }, iconDefinition), function () {\n ensureCss();\n\n if (config$1.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();\n } else {\n attributes['aria-hidden'] = 'true';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: prepIcon(icon),\n mask: mask ? prepIcon(mask.icon) : { found: false, width: null, height: null, icon: {} }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _extends({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\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 === undefined ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === undefined ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === undefined ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === undefined ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === undefined ? {} : _params$styles2;\n\n\n return apiObject({ type: 'text', content: content }, function () {\n ensureCss();\n\n return makeLayersTextAbstract({\n content: content,\n transform: _extends({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [config$1.familyPrefix + '-layers-text'].concat(toConsumableArray(classes))\n }\n });\n });\n};\n\nvar layer = function layer(assembler) {\n return apiObject({ type: 'layer' }, function () {\n ensureCss();\n\n var children = [];\n\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\n return [{\n tag: 'span',\n attributes: { class: config$1.familyPrefix + '-layers' },\n children: children\n }];\n });\n};\n\nvar api$1 = {\n noAuto: noAuto,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n layer: layer\n};\n\nvar autoReplace = function autoReplace() {\n if (IS_DOM && config$1.autoReplaceSvg) api$1.dom.i2svg({ node: DOCUMENT });\n};\n\nfunction bootstrap() {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api$1;\n }\n\n domready(function () {\n if (Object.keys(namespace.styles).length > 0) {\n autoReplace();\n }\n\n if (config$1.observeMutations && typeof MutationObserver === 'function') {\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements\n });\n }\n });\n }\n\n namespace.hooks = _extends({}, namespace.hooks, {\n\n addPack: function addPack(prefix, icons) {\n namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, icons);\n\n build();\n autoReplace();\n },\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\nObject.defineProperty(api$1, 'config', {\n get: function get() {\n return config$1;\n },\n\n set: function set(newConfig) {\n update(newConfig);\n }\n});\n\nif (IS_DOM) bunker(bootstrap);\n\nvar config = api$1.config;\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (api$1);\n\n\n//# sourceURL=webpack:///./node_modules/@fortawesome/fontawesome/index.es.js?"); + +/***/ }), + +/***/ "./node_modules/@fortawesome/react-fontawesome/index.es.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@fortawesome/react-fontawesome/index.es.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _fortawesome_fontawesome__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @fortawesome/fontawesome */ \"./node_modules/@fortawesome/fontawesome/index.es.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n// =========\n// = humps =\n// =========\n// Underscore-to-camelCase converter (and vice versa)\n// for strings and object keys\n\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n\n\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var children = (element.children || []).map(convert.bind(null, createElement));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[humps.camelize(key)] = val;\n }\n }\n\n return acc;\n }, { attrs: {} });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === undefined ? {} : _extraProps$style,\n remaining = objectWithoutProperties(extraProps, ['style']);\n\n\n mixins.attrs['style'] = _extends({}, mixins.attrs['style'], existingStyle);\n\n return createElement.apply(undefined, [element.tag, _extends({}, mixins.attrs, remaining)].concat(toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = \"development\" === 'production';\n} catch (e) {}\n\nvar log = function () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n};\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction normalizeIconArgs(icon) {\n if (icon === null) {\n return null;\n }\n\n if ((typeof icon === 'undefined' ? 'undefined' : _typeof(icon)) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n }\n\n if (Array.isArray(icon) && icon.length === 2) {\n return { prefix: icon[0], iconName: icon[1] };\n }\n\n if (typeof icon === 'string') {\n return { prefix: 'fas', iconName: icon };\n }\n}\n\nfunction FontAwesomeIcon$1(props) {\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className;\n\n\n var icon = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(toConsumableArray(classList(props)), toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? _fortawesome_fontawesome__WEBPACK_IMPORTED_MODULE_0__[\"default\"].parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = _fortawesome_fontawesome__WEBPACK_IMPORTED_MODULE_0__[\"default\"].icon(icon, _extends({}, classes, transform, mask, {\n symbol: symbol\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', icon);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement);\n var extraProps = {};\n\n Object.keys(props).forEach(function (key) {\n if (!FontAwesomeIcon$1.defaultProps.hasOwnProperty(key)) extraProps[key] = props[key];\n });\n\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon$1.propTypes = {\n border: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n mask: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n fixedWidth: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n flip: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['horizontal', 'vertical', 'both']),\n\n icon: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n listItem: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n pull: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['right', 'left']),\n\n pulse: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n name: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n rotation: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf([90, 180, 270]),\n\n size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n\n spin: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n symbol: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n transform: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object])\n};\n\nFontAwesomeIcon$1.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n name: '',\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n transform: null\n};\n\n_fortawesome_fontawesome__WEBPACK_IMPORTED_MODULE_0__[\"default\"].noAuto();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (FontAwesomeIcon$1);\n\n\n//# sourceURL=webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/index.js": +/*!****************************************!*\ + !*** ./node_modules/d3-array/index.js ***! + \****************************************/ +/*! exports provided: bisect, bisectRight, bisectLeft, ascending, bisector, cross, descending, deviation, extent, histogram, thresholdFreedmanDiaconis, thresholdScott, thresholdSturges, max, mean, median, merge, min, pairs, permute, quantile, range, scan, shuffle, sum, ticks, tickIncrement, tickStep, transpose, variance, zip */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_bisect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisect\", function() { return _src_bisect__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return _src_bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectRight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return _src_bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectLeft\"]; });\n\n/* harmony import */ var _src_ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ascending\", function() { return _src_ascending__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_bisector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/bisector */ \"./node_modules/d3-array/src/bisector.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisector\", function() { return _src_bisector__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_cross__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/cross */ \"./node_modules/d3-array/src/cross.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cross\", function() { return _src_cross__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_descending__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/descending */ \"./node_modules/d3-array/src/descending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"descending\", function() { return _src_descending__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_deviation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/deviation */ \"./node_modules/d3-array/src/deviation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deviation\", function() { return _src_deviation__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _src_extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extent\", function() { return _src_extent__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_histogram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/histogram */ \"./node_modules/d3-array/src/histogram.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"histogram\", function() { return _src_histogram__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _src_threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/threshold/freedmanDiaconis */ \"./node_modules/d3-array/src/threshold/freedmanDiaconis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdFreedmanDiaconis\", function() { return _src_threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _src_threshold_scott__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/threshold/scott */ \"./node_modules/d3-array/src/threshold/scott.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdScott\", function() { return _src_threshold_scott__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _src_threshold_sturges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdSturges\", function() { return _src_threshold_sturges__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _src_max__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/max */ \"./node_modules/d3-array/src/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _src_max__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _src_mean__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/mean */ \"./node_modules/d3-array/src/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _src_mean__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _src_median__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/median */ \"./node_modules/d3-array/src/median.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return _src_median__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_merge__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/merge */ \"./node_modules/d3-array/src/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _src_merge__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _src_min__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/min */ \"./node_modules/d3-array/src/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _src_min__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _src_pairs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/pairs */ \"./node_modules/d3-array/src/pairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pairs\", function() { return _src_pairs__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _src_permute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/permute */ \"./node_modules/d3-array/src/permute.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return _src_permute__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _src_quantile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/quantile */ \"./node_modules/d3-array/src/quantile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return _src_quantile__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _src_range__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./src/range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _src_range__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _src_scan__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./src/scan */ \"./node_modules/d3-array/src/scan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return _src_scan__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _src_shuffle__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./src/shuffle */ \"./node_modules/d3-array/src/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _src_shuffle__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _src_sum__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./src/sum */ \"./node_modules/d3-array/src/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _src_sum__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _src_ticks__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./src/ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ticks\", function() { return _src_ticks__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickIncrement\", function() { return _src_ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickIncrement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickStep\", function() { return _src_ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickStep\"]; });\n\n/* harmony import */ var _src_transpose__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./src/transpose */ \"./node_modules/d3-array/src/transpose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return _src_transpose__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _src_variance__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./src/variance */ \"./node_modules/d3-array/src/variance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"variance\", function() { return _src_variance__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _src_zip__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./src/zip */ \"./node_modules/d3-array/src/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _src_zip__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/array.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/array.js ***! + \********************************************/ +/*! exports provided: slice, map */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\nvar map = array.map;\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/ascending.js": +/*!************************************************!*\ + !*** ./node_modules/d3-array/src/ascending.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/ascending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/bisect.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-array/src/bisect.js ***! + \*********************************************/ +/*! exports provided: bisectRight, bisectLeft, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return bisectRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return bisectLeft; });\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisector */ \"./node_modules/d3-array/src/bisector.js\");\n\n\n\nvar ascendingBisect = Object(_bisector__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar bisectRight = ascendingBisect.right;\nvar bisectLeft = ascendingBisect.left;\n/* harmony default export */ __webpack_exports__[\"default\"] = (bisectRight);\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/bisect.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/bisector.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-array/src/bisector.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n});\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return Object(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(f(d), x);\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/bisector.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/constant.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-array/src/constant.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/cross.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/cross.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pairs */ \"./node_modules/d3-array/src/pairs.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = _pairs__WEBPACK_IMPORTED_MODULE_0__[\"pair\"];\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/cross.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/descending.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-array/src/descending.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/descending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/deviation.js": +/*!************************************************!*\ + !*** ./node_modules/d3-array/src/deviation.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./variance */ \"./node_modules/d3-array/src/variance.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n var v = Object(_variance__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, f);\n return v ? Math.sqrt(v) : v;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/deviation.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/extent.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-array/src/extent.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/extent.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/histogram.js": +/*!************************************************!*\ + !*** ./node_modules/d3-array/src/histogram.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-array/src/array.js\");\n/* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-array/src/constant.js\");\n/* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./identity */ \"./node_modules/d3-array/src/identity.js\");\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var value = _identity__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n domain = _extent__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n threshold = _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = Object(_ticks__WEBPACK_IMPORTED_MODULE_6__[\"tickStep\"])(x0, x1, tz);\n tz = Object(_range__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[Object(_bisect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : threshold;\n };\n\n return histogram;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/histogram.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/identity.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-array/src/identity.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/max.js": +/*!******************************************!*\ + !*** ./node_modules/d3-array/src/max.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/max.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/mean.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-array/src/mean.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/mean.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/median.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-array/src/median.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quantile */ \"./node_modules/d3-array/src/quantile.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return Object(_quantile__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(numbers.sort(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), 0.5);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/median.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/merge.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/merge.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/merge.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/min.js": +/*!******************************************!*\ + !*** ./node_modules/d3-array/src/min.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/min.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/number.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-array/src/number.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x === null ? NaN : +x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/number.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/pairs.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/pairs.js ***! + \********************************************/ +/*! exports provided: default, pair */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pair\", function() { return pair; });\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n});\n\nfunction pair(a, b) {\n return [a, b];\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/pairs.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/permute.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-array/src/permute.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/permute.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/quantile.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-array/src/quantile.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, p, valueof) {\n if (valueof == null) valueof = _number__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/quantile.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/range.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/range.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/range.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/scan.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-array/src/scan.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = _ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/scan.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/shuffle.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-array/src/shuffle.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/shuffle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/sum.js": +/*!******************************************!*\ + !*** ./node_modules/d3-array/src/sum.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/sum.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/threshold/freedmanDiaconis.js": +/*!*****************************************************************!*\ + !*** ./node_modules/d3-array/src/threshold/freedmanDiaconis.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../array */ \"./node_modules/d3-array/src/array.js\");\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../number */ \"./node_modules/d3-array/src/number.js\");\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../quantile */ \"./node_modules/d3-array/src/quantile.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, min, max) {\n values = _array__WEBPACK_IMPORTED_MODULE_0__[\"map\"].call(values, _number__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).sort(_ascending__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return Math.ceil((max - min) / (2 * (Object(_quantile__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(values, 0.75) - Object(_quantile__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/threshold/scott.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-array/src/threshold/scott.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _deviation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../deviation */ \"./node_modules/d3-array/src/deviation.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * Object(_deviation__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(values) * Math.pow(values.length, -1 / 3)));\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/threshold/scott.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/threshold/sturges.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-array/src/threshold/sturges.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/threshold/sturges.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/ticks.js": +/*!********************************************!*\ + !*** ./node_modules/d3-array/src/ticks.js ***! + \********************************************/ +/*! exports provided: default, tickIncrement, tickStep */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tickIncrement\", function() { return tickIncrement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tickStep\", function() { return tickStep; });\nvar e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n});\n\nfunction tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nfunction tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/ticks.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/transpose.js": +/*!************************************************!*\ + !*** ./node_modules/d3-array/src/transpose.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./min */ \"./node_modules/d3-array/src/min.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = Object(_min__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n});\n\nfunction length(d) {\n return d.length;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/transpose.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/variance.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-array/src/variance.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/variance.js?"); + +/***/ }), + +/***/ "./node_modules/d3-array/src/zip.js": +/*!******************************************!*\ + !*** ./node_modules/d3-array/src/zip.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transpose */ \"./node_modules/d3-array/src/transpose.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_transpose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-array/src/zip.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/index.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-collection/index.js ***! + \*********************************************/ +/*! exports provided: nest, set, map, keys, values, entries */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_nest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/nest */ \"./node_modules/d3-collection/src/nest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nest\", function() { return _src_nest__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_set__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/set */ \"./node_modules/d3-collection/src/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _src_set__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/map */ \"./node_modules/d3-collection/src/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _src_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_keys__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/keys */ \"./node_modules/d3-collection/src/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _src_keys__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/values */ \"./node_modules/d3-collection/src/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _src_values__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_entries__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/entries */ \"./node_modules/d3-collection/src/entries.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return _src_entries__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/entries.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-collection/src/entries.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/entries.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/keys.js": +/*!************************************************!*\ + !*** ./node_modules/d3-collection/src/keys.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/keys.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/map.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-collection/src/map.js ***! + \***********************************************/ +/*! exports provided: prefix, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prefix\", function() { return prefix; });\nvar prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (map);\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/map.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/nest.js": +/*!************************************************!*\ + !*** ./node_modules/d3-collection/src/nest.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map */ \"./node_modules/d3-collection/src/map.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = Object(_map__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n});\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return Object(_map__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/nest.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/set.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-collection/src/set.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map */ \"./node_modules/d3-collection/src/map.js\");\n\n\nfunction Set() {}\n\nvar proto = _map__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[_map__WEBPACK_IMPORTED_MODULE_0__[\"prefix\"] + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (set);\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/set.js?"); + +/***/ }), + +/***/ "./node_modules/d3-collection/src/values.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-collection/src/values.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-collection/src/values.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/index.js": +/*!****************************************!*\ + !*** ./node_modules/d3-color/index.js ***! + \****************************************/ +/*! exports provided: color, rgb, hsl, lab, hcl, cubehelix */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/color */ \"./node_modules/d3-color/src/color.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"color\", function() { return _src_color__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return _src_color__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hsl\", function() { return _src_color__WEBPACK_IMPORTED_MODULE_0__[\"hsl\"]; });\n\n/* harmony import */ var _src_lab__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/lab */ \"./node_modules/d3-color/src/lab.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lab\", function() { return _src_lab__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hcl\", function() { return _src_lab__WEBPACK_IMPORTED_MODULE_1__[\"hcl\"]; });\n\n/* harmony import */ var _src_cubehelix__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/cubehelix */ \"./node_modules/d3-color/src/cubehelix.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cubehelix\", function() { return _src_cubehelix__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/src/color.js": +/*!********************************************!*\ + !*** ./node_modules/d3-color/src/color.js ***! + \********************************************/ +/*! exports provided: Color, darker, brighter, default, rgbConvert, rgb, Rgb, hslConvert, hsl */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Color\", function() { return Color; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darker\", function() { return darker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"brighter\", function() { return brighter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return color; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgbConvert\", function() { return rgbConvert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return rgb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Rgb\", function() { return Rgb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hslConvert\", function() { return hslConvert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hsl\", function() { return hsl; });\n/* harmony import */ var _define__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./define */ \"./node_modules/d3-color/src/define.js\");\n\n\nfunction Color() {}\n\nvar darker = 0.7;\nvar brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Color, color, {\n displayable: function() {\n return this.rgb().displayable();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nfunction color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nfunction rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nfunction rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nfunction Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Rgb, rgb, Object(_define__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nfunction hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nfunction hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Hsl, hsl, Object(_define__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/src/color.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/src/cubehelix.js": +/*!************************************************!*\ + !*** ./node_modules/d3-color/src/cubehelix.js ***! + \************************************************/ +/*! exports provided: default, Cubehelix */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return cubehelix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Cubehelix\", function() { return Cubehelix; });\n/* harmony import */ var _define__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./define */ \"./node_modules/d3-color/src/define.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-color/src/color.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-color/src/math.js\");\n\n\n\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof _color__WEBPACK_IMPORTED_MODULE_1__[\"Rgb\"])) o = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"rgbConvert\"])(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * _math__WEBPACK_IMPORTED_MODULE_2__[\"rad2deg\"] - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nfunction cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cubehelix, cubehelix, Object(_define__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(_color__WEBPACK_IMPORTED_MODULE_1__[\"Color\"], {\n brighter: function(k) {\n k = k == null ? _color__WEBPACK_IMPORTED_MODULE_1__[\"brighter\"] : Math.pow(_color__WEBPACK_IMPORTED_MODULE_1__[\"brighter\"], k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? _color__WEBPACK_IMPORTED_MODULE_1__[\"darker\"] : Math.pow(_color__WEBPACK_IMPORTED_MODULE_1__[\"darker\"], k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * _math__WEBPACK_IMPORTED_MODULE_2__[\"deg2rad\"],\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new _color__WEBPACK_IMPORTED_MODULE_1__[\"Rgb\"](\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/src/cubehelix.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/src/define.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-color/src/define.js ***! + \*********************************************/ +/*! exports provided: default, extend */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return extend; });\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n});\n\nfunction extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/src/define.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/src/lab.js": +/*!******************************************!*\ + !*** ./node_modules/d3-color/src/lab.js ***! + \******************************************/ +/*! exports provided: default, Lab, hcl, Hcl */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lab; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Lab\", function() { return Lab; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hcl\", function() { return hcl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Hcl\", function() { return Hcl; });\n/* harmony import */ var _define__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./define */ \"./node_modules/d3-color/src/define.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-color/src/color.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-color/src/math.js\");\n\n\n\n\nvar Kn = 18,\n Xn = 0.950470, // D65 standard referent\n Yn = 1,\n Zn = 1.088830,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n var h = o.h * _math__WEBPACK_IMPORTED_MODULE_2__[\"deg2rad\"];\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof _color__WEBPACK_IMPORTED_MODULE_1__[\"Rgb\"])) o = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"rgbConvert\"])(o);\n var b = rgb2xyz(o.r),\n a = rgb2xyz(o.g),\n l = rgb2xyz(o.b),\n x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn),\n y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn),\n z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn);\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nfunction lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nfunction Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Lab, lab, Object(_define__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(_color__WEBPACK_IMPORTED_MODULE_1__[\"Color\"], {\n brighter: function(k) {\n return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n y = Yn * lab2xyz(y);\n x = Xn * lab2xyz(x);\n z = Zn * lab2xyz(z);\n return new _color__WEBPACK_IMPORTED_MODULE_1__[\"Rgb\"](\n xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB\n xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z),\n xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction xyz2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2xyz(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n var h = Math.atan2(o.b, o.a) * _math__WEBPACK_IMPORTED_MODULE_2__[\"rad2deg\"];\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nfunction hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nObject(_define__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Hcl, hcl, Object(_define__WEBPACK_IMPORTED_MODULE_0__[\"extend\"])(_color__WEBPACK_IMPORTED_MODULE_1__[\"Color\"], {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/src/lab.js?"); + +/***/ }), + +/***/ "./node_modules/d3-color/src/math.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-color/src/math.js ***! + \*******************************************/ +/*! exports provided: deg2rad, rad2deg */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deg2rad\", function() { return deg2rad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rad2deg\", function() { return rad2deg; });\nvar deg2rad = Math.PI / 180;\nvar rad2deg = 180 / Math.PI;\n\n\n//# sourceURL=webpack:///./node_modules/d3-color/src/math.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/index.js": +/*!******************************************!*\ + !*** ./node_modules/d3-contour/index.js ***! + \******************************************/ +/*! exports provided: contours, contourDensity */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_contours__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/contours */ \"./node_modules/d3-contour/src/contours.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"contours\", function() { return _src_contours__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_density__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/density */ \"./node_modules/d3-contour/src/density.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"contourDensity\", function() { return _src_density__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/area.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-contour/src/area.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/area.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/array.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-contour/src/array.js ***! + \**********************************************/ +/*! exports provided: slice */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/ascending.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-contour/src/ascending.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a - b;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/ascending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/blur.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-contour/src/blur.js ***! + \*********************************************/ +/*! exports provided: blurX, blurY */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blurX\", function() { return blurX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blurY\", function() { return blurY; });\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nfunction blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nfunction blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/blur.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/constant.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-contour/src/constant.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/contains.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-contour/src/contains.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n});\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/contains.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/contours.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-contour/src/contours.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-contour/src/array.js\");\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-contour/src/ascending.js\");\n/* harmony import */ var _area__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./area */ \"./node_modules/d3-contour/src/area.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-contour/src/constant.js\");\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./contains */ \"./node_modules/d3-contour/src/contains.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./noop */ \"./node_modules/d3-contour/src/noop.js\");\n\n\n\n\n\n\n\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var dx = 1,\n dy = 1,\n threshold = d3_array__WEBPACK_IMPORTED_MODULE_0__[\"thresholdSturges\"],\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"extent\"])(values), start = domain[0], stop = domain[1];\n tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickStep\"])(start, stop, tz);\n tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(_ascending__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (Object(_area__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (Object(_contains__WEBPACK_IMPORTED_MODULE_5__[\"default\"])((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : _noop__WEBPACK_IMPORTED_MODULE_6__[\"default\"], contours) : smooth === smoothLinear;\n };\n\n return contours;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/contours.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/density.js": +/*!************************************************!*\ + !*** ./node_modules/d3-contour/src/density.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-contour/src/array.js\");\n/* harmony import */ var _blur__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blur */ \"./node_modules/d3-contour/src/blur.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-contour/src/constant.js\");\n/* harmony import */ var _contours__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./contours */ \"./node_modules/d3-contour/src/contours.js\");\n\n\n\n\n\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x = defaultX,\n y = defaultY,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (x(d, i, data) + o) >> k,\n yi = (y(d, i, data) + o) >> k;\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n ++values0[xi + yi * n];\n }\n });\n\n // TODO Optimize.\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurX\"])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurY\"])({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurX\"])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurY\"])({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurX\"])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(_blur__WEBPACK_IMPORTED_MODULE_2__[\"blurY\"])({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"max\"])(values0);\n tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickStep\"])(0, stop, tz);\n tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return Object(_contours__WEBPACK_IMPORTED_MODULE_4__[\"default\"])()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+_), density) : y;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/density.js?"); + +/***/ }), + +/***/ "./node_modules/d3-contour/src/noop.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-contour/src/noop.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {});\n\n\n//# sourceURL=webpack:///./node_modules/d3-contour/src/noop.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/index.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-format/index.js ***! + \*****************************************/ +/*! exports provided: formatDefaultLocale, format, formatPrefix, formatLocale, formatSpecifier, precisionFixed, precisionPrefix, precisionRound */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/defaultLocale */ \"./node_modules/d3-format/src/defaultLocale.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDefaultLocale\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"format\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatPrefix\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"formatPrefix\"]; });\n\n/* harmony import */ var _src_locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/locale */ \"./node_modules/d3-format/src/locale.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatLocale\", function() { return _src_locale__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_formatSpecifier__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/formatSpecifier */ \"./node_modules/d3-format/src/formatSpecifier.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatSpecifier\", function() { return _src_formatSpecifier__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_precisionFixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/precisionFixed */ \"./node_modules/d3-format/src/precisionFixed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"precisionFixed\", function() { return _src_precisionFixed__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_precisionPrefix__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/precisionPrefix */ \"./node_modules/d3-format/src/precisionPrefix.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"precisionPrefix\", function() { return _src_precisionPrefix__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_precisionRound__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/precisionRound */ \"./node_modules/d3-format/src/precisionRound.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"precisionRound\", function() { return _src_precisionRound__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/defaultLocale.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-format/src/defaultLocale.js ***! + \*****************************************************/ +/*! exports provided: format, formatPrefix, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatPrefix\", function() { return formatPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return defaultLocale; });\n/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale */ \"./node_modules/d3-format/src/locale.js\");\n\n\nvar locale;\nvar format;\nvar formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nfunction defaultLocale(definition) {\n locale = Object(_locale__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/defaultLocale.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/exponent.js": +/*!************************************************!*\ + !*** ./node_modules/d3-format/src/exponent.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _formatDecimal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal */ \"./node_modules/d3-format/src/formatDecimal.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x = Object(_formatDecimal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.abs(x)), x ? x[1] : NaN;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/exponent.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatDecimal.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-format/src/formatDecimal.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimal(1.23) returns [\"123\", 0].\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatDecimal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatDefault.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-format/src/formatDefault.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, p) {\n x = x.toPrecision(p);\n\n out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (x[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n case \"e\": break out;\n default: if (i0 > 0) i0 = 0; break;\n }\n }\n\n return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatDefault.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatGroup.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-format/src/formatGroup.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatGroup.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatNumerals.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-format/src/formatNumerals.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatNumerals.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatPrefixAuto.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-format/src/formatPrefixAuto.js ***! + \********************************************************/ +/*! exports provided: prefixExponent, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prefixExponent\", function() { return prefixExponent; });\n/* harmony import */ var _formatDecimal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal */ \"./node_modules/d3-format/src/formatDecimal.js\");\n\n\nvar prefixExponent;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, p) {\n var d = Object(_formatDecimal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + Object(_formatDecimal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatPrefixAuto.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatRounded.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-format/src/formatRounded.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _formatDecimal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDecimal */ \"./node_modules/d3-format/src/formatDecimal.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, p) {\n var d = Object(_formatDecimal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatRounded.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatSpecifier.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-format/src/formatSpecifier.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatSpecifier; });\n/* harmony import */ var _formatTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatTypes */ \"./node_modules/d3-format/src/formatTypes.js\");\n\n\n// [[fill]align][sign][symbol][0][width][,][.precision][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?([a-z%])?$/i;\n\nfunction formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n\n var match,\n fill = match[1] || \" \",\n align = match[2] || \">\",\n sign = match[3] || \"-\",\n symbol = match[4] || \"\",\n zero = !!match[5],\n width = match[6] && +match[6],\n comma = !!match[7],\n precision = match[8] && +match[8].slice(1),\n type = match[9] || \"\";\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // Map invalid types to the default format.\n else if (!_formatTypes__WEBPACK_IMPORTED_MODULE_0__[\"default\"][type]) type = \"\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n this.fill = fill;\n this.align = align;\n this.sign = sign;\n this.symbol = symbol;\n this.zero = zero;\n this.width = width;\n this.comma = comma;\n this.precision = precision;\n this.type = type;\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + this.type;\n};\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatSpecifier.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/formatTypes.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-format/src/formatTypes.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _formatDefault__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formatDefault */ \"./node_modules/d3-format/src/formatDefault.js\");\n/* harmony import */ var _formatPrefixAuto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatPrefixAuto */ \"./node_modules/d3-format/src/formatPrefixAuto.js\");\n/* harmony import */ var _formatRounded__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatRounded */ \"./node_modules/d3-format/src/formatRounded.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n \"\": _formatDefault__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return Object(_formatRounded__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x * 100, p); },\n \"r\": _formatRounded__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n \"s\": _formatPrefixAuto__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/formatTypes.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/identity.js": +/*!************************************************!*\ + !*** ./node_modules/d3-format/src/identity.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/locale.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-format/src/locale.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent */ \"./node_modules/d3-format/src/exponent.js\");\n/* harmony import */ var _formatGroup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatGroup */ \"./node_modules/d3-format/src/formatGroup.js\");\n/* harmony import */ var _formatNumerals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatNumerals */ \"./node_modules/d3-format/src/formatNumerals.js\");\n/* harmony import */ var _formatSpecifier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formatSpecifier */ \"./node_modules/d3-format/src/formatSpecifier.js\");\n/* harmony import */ var _formatTypes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./formatTypes */ \"./node_modules/d3-format/src/formatTypes.js\");\n/* harmony import */ var _formatPrefixAuto__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./formatPrefixAuto */ \"./node_modules/d3-format/src/formatPrefixAuto.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./identity */ \"./node_modules/d3-format/src/identity.js\");\n\n\n\n\n\n\n\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(locale) {\n var group = locale.grouping && locale.thousands ? Object(_formatGroup__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(locale.grouping, locale.thousands) : _identity__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? Object(_formatNumerals__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(locale.numerals) : _identity__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = Object(_formatSpecifier__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n type = specifier.type;\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = _formatTypes__WEBPACK_IMPORTED_MODULE_4__[\"default\"][type],\n maybeSuffix = !type || /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision == null ? (type ? 6 : 12)\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Perform the initial formatting.\n var valueNegative = value < 0;\n value = formatType(Math.abs(value), precision);\n\n // If a negative value rounds to zero during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + _formatPrefixAuto__WEBPACK_IMPORTED_MODULE_5__[\"prefixExponent\"] / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = Object(_formatSpecifier__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/locale.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/precisionFixed.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-format/src/precisionFixed.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent */ \"./node_modules/d3-format/src/exponent.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(step) {\n return Math.max(0, -Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.abs(step)));\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/precisionFixed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/precisionPrefix.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-format/src/precisionPrefix.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent */ \"./node_modules/d3-format/src/exponent.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) / 3))) * 3 - Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.abs(step)));\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/precisionPrefix.js?"); + +/***/ }), + +/***/ "./node_modules/d3-format/src/precisionRound.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-format/src/precisionRound.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exponent */ \"./node_modules/d3-format/src/exponent.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(max) - Object(_exponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(step)) + 1;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-format/src/precisionRound.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/index.js": +/*!**************************************!*\ + !*** ./node_modules/d3-geo/index.js ***! + \**************************************/ +/*! exports provided: geoArea, geoBounds, geoCentroid, geoCircle, geoClipAntimeridian, geoClipCircle, geoClipExtent, geoClipRectangle, geoContains, geoDistance, geoGraticule, geoGraticule10, geoInterpolate, geoLength, geoPath, geoAlbers, geoAlbersUsa, geoAzimuthalEqualArea, geoAzimuthalEqualAreaRaw, geoAzimuthalEquidistant, geoAzimuthalEquidistantRaw, geoConicConformal, geoConicConformalRaw, geoConicEqualArea, geoConicEqualAreaRaw, geoConicEquidistant, geoConicEquidistantRaw, geoEquirectangular, geoEquirectangularRaw, geoGnomonic, geoGnomonicRaw, geoIdentity, geoProjection, geoProjectionMutator, geoMercator, geoMercatorRaw, geoNaturalEarth1, geoNaturalEarth1Raw, geoOrthographic, geoOrthographicRaw, geoStereographic, geoStereographicRaw, geoTransverseMercator, geoTransverseMercatorRaw, geoRotation, geoStream, geoTransform */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_area__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/area */ \"./node_modules/d3-geo/src/area.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoArea\", function() { return _src_area__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_bounds__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/bounds */ \"./node_modules/d3-geo/src/bounds.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoBounds\", function() { return _src_bounds__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_centroid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/centroid */ \"./node_modules/d3-geo/src/centroid.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoCentroid\", function() { return _src_centroid__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_circle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/circle */ \"./node_modules/d3-geo/src/circle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoCircle\", function() { return _src_circle__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_clip_antimeridian__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/clip/antimeridian */ \"./node_modules/d3-geo/src/clip/antimeridian.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoClipAntimeridian\", function() { return _src_clip_antimeridian__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_clip_circle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/clip/circle */ \"./node_modules/d3-geo/src/clip/circle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoClipCircle\", function() { return _src_clip_circle__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _src_clip_extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/clip/extent */ \"./node_modules/d3-geo/src/clip/extent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoClipExtent\", function() { return _src_clip_extent__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_clip_rectangle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/clip/rectangle */ \"./node_modules/d3-geo/src/clip/rectangle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoClipRectangle\", function() { return _src_clip_rectangle__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _src_contains__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/contains */ \"./node_modules/d3-geo/src/contains.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoContains\", function() { return _src_contains__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _src_distance__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/distance */ \"./node_modules/d3-geo/src/distance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoDistance\", function() { return _src_distance__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _src_graticule__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/graticule */ \"./node_modules/d3-geo/src/graticule.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoGraticule\", function() { return _src_graticule__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoGraticule10\", function() { return _src_graticule__WEBPACK_IMPORTED_MODULE_10__[\"graticule10\"]; });\n\n/* harmony import */ var _src_interpolate__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/interpolate */ \"./node_modules/d3-geo/src/interpolate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoInterpolate\", function() { return _src_interpolate__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _src_length__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/length */ \"./node_modules/d3-geo/src/length.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoLength\", function() { return _src_length__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _src_path_index__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/path/index */ \"./node_modules/d3-geo/src/path/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoPath\", function() { return _src_path_index__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_projection_albers__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/projection/albers */ \"./node_modules/d3-geo/src/projection/albers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAlbers\", function() { return _src_projection_albers__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _src_projection_albersUsa__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/projection/albersUsa */ \"./node_modules/d3-geo/src/projection/albersUsa.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAlbersUsa\", function() { return _src_projection_albersUsa__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _src_projection_azimuthalEqualArea__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/projection/azimuthalEqualArea */ \"./node_modules/d3-geo/src/projection/azimuthalEqualArea.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAzimuthalEqualArea\", function() { return _src_projection_azimuthalEqualArea__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAzimuthalEqualAreaRaw\", function() { return _src_projection_azimuthalEqualArea__WEBPACK_IMPORTED_MODULE_16__[\"azimuthalEqualAreaRaw\"]; });\n\n/* harmony import */ var _src_projection_azimuthalEquidistant__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/projection/azimuthalEquidistant */ \"./node_modules/d3-geo/src/projection/azimuthalEquidistant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAzimuthalEquidistant\", function() { return _src_projection_azimuthalEquidistant__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoAzimuthalEquidistantRaw\", function() { return _src_projection_azimuthalEquidistant__WEBPACK_IMPORTED_MODULE_17__[\"azimuthalEquidistantRaw\"]; });\n\n/* harmony import */ var _src_projection_conicConformal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/projection/conicConformal */ \"./node_modules/d3-geo/src/projection/conicConformal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicConformal\", function() { return _src_projection_conicConformal__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicConformalRaw\", function() { return _src_projection_conicConformal__WEBPACK_IMPORTED_MODULE_18__[\"conicConformalRaw\"]; });\n\n/* harmony import */ var _src_projection_conicEqualArea__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./src/projection/conicEqualArea */ \"./node_modules/d3-geo/src/projection/conicEqualArea.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicEqualArea\", function() { return _src_projection_conicEqualArea__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicEqualAreaRaw\", function() { return _src_projection_conicEqualArea__WEBPACK_IMPORTED_MODULE_19__[\"conicEqualAreaRaw\"]; });\n\n/* harmony import */ var _src_projection_conicEquidistant__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./src/projection/conicEquidistant */ \"./node_modules/d3-geo/src/projection/conicEquidistant.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicEquidistant\", function() { return _src_projection_conicEquidistant__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoConicEquidistantRaw\", function() { return _src_projection_conicEquidistant__WEBPACK_IMPORTED_MODULE_20__[\"conicEquidistantRaw\"]; });\n\n/* harmony import */ var _src_projection_equirectangular__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./src/projection/equirectangular */ \"./node_modules/d3-geo/src/projection/equirectangular.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoEquirectangular\", function() { return _src_projection_equirectangular__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoEquirectangularRaw\", function() { return _src_projection_equirectangular__WEBPACK_IMPORTED_MODULE_21__[\"equirectangularRaw\"]; });\n\n/* harmony import */ var _src_projection_gnomonic__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./src/projection/gnomonic */ \"./node_modules/d3-geo/src/projection/gnomonic.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoGnomonic\", function() { return _src_projection_gnomonic__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoGnomonicRaw\", function() { return _src_projection_gnomonic__WEBPACK_IMPORTED_MODULE_22__[\"gnomonicRaw\"]; });\n\n/* harmony import */ var _src_projection_identity__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./src/projection/identity */ \"./node_modules/d3-geo/src/projection/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoIdentity\", function() { return _src_projection_identity__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _src_projection_index__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./src/projection/index */ \"./node_modules/d3-geo/src/projection/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoProjection\", function() { return _src_projection_index__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoProjectionMutator\", function() { return _src_projection_index__WEBPACK_IMPORTED_MODULE_24__[\"projectionMutator\"]; });\n\n/* harmony import */ var _src_projection_mercator__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./src/projection/mercator */ \"./node_modules/d3-geo/src/projection/mercator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoMercator\", function() { return _src_projection_mercator__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoMercatorRaw\", function() { return _src_projection_mercator__WEBPACK_IMPORTED_MODULE_25__[\"mercatorRaw\"]; });\n\n/* harmony import */ var _src_projection_naturalEarth1__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./src/projection/naturalEarth1 */ \"./node_modules/d3-geo/src/projection/naturalEarth1.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoNaturalEarth1\", function() { return _src_projection_naturalEarth1__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoNaturalEarth1Raw\", function() { return _src_projection_naturalEarth1__WEBPACK_IMPORTED_MODULE_26__[\"naturalEarth1Raw\"]; });\n\n/* harmony import */ var _src_projection_orthographic__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./src/projection/orthographic */ \"./node_modules/d3-geo/src/projection/orthographic.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoOrthographic\", function() { return _src_projection_orthographic__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoOrthographicRaw\", function() { return _src_projection_orthographic__WEBPACK_IMPORTED_MODULE_27__[\"orthographicRaw\"]; });\n\n/* harmony import */ var _src_projection_stereographic__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./src/projection/stereographic */ \"./node_modules/d3-geo/src/projection/stereographic.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoStereographic\", function() { return _src_projection_stereographic__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoStereographicRaw\", function() { return _src_projection_stereographic__WEBPACK_IMPORTED_MODULE_28__[\"stereographicRaw\"]; });\n\n/* harmony import */ var _src_projection_transverseMercator__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./src/projection/transverseMercator */ \"./node_modules/d3-geo/src/projection/transverseMercator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoTransverseMercator\", function() { return _src_projection_transverseMercator__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoTransverseMercatorRaw\", function() { return _src_projection_transverseMercator__WEBPACK_IMPORTED_MODULE_29__[\"transverseMercatorRaw\"]; });\n\n/* harmony import */ var _src_rotation__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./src/rotation */ \"./node_modules/d3-geo/src/rotation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoRotation\", function() { return _src_rotation__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _src_stream__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./src/stream */ \"./node_modules/d3-geo/src/stream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoStream\", function() { return _src_stream__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _src_transform__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./src/transform */ \"./node_modules/d3-geo/src/transform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"geoTransform\", function() { return _src_transform__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n\n\n\n\n\n\n // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/adder.js": +/*!******************************************!*\ + !*** ./node_modules/d3-geo/src/adder.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return new Adder;\n});\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/adder.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/area.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-geo/src/area.js ***! + \*****************************************/ +/*! exports provided: areaRingSum, areaStream, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"areaRingSum\", function() { return areaRingSum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"areaStream\", function() { return areaStream; });\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./noop */ \"./node_modules/d3-geo/src/noop.js\");\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stream */ \"./node_modules/d3-geo/src/stream.js\");\n\n\n\n\n\nvar areaRingSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\nvar areaSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nvar areaStream = {\n point: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineStart: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineEnd: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"] + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n },\n sphere: function() {\n areaSum.add(_math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"]);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"];\n lambda0 = lambda, cosPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi = phi / 2 + _math__WEBPACK_IMPORTED_MODULE_1__[\"quarterPi\"]), sinPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"];\n phi = phi / 2 + _math__WEBPACK_IMPORTED_MODULE_1__[\"quarterPi\"]; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi),\n sinPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(adLambda),\n v = k * sdLambda * Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(adLambda);\n areaRingSum.add(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan2\"])(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(object) {\n areaSum.reset();\n Object(_stream__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, areaStream);\n return areaSum * 2;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/area.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/bounds.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-geo/src/bounds.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _area__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./area */ \"./node_modules/d3-geo/src/area.js\");\n/* harmony import */ var _cartesian__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cartesian */ \"./node_modules/d3-geo/src/cartesian.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stream */ \"./node_modules/d3-geo/src/stream.js\");\n\n\n\n\n\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n _area__WEBPACK_IMPORTED_MODULE_1__[\"areaStream\"].polygonStart();\n },\n polygonEnd: function() {\n _area__WEBPACK_IMPORTED_MODULE_1__[\"areaStream\"].polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (_area__WEBPACK_IMPORTED_MODULE_1__[\"areaRingSum\"] < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > _math__WEBPACK_IMPORTED_MODULE_3__[\"epsilon\"]) phi1 = 90;\n else if (deltaSum < -_math__WEBPACK_IMPORTED_MODULE_3__[\"epsilon\"]) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = Object(_cartesian__WEBPACK_IMPORTED_MODULE_2__[\"cartesian\"])([lambda * _math__WEBPACK_IMPORTED_MODULE_3__[\"radians\"], phi * _math__WEBPACK_IMPORTED_MODULE_3__[\"radians\"]]);\n if (p0) {\n var normal = Object(_cartesian__WEBPACK_IMPORTED_MODULE_2__[\"cartesianCross\"])(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = Object(_cartesian__WEBPACK_IMPORTED_MODULE_2__[\"cartesianCross\"])(equatorial, normal);\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_2__[\"cartesianNormalizeInPlace\"])(inflection);\n inflection = Object(_cartesian__WEBPACK_IMPORTED_MODULE_2__[\"spherical\"])(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * _math__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"] * sign,\n phii,\n antimeridian = Object(_math__WEBPACK_IMPORTED_MODULE_3__[\"abs\"])(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * _math__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"];\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * _math__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"];\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(Object(_math__WEBPACK_IMPORTED_MODULE_3__[\"abs\"])(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n _area__WEBPACK_IMPORTED_MODULE_1__[\"areaStream\"].point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n _area__WEBPACK_IMPORTED_MODULE_1__[\"areaStream\"].lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n _area__WEBPACK_IMPORTED_MODULE_1__[\"areaStream\"].lineEnd();\n if (Object(_math__WEBPACK_IMPORTED_MODULE_3__[\"abs\"])(deltaSum) > _math__WEBPACK_IMPORTED_MODULE_3__[\"epsilon\"]) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n Object(_stream__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/bounds.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/cartesian.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-geo/src/cartesian.js ***! + \**********************************************/ +/*! exports provided: spherical, cartesian, cartesianDot, cartesianCross, cartesianAddInPlace, cartesianScale, cartesianNormalizeInPlace */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"spherical\", function() { return spherical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesian\", function() { return cartesian; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesianDot\", function() { return cartesianDot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesianCross\", function() { return cartesianCross; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesianAddInPlace\", function() { return cartesianAddInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesianScale\", function() { return cartesianScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cartesianNormalizeInPlace\", function() { return cartesianNormalizeInPlace; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\nfunction spherical(cartesian) {\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(cartesian[1], cartesian[0]), Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(cartesian[2])];\n}\n\nfunction cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi);\n return [cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda), cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda), Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi)];\n}\n\nfunction cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nfunction cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nfunction cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nfunction cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nfunction cartesianNormalizeInPlace(d) {\n var l = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/cartesian.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/centroid.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/centroid.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./noop */ \"./node_modules/d3-geo/src/noop.js\");\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stream */ \"./node_modules/d3-geo/src/stream.js\");\n\n\n\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: _noop__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"];\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi);\n centroidPointCartesian(cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda), cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda), Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"];\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi);\n x0 = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda);\n y0 = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda);\n z0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"];\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi),\n x = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda),\n y = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda),\n z = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi),\n w = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"];\n centroidStream.point = centroidRingPoint;\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi);\n x0 = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda);\n y0 = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda);\n z0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"];\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi),\n x = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(lambda),\n y = cosPhi * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(lambda),\n z = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(cx * cx + cy * cy + cz * cz),\n w = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n Object(_stream__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon2\"]) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon2\"]) return [NaN, NaN];\n }\n\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(y, x) * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"], Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(z / Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(m)) * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/centroid.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/circle.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-geo/src/circle.js ***! + \*******************************************/ +/*! exports provided: circleStream, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"circleStream\", function() { return circleStream; });\n/* harmony import */ var _cartesian__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cartesian */ \"./node_modules/d3-geo/src/cartesian.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-geo/src/constant.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _rotation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rotation */ \"./node_modules/d3-geo/src/rotation.js\");\n\n\n\n\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nfunction circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(radius),\n sinRadius = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"];\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"];\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"spherical\"])([cosRadius, -sinRadius * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(t), -sinRadius * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesian\"])(point), point[0] -= cosRadius;\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianNormalizeInPlace\"])(point);\n var radius = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"acos\"])(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"] - _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) % _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var center = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([0, 0]),\n radius = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(90),\n precision = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= _math__WEBPACK_IMPORTED_MODULE_2__[\"degrees\"], x[1] *= _math__WEBPACK_IMPORTED_MODULE_2__[\"degrees\"];\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"],\n p = precision.apply(this, arguments) * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"];\n ring = [];\n rotate = Object(_rotation__WEBPACK_IMPORTED_MODULE_3__[\"rotateRadians\"])(-c[0] * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"], -c[1] * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"], 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), circle) : precision;\n };\n\n return circle;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/circle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/antimeridian.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/antimeridian.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/clip/index.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], -_math__WEBPACK_IMPORTED_MODULE_1__[\"halfPi\"]]\n));\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] : -_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"],\n delta = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(lambda1 - lambda0);\n if (Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(delta - _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"]) < _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? _math__WEBPACK_IMPORTED_MODULE_1__[\"halfPi\"] : -_math__WEBPACK_IMPORTED_MODULE_1__[\"halfPi\"]);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"]) { // line crosses antimeridian\n if (Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(lambda0 - sign0) < _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]) lambda0 -= sign0 * _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]; // handle degeneracies\n if (Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(lambda1 - sign1) < _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]) lambda1 -= sign1 * _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"];\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(lambda0 - lambda1);\n return Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(sinLambda0Lambda1) > _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]\n ? Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan\"])((Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi0) * (cosPhi1 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi1)) * Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(lambda1)\n - Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi1) * (cosPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi0)) * Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * _math__WEBPACK_IMPORTED_MODULE_1__[\"halfPi\"];\n stream.point(-_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], phi);\n stream.point(0, phi);\n stream.point(_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], phi);\n stream.point(_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], 0);\n stream.point(_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], -phi);\n stream.point(0, -phi);\n stream.point(-_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], -phi);\n stream.point(-_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], 0);\n stream.point(-_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"], phi);\n } else if (Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(from[0] - to[0]) > _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]) {\n var lambda = from[0] < to[0] ? _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] : -_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"];\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/antimeridian.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/buffer.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/buffer.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-geo/src/noop.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/buffer.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/circle.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/circle.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cartesian__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cartesian */ \"./node_modules/d3-geo/src/cartesian.js\");\n/* harmony import */ var _circle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../circle */ \"./node_modules/d3-geo/src/circle.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _pointEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../pointEqual */ \"./node_modules/d3-geo/src/pointEqual.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/clip/index.js\");\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(radius) {\n var cr = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(radius),\n delta = 6 * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"],\n smallRadius = cr > 0,\n notHemisphere = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"abs\"])(cr) > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n Object(_circle__WEBPACK_IMPORTED_MODULE_1__[\"circleStream\"])(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(lambda) * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"] : -_math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"]), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || Object(_pointEqual__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(point0, point2) || Object(_pointEqual__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(point1, point2)) {\n point1[0] += _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n point1[1] += _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !Object(_pointEqual__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesian\"])(a),\n pb = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesian\"])(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianCross\"])(pa, pb),\n n2n2 = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianDot\"])(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianCross\"])(n1, n2),\n A = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianScale\"])(n1, c1),\n B = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianScale\"])(n2, c2);\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianAddInPlace\"])(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianDot\"])(A, u),\n uu = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianDot\"])(u, u),\n t2 = w * w - uu * (Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianDot\"])(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(t2),\n q = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianScale\"])(u, (-w - t) / uu);\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianAddInPlace\"])(q, A);\n q = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"spherical\"])(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"abs\"])(delta - _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"]) < _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"],\n meridian = polar || delta < _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"abs\"])(q[0] - lambda0) < _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"] ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianScale\"])(u, (-w + t) / uu);\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesianAddInPlace\"])(q1, A);\n return [q, Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"spherical\"])(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"] - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return Object(_index__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-_math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"], radius - _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"]]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/circle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/extent.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/extent.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rectangle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rectangle */ \"./node_modules/d3-geo/src/clip/rectangle.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = Object(_rectangle__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/extent.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/index.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-geo/src/clip/index.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./buffer */ \"./node_modules/d3-geo/src/clip/buffer.js\");\n/* harmony import */ var _rejoin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rejoin */ \"./node_modules/d3-geo/src/clip/rejoin.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _polygonContains__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../polygonContains */ \"./node_modules/d3-geo/src/polygonContains.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = Object(_buffer__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = Object(d3_array__WEBPACK_IMPORTED_MODULE_4__[\"merge\"])(segments);\n var startInside = Object(_polygonContains__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n Object(_rejoin__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n});\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] - _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] : _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] - _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] : _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] - b[1]);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/line.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-geo/src/clip/line.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/line.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/rectangle.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/rectangle.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return clipRectangle; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _buffer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./buffer */ \"./node_modules/d3-geo/src/clip/buffer.js\");\n/* harmony import */ var _line__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./line */ \"./node_modules/d3-geo/src/clip/line.js\");\n/* harmony import */ var _rejoin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rejoin */ \"./node_modules/d3-geo/src/clip/rejoin.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n\n\n\n\n\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nfunction clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(p[0] - x0) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"] ? direction > 0 ? 0 : 3\n : Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(p[0] - x1) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"] ? direction > 0 ? 2 : 1\n : Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(p[1] - y0) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"] ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = Object(_buffer__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = Object(d3_array__WEBPACK_IMPORTED_MODULE_4__[\"merge\"])(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n Object(_rejoin__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (Object(_line__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/rectangle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/clip/rejoin.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/clip/rejoin.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pointEqual__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../pointEqual */ \"./node_modules/d3-geo/src/pointEqual.js\");\n\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (Object(_pointEqual__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n});\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/clip/rejoin.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/compose.js": +/*!********************************************!*\ + !*** ./node_modules/d3-geo/src/compose.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/compose.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/constant.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/constant.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/contains.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/contains.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _polygonContains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./polygonContains */ \"./node_modules/d3-geo/src/polygonContains.js\");\n/* harmony import */ var _distance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./distance */ \"./node_modules/d3-geo/src/distance.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return Object(_distance__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = Object(_distance__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(coordinates[0], coordinates[1]),\n ao = Object(_distance__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(coordinates[0], point),\n ob = Object(_distance__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(point, coordinates[1]);\n return ao + ob <= ab + _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!Object(_polygonContains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"], point[1] * _math__WEBPACK_IMPORTED_MODULE_2__[\"radians\"]];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/contains.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/distance.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/distance.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./length */ \"./node_modules/d3-geo/src/length.js\");\n\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return Object(_length__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/distance.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/graticule.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-geo/src/graticule.js ***! + \**********************************************/ +/*! exports provided: default, graticule10 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return graticule; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"graticule10\", function() { return graticule10; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\nfunction graticuleX(y0, y1, dy) {\n var y = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(y0, y1 - _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"], dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(x0, x1 - _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"], dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nfunction graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"ceil\"])(X0 / DX) * DX, X1, DX).map(X)\n .concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"ceil\"])(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"ceil\"])(x0 / dx) * dx, x1, dx).filter(function(x) { return Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(x % DX) > _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]; }).map(x))\n .concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"ceil\"])(y0 / dy) * dy, y1, dy).filter(function(y) { return Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(y % DY) > _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]], [180, 90 - _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]]])\n .extentMinor([[-180, -80 - _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]], [180, 80 + _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]]]);\n}\n\nfunction graticule10() {\n return graticule()();\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/graticule.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/identity.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/identity.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/interpolate.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/interpolate.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var x0 = a[0] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"],\n y0 = a[1] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"],\n x1 = b[0] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"],\n y1 = b[1] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"],\n cy0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y0),\n sy0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y0),\n cy1 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y1),\n sy1 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y1),\n kx0 = cy0 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x0),\n ky0 = cy0 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x0),\n kx1 = cy1 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x1),\n ky1 = cy1 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x1),\n d = 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"haversin\"])(y1 - y0) + cy0 * cy1 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"haversin\"])(x1 - x0))),\n k = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(d);\n\n var interpolate = d ? function(t) {\n var B = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(t *= d) / k,\n A = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(y, x) * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"],\n Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(z, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(x * x + y * y)) * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]\n ];\n } : function() {\n return [x0 * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"], y0 * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/interpolate.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/length.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-geo/src/length.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./noop */ \"./node_modules/d3-geo/src/noop.js\");\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stream */ \"./node_modules/d3-geo/src/stream.js\");\n\n\n\n\n\nvar lengthSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n point: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineStart: lengthLineStart,\n lineEnd: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n polygonStart: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n polygonEnd: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"];\n lambda0 = lambda, sinPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi), cosPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], phi *= _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"];\n var sinPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi),\n cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi),\n delta = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(lambda - lambda0),\n cosDelta = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(delta),\n sinDelta = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan2\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sqrt\"])(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(object) {\n lengthSum.reset();\n Object(_stream__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(object, lengthStream);\n return +lengthSum;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/length.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/math.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-geo/src/math.js ***! + \*****************************************/ +/*! exports provided: epsilon, epsilon2, pi, halfPi, quarterPi, tau, degrees, radians, abs, atan, atan2, cos, ceil, exp, floor, log, pow, sin, sign, sqrt, tan, acos, asin, haversin */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"epsilon\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"epsilon2\", function() { return epsilon2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pi\", function() { return pi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"halfPi\", function() { return halfPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"quarterPi\", function() { return quarterPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tau\", function() { return tau; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return degrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return radians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"abs\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"atan\", function() { return atan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"atan2\", function() { return atan2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cos\", function() { return cos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ceil\", function() { return ceil; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exp\", function() { return exp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"floor\", function() { return floor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"log\", function() { return log; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pow\", function() { return pow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sin\", function() { return sin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sign\", function() { return sign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sqrt\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tan\", function() { return tan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"acos\", function() { return acos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asin\", function() { return asin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"haversin\", function() { return haversin; });\nvar epsilon = 1e-6;\nvar epsilon2 = 1e-12;\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar quarterPi = pi / 4;\nvar tau = pi * 2;\n\nvar degrees = 180 / pi;\nvar radians = pi / 180;\n\nvar abs = Math.abs;\nvar atan = Math.atan;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar ceil = Math.ceil;\nvar exp = Math.exp;\nvar floor = Math.floor;\nvar log = Math.log;\nvar pow = Math.pow;\nvar sin = Math.sin;\nvar sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nvar sqrt = Math.sqrt;\nvar tan = Math.tan;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nfunction haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/math.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/noop.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-geo/src/noop.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return noop; });\nfunction noop() {}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/noop.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/area.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-geo/src/path/area.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-geo/src/noop.js\");\n\n\n\n\nvar areaSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n areaRingSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineStart: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineEnd: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n areaSum.add(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (areaStream);\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/area.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/bounds.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/path/bounds.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-geo/src/noop.js\");\n\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n lineEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n polygonStart: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n polygonEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (boundsStream);\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/bounds.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/centroid.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-geo/src/path/centroid.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (centroidStream);\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/centroid.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/context.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-geo/src/path/context.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PathContext; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-geo/src/noop.js\");\n\n\n\nfunction PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, _math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"]);\n break;\n }\n }\n },\n result: _noop__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/context.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/index.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-geo/src/path/index.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../identity */ \"./node_modules/d3-geo/src/identity.js\");\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../stream */ \"./node_modules/d3-geo/src/stream.js\");\n/* harmony import */ var _area__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./area */ \"./node_modules/d3-geo/src/path/area.js\");\n/* harmony import */ var _bounds__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bounds */ \"./node_modules/d3-geo/src/path/bounds.js\");\n/* harmony import */ var _centroid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./centroid */ \"./node_modules/d3-geo/src/path/centroid.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./context */ \"./node_modules/d3-geo/src/path/context.js\");\n/* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./measure */ \"./node_modules/d3-geo/src/path/measure.js\");\n/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./string */ \"./node_modules/d3-geo/src/path/string.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n Object(_stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n Object(_stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, projectionStream(_area__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n return _area__WEBPACK_IMPORTED_MODULE_2__[\"default\"].result();\n };\n\n path.measure = function(object) {\n Object(_stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, projectionStream(_measure__WEBPACK_IMPORTED_MODULE_6__[\"default\"]));\n return _measure__WEBPACK_IMPORTED_MODULE_6__[\"default\"].result();\n };\n\n path.bounds = function(object) {\n Object(_stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, projectionStream(_bounds__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n return _bounds__WEBPACK_IMPORTED_MODULE_3__[\"default\"].result();\n };\n\n path.centroid = function(object) {\n Object(_stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(object, projectionStream(_centroid__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n return _centroid__WEBPACK_IMPORTED_MODULE_4__[\"default\"].result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, _identity__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new _string__WEBPACK_IMPORTED_MODULE_7__[\"default\"]) : new _context__WEBPACK_IMPORTED_MODULE_5__[\"default\"](context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/measure.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-geo/src/path/measure.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-geo/src/noop.js\");\n\n\n\n\nvar lengthSum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = _noop__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sqrt\"])(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (lengthStream);\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/measure.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/path/string.js": +/*!************************************************!*\ + !*** ./node_modules/d3-geo/src/path/string.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PathString; });\nfunction PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/path/string.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/pointEqual.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-geo/src/pointEqual.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(a[0] - b[0]) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"] && Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(a[1] - b[1]) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/pointEqual.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/polygonContains.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-geo/src/polygonContains.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adder */ \"./node_modules/d3-geo/src/adder.js\");\n/* harmony import */ var _cartesian__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cartesian */ \"./node_modules/d3-geo/src/cartesian.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\n\nvar sum = Object(_adder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(phi),\n normal = [Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(lambda), -Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] + _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n else if (sinPhi === -1) phi = -_math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"] - _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"];\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + _math__WEBPACK_IMPORTED_MODULE_2__[\"quarterPi\"],\n sinPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(phi0),\n cosPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + _math__WEBPACK_IMPORTED_MODULE_2__[\"quarterPi\"],\n sinPhi1 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(phi1),\n cosPhi1 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"],\n k = sinPhi0 * sinPhi1;\n\n sum.add(Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(k * sign * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(absDelta), cosPhi0 * cosPhi1 + k * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(absDelta)));\n angle += antimeridian ? delta + sign * _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"] : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesianCross\"])(Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesian\"])(point0), Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesian\"])(point1));\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesianNormalizeInPlace\"])(arc);\n var intersection = Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesianCross\"])(normal, arc);\n Object(_cartesian__WEBPACK_IMPORTED_MODULE_1__[\"cartesianNormalizeInPlace\"])(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"asin\"])(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -_math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] || angle < _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] && sum < -_math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) ^ (winding & 1);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/polygonContains.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/albers.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/albers.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _conicEqualArea__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./conicEqualArea */ \"./node_modules/d3-geo/src/projection/conicEqualArea.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_conicEqualArea__WEBPACK_IMPORTED_MODULE_0__[\"default\"])()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/albers.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/albersUsa.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/albersUsa.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _albers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./albers */ \"./node_modules/d3-geo/src/projection/albers.js\");\n/* harmony import */ var _conicEqualArea__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conicEqualArea */ \"./node_modules/d3-geo/src/projection/conicEqualArea.js\");\n/* harmony import */ var _fit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fit */ \"./node_modules/d3-geo/src/projection/fit.js\");\n\n\n\n\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var cache,\n cacheStream,\n lower48 = Object(_albers__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(), lower48Point,\n alaska = Object(_conicEqualArea__WEBPACK_IMPORTED_MODULE_2__[\"default\"])().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = Object(_conicEqualArea__WEBPACK_IMPORTED_MODULE_2__[\"default\"])().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"], y + 0.120 * k + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]], [x - 0.214 * k - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"], y + 0.234 * k - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"], y + 0.166 * k + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]], [x - 0.115 * k - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"], y + 0.234 * k - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitExtent\"])(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitSize\"])(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitWidth\"])(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitHeight\"])(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/albersUsa.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/azimuthal.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/azimuthal.js ***! + \*********************************************************/ +/*! exports provided: azimuthalRaw, azimuthalInvert */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"azimuthalRaw\", function() { return azimuthalRaw; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"azimuthalInvert\", function() { return azimuthalInvert; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n\n\nfunction azimuthalRaw(scale) {\n return function(x, y) {\n var cx = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x),\n cy = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y),\n k = scale(cx * cy);\n return [\n k * cy * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x),\n k * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y)\n ];\n }\n}\n\nfunction azimuthalInvert(angle) {\n return function(x, y) {\n var z = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(x * x + y * y),\n c = angle(z),\n sc = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(c),\n cc = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(c);\n return [\n Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(x * sc, z * cc),\n Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(z && y * sc / z)\n ];\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/azimuthal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/azimuthalEqualArea.js": +/*!******************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/azimuthalEqualArea.js ***! + \******************************************************************/ +/*! exports provided: azimuthalEqualAreaRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"azimuthalEqualAreaRaw\", function() { return azimuthalEqualAreaRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _azimuthal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./azimuthal */ \"./node_modules/d3-geo/src/projection/azimuthal.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nvar azimuthalEqualAreaRaw = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalRaw\"])(function(cxcy) {\n return Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalInvert\"])(function(z) {\n return 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(z / 2);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/azimuthalEquidistant.js": +/*!********************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/azimuthalEquidistant.js ***! + \********************************************************************/ +/*! exports provided: azimuthalEquidistantRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"azimuthalEquidistantRaw\", function() { return azimuthalEquidistantRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _azimuthal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./azimuthal */ \"./node_modules/d3-geo/src/projection/azimuthal.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nvar azimuthalEquidistantRaw = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalRaw\"])(function(c) {\n return (c = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"acos\"])(c)) && c / Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(c);\n});\n\nazimuthalEquidistantRaw.invert = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalInvert\"])(function(z) {\n return z;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/conic.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/conic.js ***! + \*****************************************************/ +/*! exports provided: conicProjection */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conicProjection\", function() { return conicProjection; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\nfunction conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = _math__WEBPACK_IMPORTED_MODULE_0__[\"pi\"] / 3,\n m = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"projectionMutator\"])(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"], phi1 = _[1] * _math__WEBPACK_IMPORTED_MODULE_0__[\"radians\"]) : [phi0 * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"], phi1 * _math__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]];\n };\n\n return p;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/conic.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/conicConformal.js": +/*!**************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/conicConformal.js ***! + \**************************************************************/ +/*! exports provided: conicConformalRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conicConformalRaw\", function() { return conicConformalRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _conic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./conic */ \"./node_modules/d3-geo/src/projection/conic.js\");\n/* harmony import */ var _mercator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mercator */ \"./node_modules/d3-geo/src/projection/mercator.js\");\n\n\n\n\nfunction tany(y) {\n return Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"tan\"])((_math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] + y) / 2);\n}\n\nfunction conicConformalRaw(y0, y1) {\n var cy0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y0),\n n = y0 === y1 ? Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y0) : Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"log\"])(cy0 / Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y1)) / Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"log\"])(tany(y1) / tany(y0)),\n f = cy0 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"pow\"])(tany(y0), n) / n;\n\n if (!n) return _mercator__WEBPACK_IMPORTED_MODULE_2__[\"mercatorRaw\"];\n\n function project(x, y) {\n if (f > 0) { if (y < -_math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) y = -_math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]; }\n else { if (y > _math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) y = _math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] - _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]; }\n var r = f / Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"pow\"])(tany(y), n);\n return [r * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(n * x), f - r * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sign\"])(n) * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(x * x + fy * fy);\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(x, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(fy)) / n * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sign\"])(fy), 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"pow\"])(f / r, 1 / n)) - _math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"]];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_conic__WEBPACK_IMPORTED_MODULE_1__[\"conicProjection\"])(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/conicConformal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/conicEqualArea.js": +/*!**************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/conicEqualArea.js ***! + \**************************************************************/ +/*! exports provided: conicEqualAreaRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conicEqualAreaRaw\", function() { return conicEqualAreaRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _conic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./conic */ \"./node_modules/d3-geo/src/projection/conic.js\");\n/* harmony import */ var _cylindricalEqualArea__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cylindricalEqualArea */ \"./node_modules/d3-geo/src/projection/cylindricalEqualArea.js\");\n\n\n\n\nfunction conicEqualAreaRaw(y0, y1) {\n var sy0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y0), n = (sy0 + Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(n) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) return Object(_cylindricalEqualArea__WEBPACK_IMPORTED_MODULE_2__[\"cylindricalEqualAreaRaw\"])(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(c) / n;\n\n function project(x, y) {\n var r = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(c - 2 * n * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y)) / n;\n return [r * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x *= n), r0 - r * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(x, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(r0y)) / n * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sign\"])(r0y), Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_conic__WEBPACK_IMPORTED_MODULE_1__[\"conicProjection\"])(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/conicEquidistant.js": +/*!****************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/conicEquidistant.js ***! + \****************************************************************/ +/*! exports provided: conicEquidistantRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conicEquidistantRaw\", function() { return conicEquidistantRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _conic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./conic */ \"./node_modules/d3-geo/src/projection/conic.js\");\n/* harmony import */ var _equirectangular__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equirectangular */ \"./node_modules/d3-geo/src/projection/equirectangular.js\");\n\n\n\n\nfunction conicEquidistantRaw(y0, y1) {\n var cy0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y0),\n n = y0 === y1 ? Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y0) : (cy0 - Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(n) < _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) return _equirectangular__WEBPACK_IMPORTED_MODULE_2__[\"equirectangularRaw\"];\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(nx), g - gy * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan2\"])(x, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"abs\"])(gy)) / n * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sign\"])(gy), g - Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sign\"])(n) * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sqrt\"])(x * x + gy * gy)];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_conic__WEBPACK_IMPORTED_MODULE_1__[\"conicProjection\"])(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/cylindricalEqualArea.js": +/*!********************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/cylindricalEqualArea.js ***! + \********************************************************************/ +/*! exports provided: cylindricalEqualAreaRaw */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cylindricalEqualAreaRaw\", function() { return cylindricalEqualAreaRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n\n\nfunction cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"])(y * cosPhi0)];\n };\n\n return forward;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/equirectangular.js": +/*!***************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/equirectangular.js ***! + \***************************************************************/ +/*! exports provided: equirectangularRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equirectangularRaw\", function() { return equirectangularRaw; });\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\nfunction equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(equirectangularRaw)\n .scale(152.63);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/equirectangular.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/fit.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/fit.js ***! + \***************************************************/ +/*! exports provided: fitExtent, fitSize, fitWidth, fitHeight */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fitExtent\", function() { return fitExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fitSize\", function() { return fitSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fitWidth\", function() { return fitWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fitHeight\", function() { return fitHeight; });\n/* harmony import */ var _stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../stream */ \"./node_modules/d3-geo/src/stream.js\");\n/* harmony import */ var _path_bounds__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../path/bounds */ \"./node_modules/d3-geo/src/path/bounds.js\");\n\n\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n Object(_stream__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(object, projection.stream(_path_bounds__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n fitBounds(_path_bounds__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nfunction fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nfunction fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nfunction fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nfunction fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/fit.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/gnomonic.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/gnomonic.js ***! + \********************************************************/ +/*! exports provided: gnomonicRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gnomonicRaw\", function() { return gnomonicRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _azimuthal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./azimuthal */ \"./node_modules/d3-geo/src/projection/azimuthal.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nfunction gnomonicRaw(x, y) {\n var cy = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y), k = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x) * cy;\n return [cy * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x) / k, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y) / k];\n}\n\ngnomonicRaw.invert = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalInvert\"])(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/gnomonic.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/identity.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/identity.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _clip_rectangle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../clip/rectangle */ \"./node_modules/d3-geo/src/clip/rectangle.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../identity */ \"./node_modules/d3-geo/src/identity.js\");\n/* harmony import */ var _transform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../transform */ \"./node_modules/d3-geo/src/transform.js\");\n/* harmony import */ var _fit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fit */ \"./node_modules/d3-geo/src/projection/fit.js\");\n\n\n\n\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : Object(_transform__WEBPACK_IMPORTED_MODULE_2__[\"transformer\"])({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"], // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) : Object(_clip_rectangle__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitExtent\"])(projection, extent, object);\n },\n fitSize: function(size, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitSize\"])(projection, size, object);\n },\n fitWidth: function(width, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitWidth\"])(projection, width, object);\n },\n fitHeight: function(height, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_3__[\"fitHeight\"])(projection, height, object);\n }\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/index.js ***! + \*****************************************************/ +/*! exports provided: default, projectionMutator */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return projection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"projectionMutator\", function() { return projectionMutator; });\n/* harmony import */ var _clip_antimeridian__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../clip/antimeridian */ \"./node_modules/d3-geo/src/clip/antimeridian.js\");\n/* harmony import */ var _clip_circle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../clip/circle */ \"./node_modules/d3-geo/src/clip/circle.js\");\n/* harmony import */ var _clip_rectangle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../clip/rectangle */ \"./node_modules/d3-geo/src/clip/rectangle.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../compose */ \"./node_modules/d3-geo/src/compose.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../identity */ \"./node_modules/d3-geo/src/identity.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _rotation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotation */ \"./node_modules/d3-geo/src/rotation.js\");\n/* harmony import */ var _transform__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../transform */ \"./node_modules/d3-geo/src/transform.js\");\n/* harmony import */ var _fit__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./fit */ \"./node_modules/d3-geo/src/projection/fit.js\");\n/* harmony import */ var _resample__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./resample */ \"./node_modules/d3-geo/src/projection/resample.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar transformRadians = Object(_transform__WEBPACK_IMPORTED_MODULE_7__[\"transformer\"])({\n point: function(x, y) {\n this.stream.point(x * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], y * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"]);\n }\n});\n\nfunction transformRotate(rotate) {\n return Object(_transform__WEBPACK_IMPORTED_MODULE_7__[\"transformer\"])({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = Object(_math__WEBPACK_IMPORTED_MODULE_5__[\"cos\"])(alpha),\n sinAlpha = Object(_math__WEBPACK_IMPORTED_MODULE_5__[\"sin\"])(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nfunction projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nfunction projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = _clip_antimeridian__WEBPACK_IMPORTED_MODULE_0__[\"default\"], // pre-clip angle\n x0 = null, y0, x1, y1, postclip = _identity__WEBPACK_IMPORTED_MODULE_4__[\"default\"], // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], point[1] * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"]);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"], point[1] * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"]];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? Object(_clip_circle__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(theta = _ * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"]) : (theta = null, _clip_antimeridian__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), reset()) : theta * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"];\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, _identity__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) : Object(_clip_rectangle__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], phi = _[1] % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], recenter()) : [lambda * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"], phi * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"]];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], deltaPhi = _[1] % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], deltaGamma = _.length > 2 ? _[2] % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"] : 0, recenter()) : [deltaLambda * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"], deltaPhi * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"], deltaGamma * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"]];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * _math__WEBPACK_IMPORTED_MODULE_5__[\"radians\"], recenter()) : alpha * _math__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"];\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = Object(_resample__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(projectTransform, delta2 = _ * _), reset()) : Object(_math__WEBPACK_IMPORTED_MODULE_5__[\"sqrt\"])(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_8__[\"fitExtent\"])(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_8__[\"fitSize\"])(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_8__[\"fitWidth\"])(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return Object(_fit__WEBPACK_IMPORTED_MODULE_8__[\"fitHeight\"])(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = Object(_rotation__WEBPACK_IMPORTED_MODULE_6__[\"rotateRadians\"])(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = Object(_compose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(project, transform);\n projectRotateTransform = Object(_compose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(rotate, projectTransform);\n projectResample = Object(_resample__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/mercator.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/mercator.js ***! + \********************************************************/ +/*! exports provided: mercatorRaw, default, mercatorProjection */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mercatorRaw\", function() { return mercatorRaw; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mercatorProjection\", function() { return mercatorProjection; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _rotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rotation */ \"./node_modules/d3-geo/src/rotation.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nfunction mercatorRaw(lambda, phi) {\n return [lambda, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"log\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"tan\"])((_math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"exp\"])(y)) - _math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"]];\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / _math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"]);\n});\n\nfunction mercatorProjection(project) {\n var m = Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = _math__WEBPACK_IMPORTED_MODULE_0__[\"pi\"] * scale(),\n t = m(Object(_rotation__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/mercator.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/naturalEarth1.js": +/*!*************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/naturalEarth1.js ***! + \*************************************************************/ +/*! exports provided: naturalEarth1Raw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"naturalEarth1Raw\", function() { return naturalEarth1Raw; });\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\nfunction naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(delta) > _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(naturalEarth1Raw)\n .scale(175.295);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/orthographic.js": +/*!************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/orthographic.js ***! + \************************************************************/ +/*! exports provided: orthographicRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"orthographicRaw\", function() { return orthographicRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _azimuthal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./azimuthal */ \"./node_modules/d3-geo/src/projection/azimuthal.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nfunction orthographicRaw(x, y) {\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y) * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x), Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y)];\n}\n\northographicRaw.invert = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalInvert\"])(_math__WEBPACK_IMPORTED_MODULE_0__[\"asin\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/orthographic.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/resample.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/resample.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cartesian__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cartesian */ \"./node_modules/d3-geo/src/cartesian.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _transform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../transform */ \"./node_modules/d3-geo/src/transform.js\");\n\n\n\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(30 * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"]); // cos(minimum angular distance)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n});\n\nfunction resampleNone(project) {\n return Object(_transform__WEBPACK_IMPORTED_MODULE_2__[\"transformer\"])({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sqrt\"])(a * a + b * b + c * c),\n phi2 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"asin\"])(c /= m),\n lambda2 = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(c) - 1) < _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] || Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])(lambda0 - lambda1) < _math__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? (lambda0 + lambda1) / 2 : Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan2\"])(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"abs\"])((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = Object(_cartesian__WEBPACK_IMPORTED_MODULE_0__[\"cartesian\"])([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/resample.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/stereographic.js": +/*!*************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/stereographic.js ***! + \*************************************************************/ +/*! exports provided: stereographicRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stereographicRaw\", function() { return stereographicRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _azimuthal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./azimuthal */ \"./node_modules/d3-geo/src/projection/azimuthal.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/d3-geo/src/projection/index.js\");\n\n\n\n\nfunction stereographicRaw(x, y) {\n var cy = Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(y), k = 1 + Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"cos\"])(x) * cy;\n return [cy * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(x) / k, Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"sin\"])(y) / k];\n}\n\nstereographicRaw.invert = Object(_azimuthal__WEBPACK_IMPORTED_MODULE_1__[\"azimuthalInvert\"])(function(z) {\n return 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan\"])(z);\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/stereographic.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/projection/transverseMercator.js": +/*!******************************************************************!*\ + !*** ./node_modules/d3-geo/src/projection/transverseMercator.js ***! + \******************************************************************/ +/*! exports provided: transverseMercatorRaw, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transverseMercatorRaw\", function() { return transverseMercatorRaw; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-geo/src/math.js\");\n/* harmony import */ var _mercator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mercator */ \"./node_modules/d3-geo/src/projection/mercator.js\");\n\n\n\nfunction transverseMercatorRaw(lambda, phi) {\n return [Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"log\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"tan\"])((_math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"] + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"atan\"])(Object(_math__WEBPACK_IMPORTED_MODULE_0__[\"exp\"])(x)) - _math__WEBPACK_IMPORTED_MODULE_0__[\"halfPi\"]];\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var m = Object(_mercator__WEBPACK_IMPORTED_MODULE_1__[\"mercatorProjection\"])(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/rotation.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-geo/src/rotation.js ***! + \*********************************************/ +/*! exports provided: rotateRadians, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return rotateRadians; });\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compose */ \"./node_modules/d3-geo/src/compose.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-geo/src/math.js\");\n\n\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] ? lambda - _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"] : lambda < -_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] ? lambda + _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"] : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nfunction rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"]) ? (deltaPhi || deltaGamma ? Object(_compose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > _math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] ? lambda - _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"] : lambda < -_math__WEBPACK_IMPORTED_MODULE_1__[\"pi\"] ? lambda + _math__WEBPACK_IMPORTED_MODULE_1__[\"tau\"] : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(deltaPhi),\n sinDeltaPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(deltaPhi),\n cosDeltaGamma = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(deltaGamma),\n sinDeltaGamma = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi),\n x = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(lambda) * cosPhi,\n y = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(lambda) * cosPhi,\n z = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan2\"])(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"asin\"])(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(phi),\n x = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"cos\"])(lambda) * cosPhi,\n y = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(lambda) * cosPhi,\n z = Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"sin\"])(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"atan2\"])(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n Object(_math__WEBPACK_IMPORTED_MODULE_1__[\"asin\"])(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(rotate) {\n rotate = rotateRadians(rotate[0] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], rotate[1] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], rotate.length > 2 ? rotate[2] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"] : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], coordinates[1] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"]);\n return coordinates[0] *= _math__WEBPACK_IMPORTED_MODULE_1__[\"degrees\"], coordinates[1] *= _math__WEBPACK_IMPORTED_MODULE_1__[\"degrees\"], coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"], coordinates[1] * _math__WEBPACK_IMPORTED_MODULE_1__[\"radians\"]);\n return coordinates[0] *= _math__WEBPACK_IMPORTED_MODULE_1__[\"degrees\"], coordinates[1] *= _math__WEBPACK_IMPORTED_MODULE_1__[\"degrees\"], coordinates;\n };\n\n return forward;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/rotation.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/stream.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-geo/src/stream.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nfunction streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/stream.js?"); + +/***/ }), + +/***/ "./node_modules/d3-geo/src/transform.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-geo/src/transform.js ***! + \**********************************************/ +/*! exports provided: default, transformer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformer\", function() { return transformer; });\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(methods) {\n return {\n stream: transformer(methods)\n };\n});\n\nfunction transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n\n\n//# sourceURL=webpack:///./node_modules/d3-geo/src/transform.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/index.js": +/*!********************************************!*\ + !*** ./node_modules/d3-hierarchy/index.js ***! + \********************************************/ +/*! exports provided: cluster, hierarchy, pack, packSiblings, packEnclose, partition, stratify, tree, treemap, treemapBinary, treemapDice, treemapSlice, treemapSliceDice, treemapSquarify, treemapResquarify */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_cluster__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/cluster */ \"./node_modules/d3-hierarchy/src/cluster.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cluster\", function() { return _src_cluster__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_hierarchy_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/hierarchy/index */ \"./node_modules/d3-hierarchy/src/hierarchy/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hierarchy\", function() { return _src_hierarchy_index__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_pack_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/pack/index */ \"./node_modules/d3-hierarchy/src/pack/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pack\", function() { return _src_pack_index__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_pack_siblings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/pack/siblings */ \"./node_modules/d3-hierarchy/src/pack/siblings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"packSiblings\", function() { return _src_pack_siblings__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_pack_enclose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/pack/enclose */ \"./node_modules/d3-hierarchy/src/pack/enclose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"packEnclose\", function() { return _src_pack_enclose__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_partition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/partition */ \"./node_modules/d3-hierarchy/src/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _src_partition__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _src_stratify__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/stratify */ \"./node_modules/d3-hierarchy/src/stratify.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stratify\", function() { return _src_stratify__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_tree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/tree */ \"./node_modules/d3-hierarchy/src/tree.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tree\", function() { return _src_tree__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/treemap/index */ \"./node_modules/d3-hierarchy/src/treemap/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemap\", function() { return _src_treemap_index__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_binary__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/treemap/binary */ \"./node_modules/d3-hierarchy/src/treemap/binary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapBinary\", function() { return _src_treemap_binary__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_dice__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/treemap/dice */ \"./node_modules/d3-hierarchy/src/treemap/dice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapDice\", function() { return _src_treemap_dice__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_slice__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/treemap/slice */ \"./node_modules/d3-hierarchy/src/treemap/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapSlice\", function() { return _src_treemap_slice__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_sliceDice__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/treemap/sliceDice */ \"./node_modules/d3-hierarchy/src/treemap/sliceDice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapSliceDice\", function() { return _src_treemap_sliceDice__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_squarify__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/treemap/squarify */ \"./node_modules/d3-hierarchy/src/treemap/squarify.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapSquarify\", function() { return _src_treemap_squarify__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_treemap_resquarify__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/treemap/resquarify */ \"./node_modules/d3-hierarchy/src/treemap/resquarify.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"treemapResquarify\", function() { return _src_treemap_resquarify__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/accessors.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/accessors.js ***! + \****************************************************/ +/*! exports provided: optional, required */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"optional\", function() { return optional; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"required\", function() { return required; });\nfunction optional(f) {\n return f == null ? null : required(f);\n}\n\nfunction required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/accessors.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/array.js": +/*!************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/array.js ***! + \************************************************/ +/*! exports provided: slice, shuffle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return shuffle; });\nvar slice = Array.prototype.slice;\n\nfunction shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/cluster.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/cluster.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/cluster.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/constant.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/constant.js ***! + \***************************************************/ +/*! exports provided: constantZero, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"constantZero\", function() { return constantZero; });\nfunction constantZero() {\n return 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/ancestors.js": +/*!**************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/ancestors.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/count.js": +/*!**********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/count.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nfunction count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return this.eachAfter(count);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/descendants.js": +/*!****************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/descendants.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/each.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/each.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js": +/*!**************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js": +/*!***************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/index.js ***! + \**********************************************************/ +/*! exports provided: default, computeHeight, Node */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return hierarchy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeHeight\", function() { return computeHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return Node; });\n/* harmony import */ var _count__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./count */ \"./node_modules/d3-hierarchy/src/hierarchy/count.js\");\n/* harmony import */ var _each__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./each */ \"./node_modules/d3-hierarchy/src/hierarchy/each.js\");\n/* harmony import */ var _eachBefore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./eachBefore */ \"./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js\");\n/* harmony import */ var _eachAfter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eachAfter */ \"./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js\");\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sum */ \"./node_modules/d3-hierarchy/src/hierarchy/sum.js\");\n/* harmony import */ var _sort__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sort */ \"./node_modules/d3-hierarchy/src/hierarchy/sort.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./path */ \"./node_modules/d3-hierarchy/src/hierarchy/path.js\");\n/* harmony import */ var _ancestors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ancestors */ \"./node_modules/d3-hierarchy/src/hierarchy/ancestors.js\");\n/* harmony import */ var _descendants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./descendants */ \"./node_modules/d3-hierarchy/src/hierarchy/descendants.js\");\n/* harmony import */ var _leaves__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./leaves */ \"./node_modules/d3-hierarchy/src/hierarchy/leaves.js\");\n/* harmony import */ var _links__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./links */ \"./node_modules/d3-hierarchy/src/hierarchy/links.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nfunction computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nfunction Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: _count__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n each: _each__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n eachAfter: _eachAfter__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n eachBefore: _eachBefore__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n sum: _sum__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n sort: _sort__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n path: _path__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ancestors: _ancestors__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n descendants: _descendants__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n leaves: _leaves__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n links: _links__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n copy: node_copy\n};\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/leaves.js": +/*!***********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/leaves.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/links.js": +/*!**********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/links.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/path.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/path.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n});\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/sort.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/sort.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/hierarchy/sum.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/hierarchy/sum.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/pack/enclose.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/pack/enclose.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../array */ \"./node_modules/d3-hierarchy/src/array.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(circles) {\n var i = 0, n = (circles = Object(_array__WEBPACK_IMPORTED_MODULE_0__[\"shuffle\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n});\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/pack/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/pack/index.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _siblings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./siblings */ \"./node_modules/d3-hierarchy/src/pack/siblings.js\");\n/* harmony import */ var _accessors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../accessors */ \"./node_modules/d3-hierarchy/src/accessors.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constant */ \"./node_modules/d3-hierarchy/src/constant.js\");\n\n\n\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = _constant__WEBPACK_IMPORTED_MODULE_2__[\"constantZero\"];\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(_constant__WEBPACK_IMPORTED_MODULE_2__[\"constantZero\"], 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = Object(_accessors__WEBPACK_IMPORTED_MODULE_1__[\"optional\"])(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(+x), pack) : padding;\n };\n\n return pack;\n});\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = Object(_siblings__WEBPACK_IMPORTED_MODULE_0__[\"packEnclose\"])(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/pack/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/pack/siblings.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/pack/siblings.js ***! + \********************************************************/ +/*! exports provided: packEnclose, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"packEnclose\", function() { return packEnclose; });\n/* harmony import */ var _enclose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enclose */ \"./node_modules/d3-hierarchy/src/pack/enclose.js\");\n\n\nfunction place(a, b, c) {\n var ax = a.x,\n ay = a.y,\n da = b.r + c.r,\n db = a.r + c.r,\n dx = b.x - ax,\n dy = b.y - ay,\n dc = dx * dx + dy * dy;\n if (dc) {\n var x = 0.5 + ((db *= db) - (da *= da)) / (2 * dc),\n y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = ax + x * dx + y * dy;\n c.y = ay + x * dy - y * dx;\n } else {\n c.x = ax + db;\n c.y = ay;\n }\n}\n\nfunction intersects(a, b) {\n var dx = b.x - a.x,\n dy = b.y - a.y,\n dr = a.r + b.r;\n return dr * dr - 1e-6 > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nfunction packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = Object(_enclose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(circles) {\n packEnclose(circles);\n return circles;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/partition.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/partition.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _treemap_round__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./treemap/round */ \"./node_modules/d3-hierarchy/src/treemap/round.js\");\n/* harmony import */ var _treemap_dice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./treemap/dice */ \"./node_modules/d3-hierarchy/src/treemap/dice.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(_treemap_round__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n Object(_treemap_dice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/partition.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/stratify.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/stratify.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _accessors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./accessors */ \"./node_modules/d3-hierarchy/src/accessors.js\");\n/* harmony import */ var _hierarchy_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hierarchy/index */ \"./node_modules/d3-hierarchy/src/hierarchy/index.js\");\n\n\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new _hierarchy_index__WEBPACK_IMPORTED_MODULE_1__[\"Node\"](d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(_hierarchy_index__WEBPACK_IMPORTED_MODULE_1__[\"computeHeight\"]);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = Object(_accessors__WEBPACK_IMPORTED_MODULE_0__[\"required\"])(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = Object(_accessors__WEBPACK_IMPORTED_MODULE_0__[\"required\"])(x), stratify) : parentId;\n };\n\n return stratify;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/stratify.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/tree.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-hierarchy/src/tree.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hierarchy_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hierarchy/index */ \"./node_modules/d3-hierarchy/src/hierarchy/index.js\");\n\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(_hierarchy_index__WEBPACK_IMPORTED_MODULE_0__[\"Node\"].prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/tree.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/binary.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/binary.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/dice.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/dice.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/index.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/index.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _round__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./round */ \"./node_modules/d3-hierarchy/src/treemap/round.js\");\n/* harmony import */ var _squarify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./squarify */ \"./node_modules/d3-hierarchy/src/treemap/squarify.js\");\n/* harmony import */ var _accessors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../accessors */ \"./node_modules/d3-hierarchy/src/accessors.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constant */ \"./node_modules/d3-hierarchy/src/constant.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var tile = _squarify__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = _constant__WEBPACK_IMPORTED_MODULE_3__[\"constantZero\"],\n paddingTop = _constant__WEBPACK_IMPORTED_MODULE_3__[\"constantZero\"],\n paddingRight = _constant__WEBPACK_IMPORTED_MODULE_3__[\"constantZero\"],\n paddingBottom = _constant__WEBPACK_IMPORTED_MODULE_3__[\"constantZero\"],\n paddingLeft = _constant__WEBPACK_IMPORTED_MODULE_3__[\"constantZero\"];\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(_round__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = Object(_accessors__WEBPACK_IMPORTED_MODULE_2__[\"required\"])(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/resquarify.js": +/*!*************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/resquarify.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dice */ \"./node_modules/d3-hierarchy/src/treemap/dice.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/d3-hierarchy/src/treemap/slice.js\");\n/* harmony import */ var _squarify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./squarify */ \"./node_modules/d3-hierarchy/src/treemap/squarify.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) Object(_dice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = Object(_squarify__WEBPACK_IMPORTED_MODULE_2__[\"squarifyRatio\"])(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(_squarify__WEBPACK_IMPORTED_MODULE_2__[\"phi\"]));\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/round.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/round.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/round.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/slice.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/slice.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/sliceDice.js": +/*!************************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/sliceDice.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dice */ \"./node_modules/d3-hierarchy/src/treemap/dice.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/d3-hierarchy/src/treemap/slice.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? _slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"] : _dice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parent, x0, y0, x1, y1);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js?"); + +/***/ }), + +/***/ "./node_modules/d3-hierarchy/src/treemap/squarify.js": +/*!***********************************************************!*\ + !*** ./node_modules/d3-hierarchy/src/treemap/squarify.js ***! + \***********************************************************/ +/*! exports provided: phi, squarifyRatio, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"phi\", function() { return phi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"squarifyRatio\", function() { return squarifyRatio; });\n/* harmony import */ var _dice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dice */ \"./node_modules/d3-hierarchy/src/treemap/dice.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/d3-hierarchy/src/treemap/slice.js\");\n\n\n\nvar phi = (1 + Math.sqrt(5)) / 2;\n\nfunction squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) Object(_dice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi));\n\n\n//# sourceURL=webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/index.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-interpolate/index.js ***! + \**********************************************/ +/*! exports provided: interpolate, interpolateArray, interpolateBasis, interpolateBasisClosed, interpolateDate, interpolateNumber, interpolateObject, interpolateRound, interpolateString, interpolateTransformCss, interpolateTransformSvg, interpolateZoom, interpolateRgb, interpolateRgbBasis, interpolateRgbBasisClosed, interpolateHsl, interpolateHslLong, interpolateLab, interpolateHcl, interpolateHclLong, interpolateCubehelix, interpolateCubehelixLong, quantize */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/value */ \"./node_modules/d3-interpolate/src/value.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolate\", function() { return _src_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/array */ \"./node_modules/d3-interpolate/src/array.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateArray\", function() { return _src_array__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_basis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/basis */ \"./node_modules/d3-interpolate/src/basis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasis\", function() { return _src_basis__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_basisClosed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/basisClosed */ \"./node_modules/d3-interpolate/src/basisClosed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasisClosed\", function() { return _src_basisClosed__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_date__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/date */ \"./node_modules/d3-interpolate/src/date.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateDate\", function() { return _src_date__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/number */ \"./node_modules/d3-interpolate/src/number.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateNumber\", function() { return _src_number__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _src_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/object */ \"./node_modules/d3-interpolate/src/object.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateObject\", function() { return _src_object__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_round__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/round */ \"./node_modules/d3-interpolate/src/round.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateRound\", function() { return _src_round__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _src_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/string */ \"./node_modules/d3-interpolate/src/string.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateString\", function() { return _src_string__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _src_transform_index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/transform/index */ \"./node_modules/d3-interpolate/src/transform/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformCss\", function() { return _src_transform_index__WEBPACK_IMPORTED_MODULE_9__[\"interpolateTransformCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformSvg\", function() { return _src_transform_index__WEBPACK_IMPORTED_MODULE_9__[\"interpolateTransformSvg\"]; });\n\n/* harmony import */ var _src_zoom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/zoom */ \"./node_modules/d3-interpolate/src/zoom.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateZoom\", function() { return _src_zoom__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _src_rgb__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/rgb */ \"./node_modules/d3-interpolate/src/rgb.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgb\", function() { return _src_rgb__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasis\", function() { return _src_rgb__WEBPACK_IMPORTED_MODULE_11__[\"rgbBasis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasisClosed\", function() { return _src_rgb__WEBPACK_IMPORTED_MODULE_11__[\"rgbBasisClosed\"]; });\n\n/* harmony import */ var _src_hsl__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/hsl */ \"./node_modules/d3-interpolate/src/hsl.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateHsl\", function() { return _src_hsl__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateHslLong\", function() { return _src_hsl__WEBPACK_IMPORTED_MODULE_12__[\"hslLong\"]; });\n\n/* harmony import */ var _src_lab__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/lab */ \"./node_modules/d3-interpolate/src/lab.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateLab\", function() { return _src_lab__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_hcl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/hcl */ \"./node_modules/d3-interpolate/src/hcl.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateHcl\", function() { return _src_hcl__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateHclLong\", function() { return _src_hcl__WEBPACK_IMPORTED_MODULE_14__[\"hclLong\"]; });\n\n/* harmony import */ var _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/cubehelix */ \"./node_modules/d3-interpolate/src/cubehelix.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelix\", function() { return _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelixLong\", function() { return _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__[\"cubehelixLong\"]; });\n\n/* harmony import */ var _src_quantize__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/quantize */ \"./node_modules/d3-interpolate/src/quantize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantize\", function() { return _src_quantize__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/array.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-interpolate/src/array.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./value */ \"./node_modules/d3-interpolate/src/value.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = Object(_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/basis.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-interpolate/src/basis.js ***! + \**************************************************/ +/*! exports provided: basis, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"basis\", function() { return basis; });\nfunction basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/basis.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/basisClosed.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-interpolate/src/basisClosed.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./basis */ \"./node_modules/d3-interpolate/src/basis.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return Object(_basis__WEBPACK_IMPORTED_MODULE_0__[\"basis\"])((t - i / n) * n, v0, v1, v2, v3);\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/basisClosed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/color.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-interpolate/src/color.js ***! + \**************************************************/ +/*! exports provided: hue, gamma, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hue\", function() { return hue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gamma\", function() { return gamma; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return nogamma; });\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-interpolate/src/constant.js\");\n\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nfunction hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(isNaN(a) ? b : a);\n}\n\nfunction gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(isNaN(a) ? b : a);\n };\n}\n\nfunction nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(isNaN(a) ? b : a);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/color.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/constant.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-interpolate/src/constant.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/cubehelix.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-interpolate/src/cubehelix.js ***! + \******************************************************/ +/*! exports provided: default, cubehelixLong */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubehelixLong\", function() { return cubehelixLong; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-interpolate/src/color.js\");\n\n\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(end)).h),\n s = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.s, end.s),\n l = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.l, end.l),\n opacity = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cubehelix(_color__WEBPACK_IMPORTED_MODULE_1__[\"hue\"]));\nvar cubehelixLong = cubehelix(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/cubehelix.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/date.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-interpolate/src/date.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/date.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/hcl.js": +/*!************************************************!*\ + !*** ./node_modules/d3-interpolate/src/hcl.js ***! + \************************************************/ +/*! exports provided: default, hclLong */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hclLong\", function() { return hclLong; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-interpolate/src/color.js\");\n\n\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"hcl\"])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"hcl\"])(end)).h),\n c = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.c, end.c),\n l = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.l, end.l),\n opacity = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hcl(_color__WEBPACK_IMPORTED_MODULE_1__[\"hue\"]));\nvar hclLong = hcl(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/hcl.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/hsl.js": +/*!************************************************!*\ + !*** ./node_modules/d3-interpolate/src/hsl.js ***! + \************************************************/ +/*! exports provided: default, hslLong */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hslLong\", function() { return hslLong; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-interpolate/src/color.js\");\n\n\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"hsl\"])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"hsl\"])(end)).h),\n s = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.s, end.s),\n l = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.l, end.l),\n opacity = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hsl(_color__WEBPACK_IMPORTED_MODULE_1__[\"hue\"]));\nvar hslLong = hsl(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/hsl.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/lab.js": +/*!************************************************!*\ + !*** ./node_modules/d3-interpolate/src/lab.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lab; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-interpolate/src/color.js\");\n\n\n\nfunction lab(start, end) {\n var l = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"lab\"])(start)).l, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"lab\"])(end)).l),\n a = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.a, end.a),\n b = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.b, end.b),\n opacity = Object(_color__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/lab.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/number.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-interpolate/src/number.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/number.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/object.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-interpolate/src/object.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./value */ \"./node_modules/d3-interpolate/src/value.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = Object(_value__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/object.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/quantize.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-interpolate/src/quantize.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/quantize.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/rgb.js": +/*!************************************************!*\ + !*** ./node_modules/d3-interpolate/src/rgb.js ***! + \************************************************/ +/*! exports provided: default, rgbBasis, rgbBasisClosed */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgbBasis\", function() { return rgbBasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgbBasisClosed\", function() { return rgbBasisClosed; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _basis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./basis */ \"./node_modules/d3-interpolate/src/basis.js\");\n/* harmony import */ var _basisClosed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./basisClosed */ \"./node_modules/d3-interpolate/src/basisClosed.js\");\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./color */ \"./node_modules/d3-interpolate/src/color.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function rgbGamma(y) {\n var color = Object(_color__WEBPACK_IMPORTED_MODULE_3__[\"gamma\"])(y);\n\n function rgb(start, end) {\n var r = color((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"])(start)).r, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"])(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = Object(_color__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1));\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"])(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nvar rgbBasis = rgbSpline(_basis__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nvar rgbBasisClosed = rgbSpline(_basisClosed__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/rgb.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/round.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-interpolate/src/round.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/round.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/string.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-interpolate/src/string.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-interpolate/src/number.js\");\n\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/string.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/transform/decompose.js": +/*!****************************************************************!*\ + !*** ./node_modules/d3-interpolate/src/transform/decompose.js ***! + \****************************************************************/ +/*! exports provided: identity, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return identity; });\nvar degrees = 180 / Math.PI;\n\nvar identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/transform/decompose.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/transform/index.js": +/*!************************************************************!*\ + !*** ./node_modules/d3-interpolate/src/transform/index.js ***! + \************************************************************/ +/*! exports provided: interpolateTransformCss, interpolateTransformSvg */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformCss\", function() { return interpolateTransformCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformSvg\", function() { return interpolateTransformSvg; });\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../number */ \"./node_modules/d3-interpolate/src/number.js\");\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parse */ \"./node_modules/d3-interpolate/src/transform/parse.js\");\n\n\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xa, xb)}, {i: i - 2, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xa, xb)}, {i: i - 2, x: Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nvar interpolateTransformCss = interpolateTransform(_parse__WEBPACK_IMPORTED_MODULE_1__[\"parseCss\"], \"px, \", \"px)\", \"deg)\");\nvar interpolateTransformSvg = interpolateTransform(_parse__WEBPACK_IMPORTED_MODULE_1__[\"parseSvg\"], \", \", \")\", \")\");\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/transform/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/transform/parse.js": +/*!************************************************************!*\ + !*** ./node_modules/d3-interpolate/src/transform/parse.js ***! + \************************************************************/ +/*! exports provided: parseCss, parseSvg */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseCss\", function() { return parseCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseSvg\", function() { return parseSvg; });\n/* harmony import */ var _decompose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decompose */ \"./node_modules/d3-interpolate/src/transform/decompose.js\");\n\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nfunction parseCss(value) {\n if (value === \"none\") return _decompose__WEBPACK_IMPORTED_MODULE_0__[\"identity\"];\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return Object(_decompose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nfunction parseSvg(value) {\n if (value == null) return _decompose__WEBPACK_IMPORTED_MODULE_0__[\"identity\"];\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return _decompose__WEBPACK_IMPORTED_MODULE_0__[\"identity\"];\n value = value.matrix;\n return Object(_decompose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/transform/parse.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/value.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-interpolate/src/value.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var _rgb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rgb */ \"./node_modules/d3-interpolate/src/rgb.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-interpolate/src/array.js\");\n/* harmony import */ var _date__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./date */ \"./node_modules/d3-interpolate/src/date.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-interpolate/src/number.js\");\n/* harmony import */ var _object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./object */ \"./node_modules/d3-interpolate/src/object.js\");\n/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./string */ \"./node_modules/d3-interpolate/src/string.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-interpolate/src/constant.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? Object(_constant__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(b)\n : (t === \"number\" ? _number__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n : t === \"string\" ? ((c = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"color\"])(b)) ? (b = c, _rgb__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) : _string__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n : b instanceof d3_color__WEBPACK_IMPORTED_MODULE_0__[\"color\"] ? _rgb__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n : b instanceof Date ? _date__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n : Array.isArray(b) ? _array__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? _object__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n : _number__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a, b);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/value.js?"); + +/***/ }), + +/***/ "./node_modules/d3-interpolate/src/zoom.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-interpolate/src/zoom.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-interpolate/src/zoom.js?"); + +/***/ }), + +/***/ "./node_modules/d3-path/index.js": +/*!***************************************!*\ + !*** ./node_modules/d3-path/index.js ***! + \***************************************/ +/*! exports provided: path */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/path */ \"./node_modules/d3-path/src/path.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"path\", function() { return _src_path__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-path/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-path/src/path.js": +/*!******************************************!*\ + !*** ./node_modules/d3-path/src/path.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) {}\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (path);\n\n\n//# sourceURL=webpack:///./node_modules/d3-path/src/path.js?"); + +/***/ }), + +/***/ "./node_modules/d3-sankey/index.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-sankey/index.js ***! + \*****************************************/ +/*! exports provided: sankey, sankeyCenter, sankeyLeft, sankeyRight, sankeyJustify, sankeyLinkHorizontal */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_sankey__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/sankey */ \"./node_modules/d3-sankey/src/sankey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankey\", function() { return _src_sankey__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/align */ \"./node_modules/d3-sankey/src/align.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankeyCenter\", function() { return _src_align__WEBPACK_IMPORTED_MODULE_1__[\"center\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankeyLeft\", function() { return _src_align__WEBPACK_IMPORTED_MODULE_1__[\"left\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankeyRight\", function() { return _src_align__WEBPACK_IMPORTED_MODULE_1__[\"right\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankeyJustify\", function() { return _src_align__WEBPACK_IMPORTED_MODULE_1__[\"justify\"]; });\n\n/* harmony import */ var _src_sankeyLinkHorizontal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/sankeyLinkHorizontal */ \"./node_modules/d3-sankey/src/sankeyLinkHorizontal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sankeyLinkHorizontal\", function() { return _src_sankeyLinkHorizontal__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-sankey/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-sankey/src/align.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-sankey/src/align.js ***! + \*********************************************/ +/*! exports provided: left, right, justify, center */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"left\", function() { return left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"right\", function() { return right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"justify\", function() { return justify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"center\", function() { return center; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nfunction left(node) {\n return node.depth;\n}\n\nfunction right(node, n) {\n return n - 1 - node.height;\n}\n\nfunction justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nfunction center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-sankey/src/align.js?"); + +/***/ }), + +/***/ "./node_modules/d3-sankey/src/constant.js": +/*!************************************************!*\ + !*** ./node_modules/d3-sankey/src/constant.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return constant; });\nfunction constant(x) {\n return function() {\n return x;\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-sankey/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-sankey/src/sankey.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-sankey/src/sankey.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-collection */ \"./node_modules/d3-collection/index.js\");\n/* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./align */ \"./node_modules/d3-sankey/src/align.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-sankey/src/constant.js\");\n\n\n\n\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction nodeCenter(node) {\n return (node.y0 + node.y1) / 2;\n}\n\nfunction weightedSource(link) {\n return nodeCenter(link.source) * link.value;\n}\n\nfunction weightedTarget(link) {\n return nodeCenter(link.target) * link.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n var node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x0 = 0, y0 = 0, x1 = 1, y1 = 1, // extent\n dx = 24, // nodeWidth\n py = 8, // nodePadding\n id = defaultId,\n align = _align__WEBPACK_IMPORTED_MODULE_2__[\"justify\"],\n nodes = defaultNodes,\n links = defaultLinks,\n iterations = 32;\n\n function sankey() {\n var graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeBreadths(graph, iterations);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_), sankey) : align;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (py = +_, sankey) : py;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_), sankey) : links;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks(graph) {\n graph.nodes.forEach(function(node, i) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n });\n var nodeById = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[\"map\"])(graph.nodes, id);\n graph.links.forEach(function(link, i) {\n link.index = i;\n var source = link.source, target = link.target;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n }\n\n // Compute the value (size) of each node by summing the associated links.\n function computeNodeValues(graph) {\n graph.nodes.forEach(function(node) {\n node.value = Math.max(\n Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.sourceLinks, value),\n Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.targetLinks, value)\n );\n });\n }\n\n // Iteratively assign the depth (x-position) for each node.\n // Nodes are assigned the maximum depth of incoming neighbors plus one;\n // nodes with no incoming links are assigned depth zero, while\n // nodes with no outgoing links are assigned the maximum depth.\n function computeNodeDepths(graph) {\n var nodes, next, x;\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function(node) {\n node.depth = x;\n node.sourceLinks.forEach(function(link) {\n if (next.indexOf(link.target) < 0) {\n next.push(link.target);\n }\n });\n });\n }\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function(node) {\n node.height = x;\n node.targetLinks.forEach(function(link) {\n if (next.indexOf(link.source) < 0) {\n next.push(link.source);\n }\n });\n });\n }\n\n var kx = (x1 - x0 - dx) / (x - 1);\n graph.nodes.forEach(function(node) {\n node.x1 = (node.x0 = x0 + Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x)))) * kx) + dx;\n });\n }\n\n function computeNodeBreadths(graph) {\n var columns = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[\"nest\"])()\n .key(function(d) { return d.x0; })\n .sortKeys(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"ascending\"])\n .entries(graph.nodes)\n .map(function(d) { return d.values; });\n\n //\n initializeNodeBreadth();\n resolveCollisions();\n for (var alpha = 1, n = iterations; n > 0; --n) {\n relaxRightToLeft(alpha *= 0.99);\n resolveCollisions();\n relaxLeftToRight(alpha);\n resolveCollisions();\n }\n\n function initializeNodeBreadth() {\n var ky = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"min\"])(columns, function(nodes) {\n return (y1 - y0 - (nodes.length - 1) * py) / Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(nodes, value);\n });\n\n columns.forEach(function(nodes) {\n nodes.forEach(function(node, i) {\n node.y1 = (node.y0 = i) + node.value * ky;\n });\n });\n\n graph.links.forEach(function(link) {\n link.width = link.value * ky;\n });\n }\n\n function relaxLeftToRight(alpha) {\n columns.forEach(function(nodes) {\n nodes.forEach(function(node) {\n if (node.targetLinks.length) {\n var dy = (Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.targetLinks, weightedSource) / Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.targetLinks, value) - nodeCenter(node)) * alpha;\n node.y0 += dy, node.y1 += dy;\n }\n });\n });\n }\n\n function relaxRightToLeft(alpha) {\n columns.slice().reverse().forEach(function(nodes) {\n nodes.forEach(function(node) {\n if (node.sourceLinks.length) {\n var dy = (Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.sourceLinks, weightedTarget) / Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"sum\"])(node.sourceLinks, value) - nodeCenter(node)) * alpha;\n node.y0 += dy, node.y1 += dy;\n }\n });\n });\n }\n\n function resolveCollisions() {\n columns.forEach(function(nodes) {\n var node,\n dy,\n y = y0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingBreadth);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dy = y - node.y0;\n if (dy > 0) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y - py - y1;\n if (dy > 0) {\n y = (node.y0 -= dy), node.y1 -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y1 + py - y;\n if (dy > 0) node.y0 -= dy, node.y1 -= dy;\n y = node.y0;\n }\n }\n });\n }\n }\n\n function computeLinkBreadths(graph) {\n graph.nodes.forEach(function(node) {\n node.sourceLinks.sort(ascendingTargetBreadth);\n node.targetLinks.sort(ascendingSourceBreadth);\n });\n graph.nodes.forEach(function(node) {\n var y0 = node.y0, y1 = y0;\n node.sourceLinks.forEach(function(link) {\n link.y0 = y0 + link.width / 2, y0 += link.width;\n });\n node.targetLinks.forEach(function(link) {\n link.y1 = y1 + link.width / 2, y1 += link.width;\n });\n });\n }\n\n return sankey;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-sankey/src/sankey.js?"); + +/***/ }), + +/***/ "./node_modules/d3-sankey/src/sankeyLinkHorizontal.js": +/*!************************************************************!*\ + !*** ./node_modules/d3-sankey/src/sankeyLinkHorizontal.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_shape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-shape */ \"./node_modules/d3-shape/index.js\");\n\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(d3_shape__WEBPACK_IMPORTED_MODULE_0__[\"linkHorizontal\"])()\n .source(horizontalSource)\n .target(horizontalTarget);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-sankey/src/sankeyLinkHorizontal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/index.js": +/*!****************************************!*\ + !*** ./node_modules/d3-scale/index.js ***! + \****************************************/ +/*! exports provided: scaleBand, scalePoint, scaleIdentity, scaleLinear, scaleLog, scaleOrdinal, scaleImplicit, scalePow, scaleSqrt, scaleQuantile, scaleQuantize, scaleThreshold, scaleTime, scaleUtc, schemeCategory10, schemeCategory20b, schemeCategory20c, schemeCategory20, interpolateCubehelixDefault, interpolateRainbow, interpolateWarm, interpolateCool, interpolateViridis, interpolateMagma, interpolateInferno, interpolatePlasma, scaleSequential */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_band__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/band */ \"./node_modules/d3-scale/src/band.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleBand\", function() { return _src_band__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scalePoint\", function() { return _src_band__WEBPACK_IMPORTED_MODULE_0__[\"point\"]; });\n\n/* harmony import */ var _src_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/identity */ \"./node_modules/d3-scale/src/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleIdentity\", function() { return _src_identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/linear */ \"./node_modules/d3-scale/src/linear.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleLinear\", function() { return _src_linear__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/log */ \"./node_modules/d3-scale/src/log.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleLog\", function() { return _src_log__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_ordinal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/ordinal */ \"./node_modules/d3-scale/src/ordinal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleOrdinal\", function() { return _src_ordinal__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleImplicit\", function() { return _src_ordinal__WEBPACK_IMPORTED_MODULE_4__[\"implicit\"]; });\n\n/* harmony import */ var _src_pow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/pow */ \"./node_modules/d3-scale/src/pow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scalePow\", function() { return _src_pow__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleSqrt\", function() { return _src_pow__WEBPACK_IMPORTED_MODULE_5__[\"sqrt\"]; });\n\n/* harmony import */ var _src_quantile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/quantile */ \"./node_modules/d3-scale/src/quantile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleQuantile\", function() { return _src_quantile__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_quantize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/quantize */ \"./node_modules/d3-scale/src/quantize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleQuantize\", function() { return _src_quantize__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _src_threshold__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/threshold */ \"./node_modules/d3-scale/src/threshold.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleThreshold\", function() { return _src_threshold__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _src_time__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/time */ \"./node_modules/d3-scale/src/time.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleTime\", function() { return _src_time__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _src_utcTime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/utcTime */ \"./node_modules/d3-scale/src/utcTime.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleUtc\", function() { return _src_utcTime__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _src_category10__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/category10 */ \"./node_modules/d3-scale/src/category10.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"schemeCategory10\", function() { return _src_category10__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _src_category20b__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/category20b */ \"./node_modules/d3-scale/src/category20b.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"schemeCategory20b\", function() { return _src_category20b__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _src_category20c__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/category20c */ \"./node_modules/d3-scale/src/category20c.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"schemeCategory20c\", function() { return _src_category20c__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_category20__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/category20 */ \"./node_modules/d3-scale/src/category20.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"schemeCategory20\", function() { return _src_category20__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/cubehelix */ \"./node_modules/d3-scale/src/cubehelix.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelixDefault\", function() { return _src_cubehelix__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _src_rainbow__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/rainbow */ \"./node_modules/d3-scale/src/rainbow.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateRainbow\", function() { return _src_rainbow__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateWarm\", function() { return _src_rainbow__WEBPACK_IMPORTED_MODULE_16__[\"warm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateCool\", function() { return _src_rainbow__WEBPACK_IMPORTED_MODULE_16__[\"cool\"]; });\n\n/* harmony import */ var _src_viridis__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/viridis */ \"./node_modules/d3-scale/src/viridis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateViridis\", function() { return _src_viridis__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateMagma\", function() { return _src_viridis__WEBPACK_IMPORTED_MODULE_17__[\"magma\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolateInferno\", function() { return _src_viridis__WEBPACK_IMPORTED_MODULE_17__[\"inferno\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interpolatePlasma\", function() { return _src_viridis__WEBPACK_IMPORTED_MODULE_17__[\"plasma\"]; });\n\n/* harmony import */ var _src_sequential__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/sequential */ \"./node_modules/d3-scale/src/sequential.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scaleSequential\", function() { return _src_sequential__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/array.js": +/*!********************************************!*\ + !*** ./node_modules/d3-scale/src/array.js ***! + \********************************************/ +/*! exports provided: map, slice */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\nvar array = Array.prototype;\n\nvar map = array.map;\nvar slice = array.slice;\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/band.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-scale/src/band.js ***! + \*******************************************/ +/*! exports provided: default, point */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return band; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"point\", function() { return point; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _ordinal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ordinal */ \"./node_modules/d3-scale/src/ordinal.js\");\n\n\n\nfunction band() {\n var scale = Object(_ordinal__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nfunction point() {\n return pointish(band().paddingInner(1));\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/band.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/category10.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-scale/src/category10.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/d3-scale/src/colors.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\"));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/category10.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/category20.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-scale/src/category20.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/d3-scale/src/colors.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5\"));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/category20.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/category20b.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-scale/src/category20b.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/d3-scale/src/colors.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6\"));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/category20b.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/category20c.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-scale/src/category20c.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/d3-scale/src/colors.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9\"));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/category20c.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/colors.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-scale/src/colors.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(s) {\n return s.match(/.{6}/g).map(function(x) {\n return \"#\" + x;\n });\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/colors.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/constant.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-scale/src/constant.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/continuous.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-scale/src/continuous.js ***! + \*************************************************/ +/*! exports provided: deinterpolateLinear, copy, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deinterpolateLinear\", function() { return deinterpolateLinear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copy\", function() { return copy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return continuous; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-interpolate */ \"./node_modules/d3-interpolate/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-scale/src/constant.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-scale/src/number.js\");\n\n\n\n\n\n\nvar unit = [0, 1];\n\nfunction deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : Object(_constant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"bisect\"])(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nfunction copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nfunction continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolate\"],\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_2__[\"map\"].call(_, _number__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_2__[\"slice\"].call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = _array__WEBPACK_IMPORTED_MODULE_2__[\"slice\"].call(_), interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateRound\"], rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/continuous.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/cubehelix.js": +/*!************************************************!*\ + !*** ./node_modules/d3-scale/src/cubehelix.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-interpolate */ \"./node_modules/d3-interpolate/index.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateCubehelixLong\"])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(300, 0.5, 0.0), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(-240, 0.5, 1.0)));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/cubehelix.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/identity.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-scale/src/identity.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return identity; });\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n/* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./linear */ \"./node_modules/d3-scale/src/linear.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-scale/src/number.js\");\n\n\n\n\nfunction identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_0__[\"map\"].call(_, _number__WEBPACK_IMPORTED_MODULE_2__[\"default\"]), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return Object(_linear__WEBPACK_IMPORTED_MODULE_1__[\"linearish\"])(scale);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/linear.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-scale/src/linear.js ***! + \*********************************************/ +/*! exports provided: linearish, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linearish\", function() { return linearish; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return linear; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-interpolate */ \"./node_modules/d3-interpolate/index.js\");\n/* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./continuous */ \"./node_modules/d3-scale/src/continuous.js\");\n/* harmony import */ var _tickFormat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tickFormat */ \"./node_modules/d3-scale/src/tickFormat.js\");\n\n\n\n\n\nfunction linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"ticks\"])(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return Object(_tickFormat__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickIncrement\"])(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickIncrement\"])(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickIncrement\"])(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nfunction linear() {\n var scale = Object(_continuous__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_continuous__WEBPACK_IMPORTED_MODULE_2__[\"deinterpolateLinear\"], d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateNumber\"]);\n\n scale.copy = function() {\n return Object(_continuous__WEBPACK_IMPORTED_MODULE_2__[\"copy\"])(scale, linear());\n };\n\n return linearish(scale);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/linear.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/log.js": +/*!******************************************!*\ + !*** ./node_modules/d3-scale/src/log.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return log; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-format */ \"./node_modules/d3-format/index.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-scale/src/constant.js\");\n/* harmony import */ var _nice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nice */ \"./node_modules/d3-scale/src/nice.js\");\n/* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./continuous */ \"./node_modules/d3-scale/src/continuous.js\");\n\n\n\n\n\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nfunction log() {\n var scale = Object(_continuous__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"ticks\"])(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(Object(_nice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return Object(_continuous__WEBPACK_IMPORTED_MODULE_4__[\"copy\"])(scale, log().base(base));\n };\n\n return scale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/log.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/nice.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-scale/src/nice.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/nice.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/number.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-scale/src/number.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return +x;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/number.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/ordinal.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-scale/src/ordinal.js ***! + \**********************************************/ +/*! exports provided: implicit, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"implicit\", function() { return implicit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ordinal; });\n/* harmony import */ var d3_collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-collection */ \"./node_modules/d3-collection/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n\n\n\nvar implicit = {name: \"implicit\"};\n\nfunction ordinal(range) {\n var index = Object(d3_collection__WEBPACK_IMPORTED_MODULE_0__[\"map\"])(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = Object(d3_collection__WEBPACK_IMPORTED_MODULE_0__[\"map\"])();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/ordinal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/pow.js": +/*!******************************************!*\ + !*** ./node_modules/d3-scale/src/pow.js ***! + \******************************************/ +/*! exports provided: default, sqrt */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sqrt\", function() { return sqrt; });\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-scale/src/constant.js\");\n/* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./linear */ \"./node_modules/d3-scale/src/linear.js\");\n/* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./continuous */ \"./node_modules/d3-scale/src/continuous.js\");\n\n\n\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nfunction pow() {\n var exponent = 1,\n scale = Object(_continuous__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return Object(_continuous__WEBPACK_IMPORTED_MODULE_2__[\"copy\"])(scale, pow().exponent(exponent));\n };\n\n return Object(_linear__WEBPACK_IMPORTED_MODULE_1__[\"linearish\"])(scale);\n}\n\nfunction sqrt() {\n return pow().exponent(0.5);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/pow.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/quantile.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-scale/src/quantile.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return quantile; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n\n\n\nfunction quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"quantile\"])(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"bisect\"])(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"ascending\"]);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/quantile.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/quantize.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-scale/src/quantize.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return quantize; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n/* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./linear */ \"./node_modules/d3-scale/src/linear.js\");\n\n\n\n\nfunction quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"bisect\"])(domain, x, 0, n)];\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return Object(_linear__WEBPACK_IMPORTED_MODULE_2__[\"linearish\"])(scale);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/quantize.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/rainbow.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-scale/src/rainbow.js ***! + \**********************************************/ +/*! exports provided: warm, cool, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warm\", function() { return warm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cool\", function() { return cool; });\n/* harmony import */ var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-color */ \"./node_modules/d3-color/index.js\");\n/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-interpolate */ \"./node_modules/d3-interpolate/index.js\");\n\n\n\nvar warm = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateCubehelixLong\"])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(-100, 0.75, 0.35), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(80, 1.50, 0.8));\n\nvar cool = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateCubehelixLong\"])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(260, 0.75, 0.35), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])(80, 1.50, 0.8));\n\nvar rainbow = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__[\"cubehelix\"])();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n rainbow.h = 360 * t - 100;\n rainbow.s = 1.5 - 1.5 * ts;\n rainbow.l = 0.8 - 0.9 * ts;\n return rainbow + \"\";\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/rainbow.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/sequential.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-scale/src/sequential.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return sequential; });\n/* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./linear */ \"./node_modules/d3-scale/src/linear.js\");\n\n\nfunction sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) / (x1 - x0);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return Object(_linear__WEBPACK_IMPORTED_MODULE_0__[\"linearish\"])(scale);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/sequential.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/threshold.js": +/*!************************************************!*\ + !*** ./node_modules/d3-scale/src/threshold.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return threshold; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n\n\n\nfunction threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"bisect\"])(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/threshold.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/tickFormat.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-scale/src/tickFormat.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-format */ \"./node_modules/d3-format/index.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickStep\"])(start, stop, count == null ? 10 : count),\n precision;\n specifier = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"formatSpecifier\"])(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"precisionPrefix\"])(step, value))) specifier.precision = precision;\n return Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"formatPrefix\"])(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"precisionRound\"])(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"precisionFixed\"])(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return Object(d3_format__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(specifier);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/tickFormat.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/time.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-scale/src/time.js ***! + \*******************************************/ +/*! exports provided: calendar, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calendar\", function() { return calendar; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"./node_modules/d3-array/index.js\");\n/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-interpolate */ \"./node_modules/d3-interpolate/index.js\");\n/* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-time */ \"./node_modules/d3-time/index.js\");\n/* harmony import */ var d3_time_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-time-format */ \"./node_modules/d3-time-format/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-scale/src/array.js\");\n/* harmony import */ var _continuous__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./continuous */ \"./node_modules/d3-scale/src/continuous.js\");\n/* harmony import */ var _nice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./nice */ \"./node_modules/d3-scale/src/nice.js\");\n\n\n\n\n\n\n\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nfunction calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = Object(_continuous__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_continuous__WEBPACK_IMPORTED_MODULE_5__[\"deinterpolateLinear\"], d3_interpolate__WEBPACK_IMPORTED_MODULE_1__[\"interpolateNumber\"]),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"bisector\"])(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickStep\"])(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[\"tickStep\"])(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(_array__WEBPACK_IMPORTED_MODULE_4__[\"map\"].call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(Object(_nice__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return Object(_continuous__WEBPACK_IMPORTED_MODULE_5__[\"copy\"])(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return calendar(d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeYear\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeMonth\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeWeek\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeDay\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeHour\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeMinute\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeSecond\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"timeMillisecond\"], d3_time_format__WEBPACK_IMPORTED_MODULE_3__[\"timeFormat\"]).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/time.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/utcTime.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-scale/src/utcTime.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time */ \"./node_modules/d3-scale/src/time.js\");\n/* harmony import */ var d3_time_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3-time-format */ \"./node_modules/d3-time-format/index.js\");\n/* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-time */ \"./node_modules/d3-time/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return Object(_time__WEBPACK_IMPORTED_MODULE_0__[\"calendar\"])(d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcYear\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcMonth\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcWeek\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcDay\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcHour\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcMinute\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcSecond\"], d3_time__WEBPACK_IMPORTED_MODULE_2__[\"utcMillisecond\"], d3_time_format__WEBPACK_IMPORTED_MODULE_1__[\"utcFormat\"]).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/utcTime.js?"); + +/***/ }), + +/***/ "./node_modules/d3-scale/src/viridis.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-scale/src/viridis.js ***! + \**********************************************/ +/*! exports provided: default, magma, inferno, plasma */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"magma\", function() { return magma; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inferno\", function() { return inferno; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"plasma\", function() { return plasma; });\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/d3-scale/src/colors.js\");\n\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ramp(Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\")));\n\nvar magma = ramp(Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nvar inferno = ramp(Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nvar plasma = ramp(Object(_colors__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n\n\n//# sourceURL=webpack:///./node_modules/d3-scale/src/viridis.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/index.js": +/*!****************************************!*\ + !*** ./node_modules/d3-shape/index.js ***! + \****************************************/ +/*! exports provided: arc, area, line, pie, areaRadial, radialArea, lineRadial, radialLine, pointRadial, linkHorizontal, linkVertical, linkRadial, symbol, symbols, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye, curveBasisClosed, curveBasisOpen, curveBasis, curveBundle, curveCardinalClosed, curveCardinalOpen, curveCardinal, curveCatmullRomClosed, curveCatmullRomOpen, curveCatmullRom, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore, stack, stackOffsetExpand, stackOffsetDiverging, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle, stackOrderAscending, stackOrderDescending, stackOrderInsideOut, stackOrderNone, stackOrderReverse */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_arc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/arc */ \"./node_modules/d3-shape/src/arc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arc\", function() { return _src_arc__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_area__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/area */ \"./node_modules/d3-shape/src/area.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"area\", function() { return _src_area__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_line__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/line */ \"./node_modules/d3-shape/src/line.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"line\", function() { return _src_line__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_pie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/pie */ \"./node_modules/d3-shape/src/pie.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pie\", function() { return _src_pie__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _src_areaRadial__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/areaRadial */ \"./node_modules/d3-shape/src/areaRadial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"areaRadial\", function() { return _src_areaRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radialArea\", function() { return _src_areaRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _src_lineRadial__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/lineRadial */ \"./node_modules/d3-shape/src/lineRadial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineRadial\", function() { return _src_lineRadial__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radialLine\", function() { return _src_lineRadial__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _src_pointRadial__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/pointRadial */ \"./node_modules/d3-shape/src/pointRadial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pointRadial\", function() { return _src_pointRadial__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _src_link_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/link/index */ \"./node_modules/d3-shape/src/link/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"linkHorizontal\", function() { return _src_link_index__WEBPACK_IMPORTED_MODULE_7__[\"linkHorizontal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"linkVertical\", function() { return _src_link_index__WEBPACK_IMPORTED_MODULE_7__[\"linkVertical\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"linkRadial\", function() { return _src_link_index__WEBPACK_IMPORTED_MODULE_7__[\"linkRadial\"]; });\n\n/* harmony import */ var _src_symbol__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/symbol */ \"./node_modules/d3-shape/src/symbol.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbol\", function() { return _src_symbol__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbols\", function() { return _src_symbol__WEBPACK_IMPORTED_MODULE_8__[\"symbols\"]; });\n\n/* harmony import */ var _src_symbol_circle__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/symbol/circle */ \"./node_modules/d3-shape/src/symbol/circle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolCircle\", function() { return _src_symbol_circle__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_cross__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/symbol/cross */ \"./node_modules/d3-shape/src/symbol/cross.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolCross\", function() { return _src_symbol_cross__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_diamond__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/symbol/diamond */ \"./node_modules/d3-shape/src/symbol/diamond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolDiamond\", function() { return _src_symbol_diamond__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_square__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/symbol/square */ \"./node_modules/d3-shape/src/symbol/square.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolSquare\", function() { return _src_symbol_square__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_star__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/symbol/star */ \"./node_modules/d3-shape/src/symbol/star.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolStar\", function() { return _src_symbol_star__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_triangle__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/symbol/triangle */ \"./node_modules/d3-shape/src/symbol/triangle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolTriangle\", function() { return _src_symbol_triangle__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _src_symbol_wye__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/symbol/wye */ \"./node_modules/d3-shape/src/symbol/wye.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symbolWye\", function() { return _src_symbol_wye__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _src_curve_basisClosed__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/curve/basisClosed */ \"./node_modules/d3-shape/src/curve/basisClosed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveBasisClosed\", function() { return _src_curve_basisClosed__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _src_curve_basisOpen__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/curve/basisOpen */ \"./node_modules/d3-shape/src/curve/basisOpen.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveBasisOpen\", function() { return _src_curve_basisOpen__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _src_curve_basis__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/curve/basis */ \"./node_modules/d3-shape/src/curve/basis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveBasis\", function() { return _src_curve_basis__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _src_curve_bundle__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./src/curve/bundle */ \"./node_modules/d3-shape/src/curve/bundle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveBundle\", function() { return _src_curve_bundle__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _src_curve_cardinalClosed__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./src/curve/cardinalClosed */ \"./node_modules/d3-shape/src/curve/cardinalClosed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCardinalClosed\", function() { return _src_curve_cardinalClosed__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _src_curve_cardinalOpen__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./src/curve/cardinalOpen */ \"./node_modules/d3-shape/src/curve/cardinalOpen.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCardinalOpen\", function() { return _src_curve_cardinalOpen__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _src_curve_cardinal__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./src/curve/cardinal */ \"./node_modules/d3-shape/src/curve/cardinal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCardinal\", function() { return _src_curve_cardinal__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _src_curve_catmullRomClosed__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./src/curve/catmullRomClosed */ \"./node_modules/d3-shape/src/curve/catmullRomClosed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCatmullRomClosed\", function() { return _src_curve_catmullRomClosed__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _src_curve_catmullRomOpen__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./src/curve/catmullRomOpen */ \"./node_modules/d3-shape/src/curve/catmullRomOpen.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCatmullRomOpen\", function() { return _src_curve_catmullRomOpen__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _src_curve_catmullRom__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./src/curve/catmullRom */ \"./node_modules/d3-shape/src/curve/catmullRom.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveCatmullRom\", function() { return _src_curve_catmullRom__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _src_curve_linearClosed__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./src/curve/linearClosed */ \"./node_modules/d3-shape/src/curve/linearClosed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveLinearClosed\", function() { return _src_curve_linearClosed__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _src_curve_linear__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./src/curve/linear */ \"./node_modules/d3-shape/src/curve/linear.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveLinear\", function() { return _src_curve_linear__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _src_curve_monotone__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./src/curve/monotone */ \"./node_modules/d3-shape/src/curve/monotone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveMonotoneX\", function() { return _src_curve_monotone__WEBPACK_IMPORTED_MODULE_28__[\"monotoneX\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveMonotoneY\", function() { return _src_curve_monotone__WEBPACK_IMPORTED_MODULE_28__[\"monotoneY\"]; });\n\n/* harmony import */ var _src_curve_natural__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./src/curve/natural */ \"./node_modules/d3-shape/src/curve/natural.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveNatural\", function() { return _src_curve_natural__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _src_curve_step__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./src/curve/step */ \"./node_modules/d3-shape/src/curve/step.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveStep\", function() { return _src_curve_step__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveStepAfter\", function() { return _src_curve_step__WEBPACK_IMPORTED_MODULE_30__[\"stepAfter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curveStepBefore\", function() { return _src_curve_step__WEBPACK_IMPORTED_MODULE_30__[\"stepBefore\"]; });\n\n/* harmony import */ var _src_stack__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./src/stack */ \"./node_modules/d3-shape/src/stack.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stack\", function() { return _src_stack__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _src_offset_expand__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./src/offset/expand */ \"./node_modules/d3-shape/src/offset/expand.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOffsetExpand\", function() { return _src_offset_expand__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _src_offset_diverging__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./src/offset/diverging */ \"./node_modules/d3-shape/src/offset/diverging.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOffsetDiverging\", function() { return _src_offset_diverging__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _src_offset_none__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./src/offset/none */ \"./node_modules/d3-shape/src/offset/none.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOffsetNone\", function() { return _src_offset_none__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _src_offset_silhouette__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./src/offset/silhouette */ \"./node_modules/d3-shape/src/offset/silhouette.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOffsetSilhouette\", function() { return _src_offset_silhouette__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _src_offset_wiggle__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./src/offset/wiggle */ \"./node_modules/d3-shape/src/offset/wiggle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOffsetWiggle\", function() { return _src_offset_wiggle__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _src_order_ascending__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./src/order/ascending */ \"./node_modules/d3-shape/src/order/ascending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOrderAscending\", function() { return _src_order_ascending__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _src_order_descending__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./src/order/descending */ \"./node_modules/d3-shape/src/order/descending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOrderDescending\", function() { return _src_order_descending__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _src_order_insideOut__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./src/order/insideOut */ \"./node_modules/d3-shape/src/order/insideOut.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOrderInsideOut\", function() { return _src_order_insideOut__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _src_order_none__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./src/order/none */ \"./node_modules/d3-shape/src/order/none.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOrderNone\", function() { return _src_order_none__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _src_order_reverse__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./src/order/reverse */ \"./node_modules/d3-shape/src/order/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stackOrderReverse\", function() { return _src_order_reverse__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n\n\n\n\n // Note: radialArea is deprecated!\n // Note: radialLine is deprecated!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/arc.js": +/*!******************************************!*\ + !*** ./node_modules/d3-shape/src/arc.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-path */ \"./node_modules/d3-path/index.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-shape/src/math.js\");\n\n\n\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"max\"])(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"],\n a1 = endAngle.apply(this, arguments) - _math__WEBPACK_IMPORTED_MODULE_2__[\"halfPi\"],\n da = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"abs\"])(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__[\"path\"])();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"])) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > _math__WEBPACK_IMPORTED_MODULE_2__[\"tau\"] - _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n context.moveTo(r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a0), r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n context.moveTo(r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a1), r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) && (padRadius ? +padRadius.apply(this, arguments) : Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(r0 * r0 + r1 * r1)),\n rc = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"min\"])(Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"abs\"])(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n var p0 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"asin\"])(rp / r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(ap)),\n p1 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"asin\"])(rp / r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(ap));\n if ((da0 -= p0 * 2) > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a01),\n y01 = r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a01),\n x10 = r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a10),\n y10 = r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a10);\n\n // Apply rounded corners?\n if (rc > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n var x11 = r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a11),\n y11 = r1 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a11),\n x00 = r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a00),\n y00 = r0 * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"]) {\n var oc = da0 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"] ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"acos\"])((ax * bx + ay * by) / (Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(ax * ax + ay * ay) * Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(bx * bx + by * by))) / 2),\n lc = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sqrt\"])(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"min\"])(rc, (r0 - lc) / (kc - 1));\n rc1 = Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"min\"])(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"])) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y01, t0.x01), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y01, t0.x01), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.cy + t0.y11, t0.cx + t0.x11), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y11, t1.x11), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) || !(da0 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"])) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > _math__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y01, t0.x01), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y01, t0.x01), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t0.cy + t0.y11, t0.cx + t0.x11), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y11, t1.x11), Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"atan2\"])(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - _math__WEBPACK_IMPORTED_MODULE_2__[\"pi\"] / 2;\n return [Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"cos\"])(a) * r, Object(_math__WEBPACK_IMPORTED_MODULE_2__[\"sin\"])(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/arc.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/area.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-shape/src/area.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-path */ \"./node_modules/d3-path/index.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _curve_linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curve/linear */ \"./node_modules/d3-shape/src/curve/linear.js\");\n/* harmony import */ var _line__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./line */ \"./node_modules/d3-shape/src/line.js\");\n/* harmony import */ var _point__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./point */ \"./node_modules/d3-shape/src/point.js\");\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x0 = _point__WEBPACK_IMPORTED_MODULE_4__[\"x\"],\n x1 = null,\n y0 = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(0),\n y1 = _point__WEBPACK_IMPORTED_MODULE_4__[\"y\"],\n defined = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(true),\n context = null,\n curve = _curve_linear__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__[\"path\"])());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return Object(_line__WEBPACK_IMPORTED_MODULE_3__[\"default\"])().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/area.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/areaRadial.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/areaRadial.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curve_radial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curve/radial */ \"./node_modules/d3-shape/src/curve/radial.js\");\n/* harmony import */ var _area__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./area */ \"./node_modules/d3-shape/src/area.js\");\n/* harmony import */ var _lineRadial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lineRadial */ \"./node_modules/d3-shape/src/lineRadial.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var a = Object(_area__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().curve(_curve_radial__WEBPACK_IMPORTED_MODULE_0__[\"curveRadialLinear\"]),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return Object(_lineRadial__WEBPACK_IMPORTED_MODULE_2__[\"lineRadial\"])(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return Object(_lineRadial__WEBPACK_IMPORTED_MODULE_2__[\"lineRadial\"])(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return Object(_lineRadial__WEBPACK_IMPORTED_MODULE_2__[\"lineRadial\"])(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return Object(_lineRadial__WEBPACK_IMPORTED_MODULE_2__[\"lineRadial\"])(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(Object(_curve_radial__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_)) : c()._curve;\n };\n\n return a;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/areaRadial.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/array.js": +/*!********************************************!*\ + !*** ./node_modules/d3-shape/src/array.js ***! + \********************************************/ +/*! exports provided: slice */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\nvar slice = Array.prototype.slice;\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/array.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/constant.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-shape/src/constant.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function constant() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/basis.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/basis.js ***! + \**************************************************/ +/*! exports provided: point, Basis, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"point\", function() { return point; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Basis\", function() { return Basis; });\nfunction point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nfunction Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new Basis(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/basis.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/basisClosed.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/basisClosed.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-shape/src/noop.js\");\n/* harmony import */ var _basis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./basis */ \"./node_modules/d3-shape/src/curve/basis.js\");\n\n\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n areaEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: Object(_basis__WEBPACK_IMPORTED_MODULE_1__[\"point\"])(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new BasisClosed(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/basisClosed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/basisOpen.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/basisOpen.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./basis */ \"./node_modules/d3-shape/src/curve/basis.js\");\n\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: Object(_basis__WEBPACK_IMPORTED_MODULE_0__[\"point\"])(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new BasisOpen(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/basisOpen.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/bundle.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/bundle.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _basis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./basis */ \"./node_modules/d3-shape/src/curve/basis.js\");\n\n\nfunction Bundle(context, beta) {\n this._basis = new _basis__WEBPACK_IMPORTED_MODULE_0__[\"Basis\"](context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new _basis__WEBPACK_IMPORTED_MODULE_0__[\"Basis\"](context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/bundle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/cardinal.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/cardinal.js ***! + \*****************************************************/ +/*! exports provided: point, Cardinal, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"point\", function() { return point; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Cardinal\", function() { return Cardinal; });\nfunction point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nfunction Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/cardinal.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/cardinalClosed.js": +/*!***********************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/cardinalClosed.js ***! + \***********************************************************/ +/*! exports provided: CardinalClosed, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CardinalClosed\", function() { return CardinalClosed; });\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-shape/src/noop.js\");\n/* harmony import */ var _cardinal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cardinal */ \"./node_modules/d3-shape/src/curve/cardinal.js\");\n\n\n\nfunction CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n areaEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: Object(_cardinal__WEBPACK_IMPORTED_MODULE_1__[\"point\"])(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/cardinalOpen.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/cardinalOpen.js ***! + \*********************************************************/ +/*! exports provided: CardinalOpen, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CardinalOpen\", function() { return CardinalOpen; });\n/* harmony import */ var _cardinal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cardinal */ \"./node_modules/d3-shape/src/curve/cardinal.js\");\n\n\nfunction CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: Object(_cardinal__WEBPACK_IMPORTED_MODULE_0__[\"point\"])(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/catmullRom.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/catmullRom.js ***! + \*******************************************************/ +/*! exports provided: point, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"point\", function() { return point; });\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-shape/src/math.js\");\n/* harmony import */ var _cardinal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cardinal */ \"./node_modules/d3-shape/src/curve/cardinal.js\");\n\n\n\nfunction point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > _math__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new _cardinal__WEBPACK_IMPORTED_MODULE_1__[\"Cardinal\"](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/catmullRom.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/catmullRomClosed.js": +/*!*************************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/catmullRomClosed.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cardinalClosed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cardinalClosed */ \"./node_modules/d3-shape/src/curve/cardinalClosed.js\");\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-shape/src/noop.js\");\n/* harmony import */ var _catmullRom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./catmullRom */ \"./node_modules/d3-shape/src/curve/catmullRom.js\");\n\n\n\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: _noop__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n areaEnd: _noop__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: Object(_catmullRom__WEBPACK_IMPORTED_MODULE_2__[\"point\"])(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new _cardinalClosed__WEBPACK_IMPORTED_MODULE_0__[\"CardinalClosed\"](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/catmullRomOpen.js": +/*!***********************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/catmullRomOpen.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cardinalOpen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cardinalOpen */ \"./node_modules/d3-shape/src/curve/cardinalOpen.js\");\n/* harmony import */ var _catmullRom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./catmullRom */ \"./node_modules/d3-shape/src/curve/catmullRom.js\");\n\n\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: Object(_catmullRom__WEBPACK_IMPORTED_MODULE_1__[\"point\"])(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new _cardinalOpen__WEBPACK_IMPORTED_MODULE_0__[\"CardinalOpen\"](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/linear.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/linear.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nfunction Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new Linear(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/linear.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/linearClosed.js": +/*!*********************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/linearClosed.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../noop */ \"./node_modules/d3-shape/src/noop.js\");\n\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n areaEnd: _noop__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new LinearClosed(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/linearClosed.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/monotone.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/monotone.js ***! + \*****************************************************/ +/*! exports provided: monotoneX, monotoneY */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monotoneX\", function() { return monotoneX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monotoneY\", function() { return monotoneY; });\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nfunction monotoneX(context) {\n return new MonotoneX(context);\n}\n\nfunction monotoneY(context) {\n return new MonotoneY(context);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/monotone.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/natural.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/natural.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nfunction Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new Natural(context);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/natural.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/radial.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/radial.js ***! + \***************************************************/ +/*! exports provided: curveRadialLinear, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"curveRadialLinear\", function() { return curveRadialLinear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return curveRadial; });\n/* harmony import */ var _linear__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./linear */ \"./node_modules/d3-shape/src/curve/linear.js\");\n\n\nvar curveRadialLinear = curveRadial(_linear__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nfunction curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/radial.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/curve/step.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/curve/step.js ***! + \*************************************************/ +/*! exports provided: default, stepBefore, stepAfter */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stepBefore\", function() { return stepBefore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stepAfter\", function() { return stepAfter; });\nfunction Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(context) {\n return new Step(context, 0.5);\n});\n\nfunction stepBefore(context) {\n return new Step(context, 0);\n}\n\nfunction stepAfter(context) {\n return new Step(context, 1);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/curve/step.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/descending.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/descending.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/descending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/identity.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-shape/src/identity.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(d) {\n return d;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/identity.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/line.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-shape/src/line.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-path */ \"./node_modules/d3-path/index.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _curve_linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curve/linear */ \"./node_modules/d3-shape/src/curve/linear.js\");\n/* harmony import */ var _point__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./point */ \"./node_modules/d3-shape/src/point.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x = _point__WEBPACK_IMPORTED_MODULE_3__[\"x\"],\n y = _point__WEBPACK_IMPORTED_MODULE_3__[\"y\"],\n defined = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(true),\n context = null,\n curve = _curve_linear__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__[\"path\"])());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/line.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/lineRadial.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/lineRadial.js ***! + \*************************************************/ +/*! exports provided: lineRadial, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineRadial\", function() { return lineRadial; });\n/* harmony import */ var _curve_radial__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curve/radial */ \"./node_modules/d3-shape/src/curve/radial.js\");\n/* harmony import */ var _line__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./line */ \"./node_modules/d3-shape/src/line.js\");\n\n\n\nfunction lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(Object(_curve_radial__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_)) : c()._curve;\n };\n\n return l;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n return lineRadial(Object(_line__WEBPACK_IMPORTED_MODULE_1__[\"default\"])().curve(_curve_radial__WEBPACK_IMPORTED_MODULE_0__[\"curveRadialLinear\"]));\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/lineRadial.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/link/index.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/link/index.js ***! + \*************************************************/ +/*! exports provided: linkHorizontal, linkVertical, linkRadial */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkHorizontal\", function() { return linkHorizontal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkVertical\", function() { return linkVertical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkRadial\", function() { return linkRadial; });\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-path */ \"./node_modules/d3-path/index.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../array */ \"./node_modules/d3-shape/src/array.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _point__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../point */ \"./node_modules/d3-shape/src/point.js\");\n/* harmony import */ var _pointRadial__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../pointRadial */ \"./node_modules/d3-shape/src/pointRadial.js\");\n\n\n\n\n\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = _point__WEBPACK_IMPORTED_MODULE_3__[\"x\"],\n y = _point__WEBPACK_IMPORTED_MODULE_3__[\"y\"],\n context = null;\n\n function link() {\n var buffer, argv = _array__WEBPACK_IMPORTED_MODULE_1__[\"slice\"].call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__[\"path\"])();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = Object(_pointRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x0, y0),\n p1 = Object(_pointRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x0, y0 = (y0 + y1) / 2),\n p2 = Object(_pointRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x1, y0),\n p3 = Object(_pointRadial__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nfunction linkHorizontal() {\n return link(curveHorizontal);\n}\n\nfunction linkVertical() {\n return link(curveVertical);\n}\n\nfunction linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/link/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/math.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-shape/src/math.js ***! + \*******************************************/ +/*! exports provided: abs, atan2, cos, max, min, sin, sqrt, epsilon, pi, halfPi, tau, acos, asin */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"abs\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"atan2\", function() { return atan2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cos\", function() { return cos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sin\", function() { return sin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sqrt\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"epsilon\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pi\", function() { return pi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"halfPi\", function() { return halfPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tau\", function() { return tau; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"acos\", function() { return acos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asin\", function() { return asin; });\nvar abs = Math.abs;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar max = Math.max;\nvar min = Math.min;\nvar sin = Math.sin;\nvar sqrt = Math.sqrt;\n\nvar epsilon = 1e-12;\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar tau = 2 * pi;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/math.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/noop.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-shape/src/noop.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/noop.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/offset/diverging.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-shape/src/offset/diverging.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = yp;\n }\n }\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/offset/diverging.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/offset/expand.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/offset/expand.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/offset/none.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series, order);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/offset/expand.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/offset/none.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-shape/src/offset/none.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/offset/none.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/offset/silhouette.js": +/*!********************************************************!*\ + !*** ./node_modules/d3-shape/src/offset/silhouette.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/offset/none.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series, order);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/offset/silhouette.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/offset/wiggle.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/offset/wiggle.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/offset/none.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series, order);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/offset/wiggle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/order/ascending.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-shape/src/order/ascending.js ***! + \******************************************************/ +/*! exports provided: default, sum */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/order/none.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series) {\n var sums = series.map(sum);\n return Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series).sort(function(a, b) { return sums[a] - sums[b]; });\n});\n\nfunction sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/order/ascending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/order/descending.js": +/*!*******************************************************!*\ + !*** ./node_modules/d3-shape/src/order/descending.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-shape/src/order/ascending.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series) {\n return Object(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series).reverse();\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/order/descending.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/order/insideOut.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-shape/src/order/insideOut.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/order/none.js\");\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-shape/src/order/ascending.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(_ascending__WEBPACK_IMPORTED_MODULE_1__[\"sum\"]),\n order = Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series).sort(function(a, b) { return sums[b] - sums[a]; }),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/order/insideOut.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/order/none.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/order/none.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/order/none.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/order/reverse.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/order/reverse.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./none */ \"./node_modules/d3-shape/src/order/none.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(series) {\n return Object(_none__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(series).reverse();\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/order/reverse.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/pie.js": +/*!******************************************!*\ + !*** ./node_modules/d3-shape/src/pie.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _descending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./descending */ \"./node_modules/d3-shape/src/descending.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./identity */ \"./node_modules/d3-shape/src/identity.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./math */ \"./node_modules/d3-shape/src/math.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var value = _identity__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n sortValues = _descending__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n sort = null,\n startAngle = Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0),\n endAngle = Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_math__WEBPACK_IMPORTED_MODULE_3__[\"tau\"]),\n padAngle = Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(_math__WEBPACK_IMPORTED_MODULE_3__[\"tau\"], Math.max(-_math__WEBPACK_IMPORTED_MODULE_3__[\"tau\"], endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), pie) : padAngle;\n };\n\n return pie;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/pie.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/point.js": +/*!********************************************!*\ + !*** ./node_modules/d3-shape/src/point.js ***! + \********************************************/ +/*! exports provided: x, y */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return x; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return y; });\nfunction x(p) {\n return p[0];\n}\n\nfunction y(p) {\n return p[1];\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/point.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/pointRadial.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-shape/src/pointRadial.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/pointRadial.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/stack.js": +/*!********************************************!*\ + !*** ./node_modules/d3-shape/src/stack.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-shape/src/array.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _offset_none__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./offset/none */ \"./node_modules/d3-shape/src/offset/none.js\");\n/* harmony import */ var _order_none__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./order/none */ \"./node_modules/d3-shape/src/order/none.js\");\n\n\n\n\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var keys = Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([]),\n order = _order_none__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n offset = _offset_none__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? _order_none__WEBPACK_IMPORTED_MODULE_3__[\"default\"] : typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? _offset_none__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _, stack) : offset;\n };\n\n return stack;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/stack.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-shape/src/symbol.js ***! + \*********************************************/ +/*! exports provided: symbols, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"symbols\", function() { return symbols; });\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-path */ \"./node_modules/d3-path/index.js\");\n/* harmony import */ var _symbol_circle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./symbol/circle */ \"./node_modules/d3-shape/src/symbol/circle.js\");\n/* harmony import */ var _symbol_cross__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./symbol/cross */ \"./node_modules/d3-shape/src/symbol/cross.js\");\n/* harmony import */ var _symbol_diamond__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./symbol/diamond */ \"./node_modules/d3-shape/src/symbol/diamond.js\");\n/* harmony import */ var _symbol_star__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./symbol/star */ \"./node_modules/d3-shape/src/symbol/star.js\");\n/* harmony import */ var _symbol_square__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./symbol/square */ \"./node_modules/d3-shape/src/symbol/square.js\");\n/* harmony import */ var _symbol_triangle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./symbol/triangle */ \"./node_modules/d3-shape/src/symbol/triangle.js\");\n/* harmony import */ var _symbol_wye__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./symbol/wye */ \"./node_modules/d3-shape/src/symbol/wye.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-shape/src/constant.js\");\n\n\n\n\n\n\n\n\n\n\nvar symbols = [\n _symbol_circle__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _symbol_cross__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n _symbol_diamond__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n _symbol_square__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n _symbol_star__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n _symbol_triangle__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n _symbol_wye__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var type = Object(_constant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_symbol_circle__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n size = Object(_constant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__[\"path\"])();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/circle.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/circle.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-shape/src/math.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var r = Math.sqrt(size / _math__WEBPACK_IMPORTED_MODULE_0__[\"pi\"]);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, _math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"]);\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/circle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/cross.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/cross.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/cross.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/diamond.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/diamond.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/diamond.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/square.js": +/*!****************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/square.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/square.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/star.js": +/*!**************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/star.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math */ \"./node_modules/d3-shape/src/math.js\");\n\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(_math__WEBPACK_IMPORTED_MODULE_0__[\"pi\"] / 10) / Math.sin(7 * _math__WEBPACK_IMPORTED_MODULE_0__[\"pi\"] / 10),\n kx = Math.sin(_math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"] / 10) * kr,\n ky = -Math.cos(_math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"] / 10) * kr;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = _math__WEBPACK_IMPORTED_MODULE_0__[\"tau\"] * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/star.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/triangle.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/triangle.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar sqrt3 = Math.sqrt(3);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/triangle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-shape/src/symbol/wye.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-shape/src/symbol/wye.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\nvar c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-shape/src/symbol/wye.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time-format/index.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-time-format/index.js ***! + \**********************************************/ +/*! exports provided: timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse, timeFormatLocale, isoFormat, isoParse */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/defaultLocale */ \"./node_modules/d3-time-format/src/defaultLocale.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeFormatDefaultLocale\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeFormat\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"timeFormat\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeParse\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"timeParse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcFormat\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"utcFormat\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcParse\", function() { return _src_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"utcParse\"]; });\n\n/* harmony import */ var _src_locale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/locale */ \"./node_modules/d3-time-format/src/locale.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeFormatLocale\", function() { return _src_locale__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _src_isoFormat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/isoFormat */ \"./node_modules/d3-time-format/src/isoFormat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isoFormat\", function() { return _src_isoFormat__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _src_isoParse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/isoParse */ \"./node_modules/d3-time-format/src/isoParse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isoParse\", function() { return _src_isoParse__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-time-format/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time-format/src/defaultLocale.js": +/*!**********************************************************!*\ + !*** ./node_modules/d3-time-format/src/defaultLocale.js ***! + \**********************************************************/ +/*! exports provided: timeFormat, timeParse, utcFormat, utcParse, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"timeFormat\", function() { return timeFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"timeParse\", function() { return timeParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcFormat\", function() { return utcFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcParse\", function() { return utcParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return defaultLocale; });\n/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locale */ \"./node_modules/d3-time-format/src/locale.js\");\n\n\nvar locale;\nvar timeFormat;\nvar timeParse;\nvar utcFormat;\nvar utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nfunction defaultLocale(definition) {\n locale = Object(_locale__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-time-format/src/defaultLocale.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time-format/src/isoFormat.js": +/*!******************************************************!*\ + !*** ./node_modules/d3-time-format/src/isoFormat.js ***! + \******************************************************/ +/*! exports provided: isoSpecifier, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isoSpecifier\", function() { return isoSpecifier; });\n/* harmony import */ var _defaultLocale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultLocale */ \"./node_modules/d3-time-format/src/defaultLocale.js\");\n\n\nvar isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : Object(_defaultLocale__WEBPACK_IMPORTED_MODULE_0__[\"utcFormat\"])(isoSpecifier);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatIso);\n\n\n//# sourceURL=webpack:///./node_modules/d3-time-format/src/isoFormat.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time-format/src/isoParse.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-time-format/src/isoParse.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _isoFormat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isoFormat */ \"./node_modules/d3-time-format/src/isoFormat.js\");\n/* harmony import */ var _defaultLocale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultLocale */ \"./node_modules/d3-time-format/src/defaultLocale.js\");\n\n\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : Object(_defaultLocale__WEBPACK_IMPORTED_MODULE_1__[\"utcParse\"])(_isoFormat__WEBPACK_IMPORTED_MODULE_0__[\"isoSpecifier\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parseIso);\n\n\n//# sourceURL=webpack:///./node_modules/d3-time-format/src/isoParse.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time-format/src/locale.js": +/*!***************************************************!*\ + !*** ./node_modules/d3-time-format/src/locale.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatLocale; });\n/* harmony import */ var d3_time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-time */ \"./node_modules/d3-time/index.js\");\n\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newYear(y) {\n return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};\n}\n\nfunction formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, newDate) {\n return function(string) {\n var d = newYear(1900),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newYear(d.y)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcMonday\"].ceil(week) : Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcMonday\"])(week);\n week = d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcDay\"].offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = newDate(newYear(d.y)), day = week.getDay();\n week = day > 4 || day === 0 ? d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeMonday\"].ceil(week) : Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeMonday\"])(week);\n week = d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeDay\"].offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return newDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", localDate);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier, utcDate);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeDay\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeYear\"])(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeSunday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeYear\"])(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeThursday\"])(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeThursday\"].ceil(d);\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeThursday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeYear\"])(d), d) + (Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeYear\"])(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeMonday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"timeYear\"])(d), d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcDay\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcYear\"])(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcSunday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcYear\"])(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcThursday\"])(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcThursday\"].ceil(d);\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcThursday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcYear\"])(d), d) + (Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcYear\"])(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcMonday\"].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__[\"utcYear\"])(d), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-time-format/src/locale.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/index.js": +/*!***************************************!*\ + !*** ./node_modules/d3-time/index.js ***! + \***************************************/ +/*! exports provided: timeInterval, timeMillisecond, timeMilliseconds, utcMillisecond, utcMilliseconds, timeSecond, timeSeconds, utcSecond, utcSeconds, timeMinute, timeMinutes, timeHour, timeHours, timeDay, timeDays, timeWeek, timeWeeks, timeSunday, timeSundays, timeMonday, timeMondays, timeTuesday, timeTuesdays, timeWednesday, timeWednesdays, timeThursday, timeThursdays, timeFriday, timeFridays, timeSaturday, timeSaturdays, timeMonth, timeMonths, timeYear, timeYears, utcMinute, utcMinutes, utcHour, utcHours, utcDay, utcDays, utcWeek, utcWeeks, utcSunday, utcSundays, utcMonday, utcMondays, utcTuesday, utcTuesdays, utcWednesday, utcWednesdays, utcThursday, utcThursdays, utcFriday, utcFridays, utcSaturday, utcSaturdays, utcMonth, utcMonths, utcYear, utcYears */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeInterval\", function() { return _src_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _src_millisecond__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/millisecond */ \"./node_modules/d3-time/src/millisecond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMillisecond\", function() { return _src_millisecond__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMilliseconds\", function() { return _src_millisecond__WEBPACK_IMPORTED_MODULE_1__[\"milliseconds\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMillisecond\", function() { return _src_millisecond__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMilliseconds\", function() { return _src_millisecond__WEBPACK_IMPORTED_MODULE_1__[\"milliseconds\"]; });\n\n/* harmony import */ var _src_second__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/second */ \"./node_modules/d3-time/src/second.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSecond\", function() { return _src_second__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSeconds\", function() { return _src_second__WEBPACK_IMPORTED_MODULE_2__[\"seconds\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSecond\", function() { return _src_second__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSeconds\", function() { return _src_second__WEBPACK_IMPORTED_MODULE_2__[\"seconds\"]; });\n\n/* harmony import */ var _src_minute__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/minute */ \"./node_modules/d3-time/src/minute.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMinute\", function() { return _src_minute__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMinutes\", function() { return _src_minute__WEBPACK_IMPORTED_MODULE_3__[\"minutes\"]; });\n\n/* harmony import */ var _src_hour__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/hour */ \"./node_modules/d3-time/src/hour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeHour\", function() { return _src_hour__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeHours\", function() { return _src_hour__WEBPACK_IMPORTED_MODULE_4__[\"hours\"]; });\n\n/* harmony import */ var _src_day__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/day */ \"./node_modules/d3-time/src/day.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeDay\", function() { return _src_day__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeDays\", function() { return _src_day__WEBPACK_IMPORTED_MODULE_5__[\"days\"]; });\n\n/* harmony import */ var _src_week__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/week */ \"./node_modules/d3-time/src/week.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeWeek\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"sunday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeWeeks\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"sundays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSunday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"sunday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSundays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"sundays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMonday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"monday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMondays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"mondays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeTuesday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"tuesday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeTuesdays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"tuesdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeWednesday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"wednesday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeWednesdays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"wednesdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeThursday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"thursday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeThursdays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"thursdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeFriday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"friday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeFridays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"fridays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSaturday\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"saturday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeSaturdays\", function() { return _src_week__WEBPACK_IMPORTED_MODULE_6__[\"saturdays\"]; });\n\n/* harmony import */ var _src_month__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/month */ \"./node_modules/d3-time/src/month.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMonth\", function() { return _src_month__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeMonths\", function() { return _src_month__WEBPACK_IMPORTED_MODULE_7__[\"months\"]; });\n\n/* harmony import */ var _src_year__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/year */ \"./node_modules/d3-time/src/year.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeYear\", function() { return _src_year__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"timeYears\", function() { return _src_year__WEBPACK_IMPORTED_MODULE_8__[\"years\"]; });\n\n/* harmony import */ var _src_utcMinute__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/utcMinute */ \"./node_modules/d3-time/src/utcMinute.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMinute\", function() { return _src_utcMinute__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMinutes\", function() { return _src_utcMinute__WEBPACK_IMPORTED_MODULE_9__[\"utcMinutes\"]; });\n\n/* harmony import */ var _src_utcHour__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/utcHour */ \"./node_modules/d3-time/src/utcHour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcHour\", function() { return _src_utcHour__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcHours\", function() { return _src_utcHour__WEBPACK_IMPORTED_MODULE_10__[\"utcHours\"]; });\n\n/* harmony import */ var _src_utcDay__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/utcDay */ \"./node_modules/d3-time/src/utcDay.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcDay\", function() { return _src_utcDay__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcDays\", function() { return _src_utcDay__WEBPACK_IMPORTED_MODULE_11__[\"utcDays\"]; });\n\n/* harmony import */ var _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/utcWeek */ \"./node_modules/d3-time/src/utcWeek.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcWeek\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSunday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcWeeks\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSundays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSunday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSunday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSundays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSundays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMonday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcMonday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMondays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcMondays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcTuesday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcTuesday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcTuesdays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcTuesdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcWednesday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcWednesday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcWednesdays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcWednesdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcThursday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcThursday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcThursdays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcThursdays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcFriday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcFriday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcFridays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcFridays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSaturday\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSaturday\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcSaturdays\", function() { return _src_utcWeek__WEBPACK_IMPORTED_MODULE_12__[\"utcSaturdays\"]; });\n\n/* harmony import */ var _src_utcMonth__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/utcMonth */ \"./node_modules/d3-time/src/utcMonth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMonth\", function() { return _src_utcMonth__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcMonths\", function() { return _src_utcMonth__WEBPACK_IMPORTED_MODULE_13__[\"utcMonths\"]; });\n\n/* harmony import */ var _src_utcYear__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/utcYear */ \"./node_modules/d3-time/src/utcYear.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcYear\", function() { return _src_utcYear__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utcYears\", function() { return _src_utcYear__WEBPACK_IMPORTED_MODULE_14__[\"utcYears\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/day.js": +/*!*****************************************!*\ + !*** ./node_modules/d3-time/src/day.js ***! + \*****************************************/ +/*! exports provided: default, days */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"days\", function() { return days; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar day = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationDay\"];\n}, function(date) {\n return date.getDate() - 1;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (day);\nvar days = day.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/day.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/duration.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-time/src/duration.js ***! + \**********************************************/ +/*! exports provided: durationSecond, durationMinute, durationHour, durationDay, durationWeek */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"durationSecond\", function() { return durationSecond; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"durationMinute\", function() { return durationMinute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"durationHour\", function() { return durationHour; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"durationDay\", function() { return durationDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"durationWeek\", function() { return durationWeek; });\nvar durationSecond = 1e3;\nvar durationMinute = 6e4;\nvar durationHour = 36e5;\nvar durationDay = 864e5;\nvar durationWeek = 6048e5;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/duration.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/hour.js": +/*!******************************************!*\ + !*** ./node_modules/d3-time/src/hour.js ***! + \******************************************/ +/*! exports provided: default, hours */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hours\", function() { return hours; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar hour = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n var offset = date.getTimezoneOffset() * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"] % _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"];\n if (offset < 0) offset += _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"];\n date.setTime(Math.floor((+date - offset) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"]) * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"] + offset);\n}, function(date, step) {\n date.setTime(+date + step * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"]);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"];\n}, function(date) {\n return date.getHours();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hour);\nvar hours = hour.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/hour.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/interval.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-time/src/interval.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return newInterval; });\nvar t0 = new Date,\n t1 = new Date;\n\nfunction newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/interval.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/millisecond.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-time/src/millisecond.js ***! + \*************************************************/ +/*! exports provided: default, milliseconds */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"milliseconds\", function() { return milliseconds; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n\n\nvar millisecond = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (millisecond);\nvar milliseconds = millisecond.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/millisecond.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/minute.js": +/*!********************************************!*\ + !*** ./node_modules/d3-time/src/minute.js ***! + \********************************************/ +/*! exports provided: default, minutes */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minutes\", function() { return minutes; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar minute = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setTime(Math.floor(date / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]) * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]);\n}, function(date, step) {\n date.setTime(+date + step * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"];\n}, function(date) {\n return date.getMinutes();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (minute);\nvar minutes = minute.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/minute.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/month.js": +/*!*******************************************!*\ + !*** ./node_modules/d3-time/src/month.js ***! + \*******************************************/ +/*! exports provided: default, months */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"months\", function() { return months; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n\n\nvar month = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (month);\nvar months = month.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/month.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/second.js": +/*!********************************************!*\ + !*** ./node_modules/d3-time/src/second.js ***! + \********************************************/ +/*! exports provided: default, seconds */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"seconds\", function() { return seconds; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar second = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setTime(Math.floor(date / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationSecond\"]) * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationSecond\"]);\n}, function(date, step) {\n date.setTime(+date + step * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationSecond\"]);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationSecond\"];\n}, function(date) {\n return date.getUTCSeconds();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (second);\nvar seconds = second.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/second.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcDay.js": +/*!********************************************!*\ + !*** ./node_modules/d3-time/src/utcDay.js ***! + \********************************************/ +/*! exports provided: default, utcDays */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcDays\", function() { return utcDays; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar utcDay = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationDay\"];\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (utcDay);\nvar utcDays = utcDay.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcDay.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcHour.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-time/src/utcHour.js ***! + \*********************************************/ +/*! exports provided: default, utcHours */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcHours\", function() { return utcHours; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar utcHour = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"]);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationHour\"];\n}, function(date) {\n return date.getUTCHours();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (utcHour);\nvar utcHours = utcHour.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcHour.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcMinute.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-time/src/utcMinute.js ***! + \***********************************************/ +/*! exports provided: default, utcMinutes */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcMinutes\", function() { return utcMinutes; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nvar utcMinute = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]);\n}, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"];\n}, function(date) {\n return date.getUTCMinutes();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (utcMinute);\nvar utcMinutes = utcMinute.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcMinute.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcMonth.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-time/src/utcMonth.js ***! + \**********************************************/ +/*! exports provided: default, utcMonths */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcMonths\", function() { return utcMonths; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n\n\nvar utcMonth = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (utcMonth);\nvar utcMonths = utcMonth.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcMonth.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcWeek.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-time/src/utcWeek.js ***! + \*********************************************/ +/*! exports provided: utcSunday, utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSundays, utcMondays, utcTuesdays, utcWednesdays, utcThursdays, utcFridays, utcSaturdays */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcSunday\", function() { return utcSunday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcMonday\", function() { return utcMonday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcTuesday\", function() { return utcTuesday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcWednesday\", function() { return utcWednesday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcThursday\", function() { return utcThursday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcFriday\", function() { return utcFriday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcSaturday\", function() { return utcSaturday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcSundays\", function() { return utcSundays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcMondays\", function() { return utcMondays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcTuesdays\", function() { return utcTuesdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcWednesdays\", function() { return utcWednesdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcThursdays\", function() { return utcThursdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcFridays\", function() { return utcFridays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcSaturdays\", function() { return utcSaturdays; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nfunction utcWeekday(i) {\n return Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationWeek\"];\n });\n}\n\nvar utcSunday = utcWeekday(0);\nvar utcMonday = utcWeekday(1);\nvar utcTuesday = utcWeekday(2);\nvar utcWednesday = utcWeekday(3);\nvar utcThursday = utcWeekday(4);\nvar utcFriday = utcWeekday(5);\nvar utcSaturday = utcWeekday(6);\n\nvar utcSundays = utcSunday.range;\nvar utcMondays = utcMonday.range;\nvar utcTuesdays = utcTuesday.range;\nvar utcWednesdays = utcWednesday.range;\nvar utcThursdays = utcThursday.range;\nvar utcFridays = utcFriday.range;\nvar utcSaturdays = utcSaturday.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcWeek.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/utcYear.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-time/src/utcYear.js ***! + \*********************************************/ +/*! exports provided: default, utcYears */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utcYears\", function() { return utcYears; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n\n\nvar utcYear = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (utcYear);\nvar utcYears = utcYear.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/utcYear.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/week.js": +/*!******************************************!*\ + !*** ./node_modules/d3-time/src/week.js ***! + \******************************************/ +/*! exports provided: sunday, monday, tuesday, wednesday, thursday, friday, saturday, sundays, mondays, tuesdays, wednesdays, thursdays, fridays, saturdays */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sunday\", function() { return sunday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monday\", function() { return monday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tuesday\", function() { return tuesday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wednesday\", function() { return wednesday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thursday\", function() { return thursday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"friday\", function() { return friday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"saturday\", function() { return saturday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sundays\", function() { return sundays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mondays\", function() { return mondays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tuesdays\", function() { return tuesdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wednesdays\", function() { return wednesdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thursdays\", function() { return thursdays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fridays\", function() { return fridays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"saturdays\", function() { return saturdays; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n/* harmony import */ var _duration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./duration */ \"./node_modules/d3-time/src/duration.js\");\n\n\n\nfunction weekday(i) {\n return Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationMinute\"]) / _duration__WEBPACK_IMPORTED_MODULE_1__[\"durationWeek\"];\n });\n}\n\nvar sunday = weekday(0);\nvar monday = weekday(1);\nvar tuesday = weekday(2);\nvar wednesday = weekday(3);\nvar thursday = weekday(4);\nvar friday = weekday(5);\nvar saturday = weekday(6);\n\nvar sundays = sunday.range;\nvar mondays = monday.range;\nvar tuesdays = tuesday.range;\nvar wednesdays = wednesday.range;\nvar thursdays = thursday.range;\nvar fridays = friday.range;\nvar saturdays = saturday.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/week.js?"); + +/***/ }), + +/***/ "./node_modules/d3-time/src/year.js": +/*!******************************************!*\ + !*** ./node_modules/d3-time/src/year.js ***! + \******************************************/ +/*! exports provided: default, years */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"years\", function() { return years; });\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interval */ \"./node_modules/d3-time/src/interval.js\");\n\n\nvar year = Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : Object(_interval__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (year);\nvar years = year.range;\n\n\n//# sourceURL=webpack:///./node_modules/d3-time/src/year.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/index.js": +/*!******************************************!*\ + !*** ./node_modules/d3-voronoi/index.js ***! + \******************************************/ +/*! exports provided: voronoi */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _src_voronoi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/voronoi */ \"./node_modules/d3-voronoi/src/voronoi.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"voronoi\", function() { return _src_voronoi__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/index.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/Beach.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-voronoi/src/Beach.js ***! + \**********************************************/ +/*! exports provided: removeBeach, addBeach */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeBeach\", function() { return removeBeach; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addBeach\", function() { return addBeach; });\n/* harmony import */ var _RedBlackTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RedBlackTree */ \"./node_modules/d3-voronoi/src/RedBlackTree.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Cell */ \"./node_modules/d3-voronoi/src/Cell.js\");\n/* harmony import */ var _Circle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Circle */ \"./node_modules/d3-voronoi/src/Circle.js\");\n/* harmony import */ var _Edge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Edge */ \"./node_modules/d3-voronoi/src/Edge.js\");\n/* harmony import */ var _Diagram__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Diagram */ \"./node_modules/d3-voronoi/src/Diagram.js\");\n\n\n\n\n\n\nvar beachPool = [];\n\nfunction Beach() {\n Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__[\"RedBlackNode\"])(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(beach);\n _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"beaches\"].remove(beach);\n beachPool.push(beach);\n Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__[\"RedBlackNode\"])(beach);\n}\n\nfunction removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]\n && Math.abs(y - lArc.circle.cy) < _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]\n && Math.abs(y - rArc.circle.cy) < _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"setEdgeEnd\"])(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"createEdge\"])(lArc.site, rArc.site, null, vertex);\n\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(lArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(rArc);\n}\n\nfunction addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"beaches\"]._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -_Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -_Diagram__WEBPACK_IMPORTED_MODULE_4__[\"epsilon\"]) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n Object(_Cell__WEBPACK_IMPORTED_MODULE_1__[\"createCell\"])(site);\n var newArc = createBeach(site);\n _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"beaches\"].insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(lArc);\n rArc = createBeach(lArc.site);\n _Diagram__WEBPACK_IMPORTED_MODULE_4__[\"beaches\"].insert(newArc, rArc);\n newArc.edge = rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"createEdge\"])(lArc.site, newArc.site);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(lArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"createEdge\"])(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(lArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"detachCircle\"])(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"setEdgeEnd\"])(rArc.edge, lSite, rSite, vertex);\n newArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"createEdge\"])(lSite, site, null, vertex);\n rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"createEdge\"])(site, rSite, null, vertex);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(lArc);\n Object(_Circle__WEBPACK_IMPORTED_MODULE_2__[\"attachCircle\"])(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/Beach.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/Cell.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-voronoi/src/Cell.js ***! + \*********************************************/ +/*! exports provided: createCell, cellHalfedgeStart, cellHalfedgeEnd, sortCellHalfedges, clipCells */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCell\", function() { return createCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cellHalfedgeStart\", function() { return cellHalfedgeStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cellHalfedgeEnd\", function() { return cellHalfedgeEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortCellHalfedges\", function() { return sortCellHalfedges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipCells\", function() { return clipCells; });\n/* harmony import */ var _Edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Edge */ \"./node_modules/d3-voronoi/src/Edge.js\");\n/* harmony import */ var _Diagram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Diagram */ \"./node_modules/d3-voronoi/src/Diagram.js\");\n\n\n\nfunction createCell(site) {\n return _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nfunction cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nfunction cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nfunction sortCellHalfedges() {\n for (var i = 0, n = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"].length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"][halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nfunction clipCells(x0, y0, x1, y1) {\n var nCells = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"].length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!_Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"][halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"][halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"][halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] || Math.abs(endY - startY) > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"]) {\n halfedges.splice(iHalfedge, 0, _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__[\"createBorderEdge\"])(site, end,\n Math.abs(endX - x0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] && y1 - endY > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? [x0, Math.abs(startX - x0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? startY : y1]\n : Math.abs(endY - y1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] && x1 - endX > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? [Math.abs(startY - y1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? startX : x1, y1]\n : Math.abs(endX - x1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] && endY - y0 > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? [x1, Math.abs(startX - x1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? startY : y0]\n : Math.abs(endY - y0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] && endX - x0 > _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? [Math.abs(startY - y0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon\"] ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__[\"createBorderEdge\"])(site = cover.site, v00, v01)) - 1,\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__[\"createBorderEdge\"])(site, v01, v11)) - 1,\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__[\"createBorderEdge\"])(site, v11, v10)) - 1,\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"edges\"].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__[\"createBorderEdge\"])(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][iCell]) {\n if (!cell.halfedges.length) {\n delete _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"cells\"][iCell];\n }\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/Cell.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/Circle.js": +/*!***********************************************!*\ + !*** ./node_modules/d3-voronoi/src/Circle.js ***! + \***********************************************/ +/*! exports provided: firstCircle, attachCircle, detachCircle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"firstCircle\", function() { return firstCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attachCircle\", function() { return attachCircle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"detachCircle\", function() { return detachCircle; });\n/* harmony import */ var _RedBlackTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RedBlackTree */ \"./node_modules/d3-voronoi/src/RedBlackTree.js\");\n/* harmony import */ var _Diagram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Diagram */ \"./node_modules/d3-voronoi/src/Diagram.js\");\n\n\n\nvar circlePool = [];\n\nvar firstCircle;\n\nfunction Circle() {\n Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__[\"RedBlackNode\"])(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nfunction attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -_Diagram__WEBPACK_IMPORTED_MODULE_1__[\"epsilon2\"]) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"circles\"]._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"circles\"].insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nfunction detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n _Diagram__WEBPACK_IMPORTED_MODULE_1__[\"circles\"].remove(circle);\n circlePool.push(circle);\n Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__[\"RedBlackNode\"])(circle);\n arc.circle = null;\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/Circle.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/Diagram.js": +/*!************************************************!*\ + !*** ./node_modules/d3-voronoi/src/Diagram.js ***! + \************************************************/ +/*! exports provided: epsilon, epsilon2, beaches, cells, circles, edges, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"epsilon\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"epsilon2\", function() { return epsilon2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beaches\", function() { return beaches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cells\", function() { return cells; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"circles\", function() { return circles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"edges\", function() { return edges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Diagram; });\n/* harmony import */ var _Beach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Beach */ \"./node_modules/d3-voronoi/src/Beach.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Cell */ \"./node_modules/d3-voronoi/src/Cell.js\");\n/* harmony import */ var _Circle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Circle */ \"./node_modules/d3-voronoi/src/Circle.js\");\n/* harmony import */ var _Edge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Edge */ \"./node_modules/d3-voronoi/src/Edge.js\");\n/* harmony import */ var _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RedBlackTree */ \"./node_modules/d3-voronoi/src/RedBlackTree.js\");\n\n\n\n\n\n\nvar epsilon = 1e-6;\nvar epsilon2 = 1e-12;\nvar beaches;\nvar cells;\nvar circles;\nvar edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nfunction Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n circles = new _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n while (true) {\n circle = _Circle__WEBPACK_IMPORTED_MODULE_2__[\"firstCircle\"];\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n Object(_Beach__WEBPACK_IMPORTED_MODULE_0__[\"addBeach\"])(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n Object(_Beach__WEBPACK_IMPORTED_MODULE_0__[\"removeBeach\"])(circle.arc);\n } else {\n break;\n }\n }\n\n Object(_Cell__WEBPACK_IMPORTED_MODULE_1__[\"sortCellHalfedges\"])();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n Object(_Edge__WEBPACK_IMPORTED_MODULE_3__[\"clipEdges\"])(x0, y0, x1, y1);\n Object(_Cell__WEBPACK_IMPORTED_MODULE_1__[\"clipCells\"])(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return Object(_Cell__WEBPACK_IMPORTED_MODULE_1__[\"cellHalfedgeStart\"])(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/Diagram.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/Edge.js": +/*!*********************************************!*\ + !*** ./node_modules/d3-voronoi/src/Edge.js ***! + \*********************************************/ +/*! exports provided: createEdge, createBorderEdge, setEdgeEnd, clipEdges */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createEdge\", function() { return createEdge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createBorderEdge\", function() { return createBorderEdge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setEdgeEnd\", function() { return setEdgeEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipEdges\", function() { return clipEdges; });\n/* harmony import */ var _Diagram__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Diagram */ \"./node_modules/d3-voronoi/src/Diagram.js\");\n\n\nfunction createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"edges\"].push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"cells\"][left.index].halfedges.push(index);\n _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"cells\"][right.index].halfedges.push(index);\n return edge;\n}\n\nfunction createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nfunction setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nfunction clipEdges(x0, y0, x1, y1) {\n var i = _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"edges\"].length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"edges\"][i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"]\n || Math.abs(edge[0][1] - edge[1][1]) > _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"epsilon\"])) {\n delete _Diagram__WEBPACK_IMPORTED_MODULE_0__[\"edges\"][i];\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/Edge.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/RedBlackTree.js": +/*!*****************************************************!*\ + !*** ./node_modules/d3-voronoi/src/RedBlackTree.js ***! + \*****************************************************/ +/*! exports provided: RedBlackNode, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RedBlackNode\", function() { return RedBlackNode; });\nfunction RedBlackTree() {\n this._ = null; // root node\n}\n\nfunction RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RedBlackTree);\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/constant.js": +/*!*************************************************!*\ + !*** ./node_modules/d3-voronoi/src/constant.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/constant.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/point.js": +/*!**********************************************!*\ + !*** ./node_modules/d3-voronoi/src/point.js ***! + \**********************************************/ +/*! exports provided: x, y */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return x; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return y; });\nfunction x(d) {\n return d[0];\n}\n\nfunction y(d) {\n return d[1];\n}\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/point.js?"); + +/***/ }), + +/***/ "./node_modules/d3-voronoi/src/voronoi.js": +/*!************************************************!*\ + !*** ./node_modules/d3-voronoi/src/voronoi.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-voronoi/src/constant.js\");\n/* harmony import */ var _point__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./point */ \"./node_modules/d3-voronoi/src/point.js\");\n/* harmony import */ var _Diagram__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Diagram */ \"./node_modules/d3-voronoi/src/Diagram.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var x = _point__WEBPACK_IMPORTED_MODULE_1__[\"x\"],\n y = _point__WEBPACK_IMPORTED_MODULE_1__[\"y\"],\n extent = null;\n\n function voronoi(data) {\n return new _Diagram__WEBPACK_IMPORTED_MODULE_2__[\"default\"](data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / _Diagram__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) * _Diagram__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"], Math.round(y(d, i, data) / _Diagram__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]) * _Diagram__WEBPACK_IMPORTED_MODULE_2__[\"epsilon\"]];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n});\n\n\n//# sourceURL=webpack:///./node_modules/d3-voronoi/src/voronoi.js?"); + +/***/ }), + +/***/ "./node_modules/deep-equal/index.js": +/*!******************************************!*\ + !*** ./node_modules/deep-equal/index.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(/*! ./lib/keys.js */ \"./node_modules/deep-equal/lib/keys.js\");\nvar isArguments = __webpack_require__(/*! ./lib/is_arguments.js */ \"./node_modules/deep-equal/lib/is_arguments.js\");\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n//# sourceURL=webpack:///./node_modules/deep-equal/index.js?"); + +/***/ }), + +/***/ "./node_modules/deep-equal/lib/is_arguments.js": +/*!*****************************************************!*\ + !*** ./node_modules/deep-equal/lib/is_arguments.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n//# sourceURL=webpack:///./node_modules/deep-equal/lib/is_arguments.js?"); + +/***/ }), + +/***/ "./node_modules/deep-equal/lib/keys.js": +/*!*********************************************!*\ + !*** ./node_modules/deep-equal/lib/keys.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n//# sourceURL=webpack:///./node_modules/deep-equal/lib/keys.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/EventListener.js": +/*!************************************************!*\ + !*** ./node_modules/fbjs/lib/EventListener.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (true) {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/EventListener.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/ExecutionEnvironment.js": +/*!*******************************************************!*\ + !*** ./node_modules/fbjs/lib/ExecutionEnvironment.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/camelize.js": +/*!*******************************************!*\ + !*** ./node_modules/fbjs/lib/camelize.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/camelize.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/camelizeStyleName.js": +/*!****************************************************!*\ + !*** ./node_modules/fbjs/lib/camelizeStyleName.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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 * @typechecks\n */\n\n\n\nvar camelize = __webpack_require__(/*! ./camelize */ \"./node_modules/fbjs/lib/camelize.js\");\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/camelizeStyleName.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/containsNode.js": +/*!***********************************************!*\ + !*** ./node_modules/fbjs/lib/containsNode.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * \n */\n\nvar isTextNode = __webpack_require__(/*! ./isTextNode */ \"./node_modules/fbjs/lib/isTextNode.js\");\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/containsNode.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/emptyFunction.js": +/*!************************************************!*\ + !*** ./node_modules/fbjs/lib/emptyFunction.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/emptyFunction.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/emptyObject.js": +/*!**********************************************!*\ + !*** ./node_modules/fbjs/lib/emptyObject.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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\n\n\nvar emptyObject = {};\n\nif (true) {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/emptyObject.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/focusNode.js": +/*!********************************************!*\ + !*** ./node_modules/fbjs/lib/focusNode.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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\n\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/focusNode.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/getActiveElement.js": +/*!***************************************************!*\ + !*** ./node_modules/fbjs/lib/getActiveElement.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/getActiveElement.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/hyphenate.js": +/*!********************************************!*\ + !*** ./node_modules/fbjs/lib/hyphenate.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/hyphenate.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/hyphenateStyleName.js": +/*!*****************************************************!*\ + !*** ./node_modules/fbjs/lib/hyphenateStyleName.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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 * @typechecks\n */\n\n\n\nvar hyphenate = __webpack_require__(/*! ./hyphenate */ \"./node_modules/fbjs/lib/hyphenate.js\");\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/hyphenateStyleName.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/invariant.js": +/*!********************************************!*\ + !*** ./node_modules/fbjs/lib/invariant.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/invariant.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/isNode.js": +/*!*****************************************!*\ + !*** ./node_modules/fbjs/lib/isNode.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/isNode.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/isTextNode.js": +/*!*********************************************!*\ + !*** ./node_modules/fbjs/lib/isTextNode.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\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 * @typechecks\n */\n\nvar isNode = __webpack_require__(/*! ./isNode */ \"./node_modules/fbjs/lib/isNode.js\");\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/isTextNode.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/shallowEqual.js": +/*!***********************************************!*\ + !*** ./node_modules/fbjs/lib/shallowEqual.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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 * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/shallowEqual.js?"); + +/***/ }), + +/***/ "./node_modules/fbjs/lib/warning.js": +/*!******************************************!*\ + !*** ./node_modules/fbjs/lib/warning.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\n * Copyright (c) 2014-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\n\n\nvar emptyFunction = __webpack_require__(/*! ./emptyFunction */ \"./node_modules/fbjs/lib/emptyFunction.js\");\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (true) {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n//# sourceURL=webpack:///./node_modules/fbjs/lib/warning.js?"); + +/***/ }), + +/***/ "./node_modules/global/window.js": +/*!***************************************!*\ + !*** ./node_modules/global/window.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n\n\n//# sourceURL=webpack:///./node_modules/global/window.js?"); + +/***/ }), + +/***/ "./node_modules/history/DOMUtils.js": +/*!******************************************!*\ + !*** ./node_modules/history/DOMUtils.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nvar getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nvar isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};\n\n//# sourceURL=webpack:///./node_modules/history/DOMUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/LocationUtils.js": +/*!***********************************************!*\ + !*** ./node_modules/history/LocationUtils.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.createLocation = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _resolvePathname = __webpack_require__(/*! resolve-pathname */ \"./node_modules/resolve-pathname/index.js\");\n\nvar _resolvePathname2 = _interopRequireDefault(_resolvePathname);\n\nvar _valueEqual = __webpack_require__(/*! value-equal */ \"./node_modules/value-equal/index.js\");\n\nvar _valueEqual2 = _interopRequireDefault(_valueEqual);\n\nvar _PathUtils = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/PathUtils.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createLocation = exports.createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = (0, _PathUtils.parsePath)(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = (0, _resolvePathname2.default)(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && (0, _valueEqual2.default)(a.state, b.state);\n};\n\n//# sourceURL=webpack:///./node_modules/history/LocationUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/PathUtils.js": +/*!*******************************************!*\ + !*** ./node_modules/history/PathUtils.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n//# sourceURL=webpack:///./node_modules/history/PathUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/createBrowserHistory.js": +/*!******************************************************!*\ + !*** ./node_modules/history/createBrowserHistory.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = __webpack_require__(/*! invariant */ \"./node_modules/invariant/invariant.js\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/LocationUtils.js\");\n\nvar _PathUtils = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/PathUtils.js\");\n\nvar _createTransitionManager = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/createTransitionManager.js\");\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _DOMUtils = __webpack_require__(/*! ./DOMUtils */ \"./node_modules/history/DOMUtils.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + (0, _PathUtils.createPath)(location);\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;\n\n//# sourceURL=webpack:///./node_modules/history/createBrowserHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/createHashHistory.js": +/*!***************************************************!*\ + !*** ./node_modules/history/createHashHistory.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = __webpack_require__(/*! invariant */ \"./node_modules/invariant/invariant.js\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/LocationUtils.js\");\n\nvar _PathUtils = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/PathUtils.js\");\n\nvar _createTransitionManager = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/createTransitionManager.js\");\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _DOMUtils = __webpack_require__(/*! ./DOMUtils */ \"./node_modules/history/DOMUtils.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + (0, _PathUtils.stripLeadingSlash)(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: _PathUtils.stripLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n },\n slash: {\n encodePath: _PathUtils.addLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && (0, _LocationUtils.locationsAreEqual)(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === (0, _PathUtils.createPath)(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [(0, _PathUtils.createPath)(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + (0, _PathUtils.createPath)(location));\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n (0, _warning2.default)(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf((0, _PathUtils.createPath)(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n (0, _warning2.default)(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createHashHistory;\n\n//# sourceURL=webpack:///./node_modules/history/createHashHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/createMemoryHistory.js": +/*!*****************************************************!*\ + !*** ./node_modules/history/createMemoryHistory.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _PathUtils = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/PathUtils.js\");\n\nvar _LocationUtils = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/LocationUtils.js\");\n\nvar _createTransitionManager = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/createTransitionManager.js\");\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? (0, _LocationUtils.createLocation)(entry, undefined, createKey()) : (0, _LocationUtils.createLocation)(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = _PathUtils.createPath;\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createMemoryHistory;\n\n//# sourceURL=webpack:///./node_modules/history/createMemoryHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/createTransitionManager.js": +/*!*********************************************************!*\ + !*** ./node_modules/history/createTransitionManager.js ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nexports.__esModule = true;\n\nvar _warning = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n (0, _warning2.default)(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n (0, _warning2.default)(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexports.default = createTransitionManager;\n\n//# sourceURL=webpack:///./node_modules/history/createTransitionManager.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/DOMUtils.js": +/*!*********************************************!*\ + !*** ./node_modules/history/es/DOMUtils.js ***! + \*********************************************/ +/*! exports provided: canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsHistory, supportsPopStateOnHashChange, supportsGoWithoutReloadUsingHash, isExtraneousPopstateEvent */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"canUseDOM\", function() { return canUseDOM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addEventListener\", function() { return addEventListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeEventListener\", function() { return removeEventListener; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getConfirmation\", function() { return getConfirmation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportsHistory\", function() { return supportsHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportsPopStateOnHashChange\", function() { return supportsPopStateOnHashChange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportsGoWithoutReloadUsingHash\", function() { return supportsGoWithoutReloadUsingHash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExtraneousPopstateEvent\", function() { return isExtraneousPopstateEvent; });\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nvar getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nvar isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};\n\n//# sourceURL=webpack:///./node_modules/history/es/DOMUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/LocationUtils.js": +/*!**************************************************!*\ + !*** ./node_modules/history/es/LocationUtils.js ***! + \**************************************************/ +/*! exports provided: createLocation, locationsAreEqual */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLocation\", function() { return createLocation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"locationsAreEqual\", function() { return locationsAreEqual; });\n/* harmony import */ var resolve_pathname__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! resolve-pathname */ \"./node_modules/resolve-pathname/index.js\");\n/* harmony import */ var value_equal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! value-equal */ \"./node_modules/value-equal/index.js\");\n/* harmony import */ var _PathUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/es/PathUtils.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\nvar createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = Object(_PathUtils__WEBPACK_IMPORTED_MODULE_2__[\"parsePath\"])(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = Object(resolve_pathname__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nvar locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && Object(value_equal__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a.state, b.state);\n};\n\n//# sourceURL=webpack:///./node_modules/history/es/LocationUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/PathUtils.js": +/*!**********************************************!*\ + !*** ./node_modules/history/es/PathUtils.js ***! + \**********************************************/ +/*! exports provided: addLeadingSlash, stripLeadingSlash, hasBasename, stripBasename, stripTrailingSlash, parsePath, createPath */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addLeadingSlash\", function() { return addLeadingSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stripLeadingSlash\", function() { return stripLeadingSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasBasename\", function() { return hasBasename; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stripBasename\", function() { return stripBasename; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stripTrailingSlash\", function() { return stripTrailingSlash; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parsePath\", function() { return parsePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPath\", function() { return createPath; });\nvar addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n//# sourceURL=webpack:///./node_modules/history/es/PathUtils.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/createBrowserHistory.js": +/*!*********************************************************!*\ + !*** ./node_modules/history/es/createBrowserHistory.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! invariant */ \"./node_modules/invariant/invariant.js\");\n/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _LocationUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/es/LocationUtils.js\");\n/* harmony import */ var _PathUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/es/PathUtils.js\");\n/* harmony import */ var _createTransitionManager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/es/createTransitionManager.js\");\n/* harmony import */ var _DOMUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DOMUtils */ \"./node_modules/history/es/DOMUtils.js\");\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant__WEBPACK_IMPORTED_MODULE_1___default()(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"canUseDOM\"], 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"supportsHistory\"])();\n var needsHashChangeListener = !Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"supportsPopStateOnHashChange\"])();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"getConfirmation\"] : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripTrailingSlash\"])(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"addLeadingSlash\"])(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!basename || Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"hasBasename\"])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripBasename\"])(path, basename);\n\n return Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = Object(_createTransitionManager__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"isExtraneousPopstateEvent\"])(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(location);\n };\n\n var push = function push(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"addEventListener\"])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"addEventListener\"])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"removeEventListener\"])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"removeEventListener\"])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBrowserHistory);\n\n//# sourceURL=webpack:///./node_modules/history/es/createBrowserHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/createHashHistory.js": +/*!******************************************************!*\ + !*** ./node_modules/history/es/createHashHistory.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! invariant */ \"./node_modules/invariant/invariant.js\");\n/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _LocationUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/es/LocationUtils.js\");\n/* harmony import */ var _PathUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/es/PathUtils.js\");\n/* harmony import */ var _createTransitionManager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/es/createTransitionManager.js\");\n/* harmony import */ var _DOMUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DOMUtils */ \"./node_modules/history/es/DOMUtils.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripLeadingSlash\"])(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: _PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripLeadingSlash\"],\n decodePath: _PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"addLeadingSlash\"]\n },\n slash: {\n encodePath: _PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"addLeadingSlash\"],\n decodePath: _PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"addLeadingSlash\"]\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant__WEBPACK_IMPORTED_MODULE_1___default()(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"canUseDOM\"], 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"supportsGoWithoutReloadUsingHash\"])();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"getConfirmation\"] : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripTrailingSlash\"])(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"addLeadingSlash\"])(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!basename || Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"hasBasename\"])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"stripBasename\"])(path, basename);\n\n return Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path);\n };\n\n var transitionManager = Object(_createTransitionManager__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"locationsAreEqual\"])(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(location));\n };\n\n var push = function push(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(Object(_PathUtils__WEBPACK_IMPORTED_MODULE_3__[\"createPath\"])(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"addEventListener\"])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(_DOMUtils__WEBPACK_IMPORTED_MODULE_5__[\"removeEventListener\"])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHashHistory);\n\n//# sourceURL=webpack:///./node_modules/history/es/createHashHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/createMemoryHistory.js": +/*!********************************************************!*\ + !*** ./node_modules/history/es/createMemoryHistory.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _PathUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/es/PathUtils.js\");\n/* harmony import */ var _LocationUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/es/LocationUtils.js\");\n/* harmony import */ var _createTransitionManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createTransitionManager */ \"./node_modules/history/es/createTransitionManager.js\");\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = Object(_createTransitionManager__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(entry, undefined, createKey()) : Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = _PathUtils__WEBPACK_IMPORTED_MODULE_1__[\"createPath\"];\n\n var push = function push(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(_LocationUtils__WEBPACK_IMPORTED_MODULE_2__[\"createLocation\"])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createMemoryHistory);\n\n//# sourceURL=webpack:///./node_modules/history/es/createMemoryHistory.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/createTransitionManager.js": +/*!************************************************************!*\ + !*** ./node_modules/history/es/createTransitionManager.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n warning__WEBPACK_IMPORTED_MODULE_0___default()(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createTransitionManager);\n\n//# sourceURL=webpack:///./node_modules/history/es/createTransitionManager.js?"); + +/***/ }), + +/***/ "./node_modules/history/es/index.js": +/*!******************************************!*\ + !*** ./node_modules/history/es/index.js ***! + \******************************************/ +/*! exports provided: createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createBrowserHistory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createBrowserHistory */ \"./node_modules/history/es/createBrowserHistory.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createBrowserHistory\", function() { return _createBrowserHistory__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _createHashHistory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createHashHistory */ \"./node_modules/history/es/createHashHistory.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createHashHistory\", function() { return _createHashHistory__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _createMemoryHistory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createMemoryHistory */ \"./node_modules/history/es/createMemoryHistory.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createMemoryHistory\", function() { return _createMemoryHistory__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _LocationUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LocationUtils */ \"./node_modules/history/es/LocationUtils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createLocation\", function() { return _LocationUtils__WEBPACK_IMPORTED_MODULE_3__[\"createLocation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"locationsAreEqual\", function() { return _LocationUtils__WEBPACK_IMPORTED_MODULE_3__[\"locationsAreEqual\"]; });\n\n/* harmony import */ var _PathUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PathUtils */ \"./node_modules/history/es/PathUtils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parsePath\", function() { return _PathUtils__WEBPACK_IMPORTED_MODULE_4__[\"parsePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPath\", function() { return _PathUtils__WEBPACK_IMPORTED_MODULE_4__[\"createPath\"]; });\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/history/es/index.js?"); + +/***/ }), + +/***/ "./node_modules/hoist-non-react-statics/index.js": +/*!*******************************************************!*\ + !*** ./node_modules/hoist-non-react-statics/index.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () {\n 'use strict';\n \n var REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n };\n \n var KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n };\n \n var defineProperty = Object.defineProperty;\n var getOwnPropertyNames = Object.getOwnPropertyNames;\n var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var getPrototypeOf = Object.getPrototypeOf;\n var objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n \n return function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n \n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n \n var keys = getOwnPropertyNames(sourceComponent);\n \n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n \n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n \n return targetComponent;\n }\n \n return targetComponent;\n };\n})));\n\n\n//# sourceURL=webpack:///./node_modules/hoist-non-react-statics/index.js?"); + +/***/ }), + +/***/ "./node_modules/invariant/invariant.js": +/*!*********************************************!*\ + !*** ./node_modules/invariant/invariant.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/**\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\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = \"development\";\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n//# sourceURL=webpack:///./node_modules/invariant/invariant.js?"); + +/***/ }), + +/***/ "./node_modules/isarray/index.js": +/*!***************************************!*\ + !*** ./node_modules/isarray/index.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n\n//# sourceURL=webpack:///./node_modules/isarray/index.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_Symbol.js": +/*!*******************************************!*\ + !*** ./node_modules/lodash-es/_Symbol.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ \"./node_modules/lodash-es/_root.js\");\n\n\n/** Built-in value references. */\nvar Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Symbol;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Symbol);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_Symbol.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_baseGetTag.js": +/*!***********************************************!*\ + !*** ./node_modules/lodash-es/_baseGetTag.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"./node_modules/lodash-es/_Symbol.js\");\n/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ \"./node_modules/lodash-es/_getRawTag.js\");\n/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ \"./node_modules/lodash-es/_objectToString.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)\n : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseGetTag);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_baseGetTag.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_freeGlobal.js": +/*!***********************************************!*\ + !*** ./node_modules/lodash-es/_freeGlobal.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (freeGlobal);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_freeGlobal.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_getPrototype.js": +/*!*************************************************!*\ + !*** ./node_modules/lodash-es/_getPrototype.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ \"./node_modules/lodash-es/_overArg.js\");\n\n\n/** Built-in value references. */\nvar getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object.getPrototypeOf, Object);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getPrototype);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_getPrototype.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_getRawTag.js": +/*!**********************************************!*\ + !*** ./node_modules/lodash-es/_getRawTag.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ \"./node_modules/lodash-es/_Symbol.js\");\n\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getRawTag);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_getRawTag.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_objectToString.js": +/*!***************************************************!*\ + !*** ./node_modules/lodash-es/_objectToString.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (objectToString);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_objectToString.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_overArg.js": +/*!********************************************!*\ + !*** ./node_modules/lodash-es/_overArg.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (overArg);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_overArg.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/_root.js": +/*!*****************************************!*\ + !*** ./node_modules/lodash-es/_root.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ \"./node_modules/lodash-es/_freeGlobal.js\");\n\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"] || freeSelf || Function('return this')();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (root);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/_root.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/isObjectLike.js": +/*!************************************************!*\ + !*** ./node_modules/lodash-es/isObjectLike.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isObjectLike);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/isObjectLike.js?"); + +/***/ }), + +/***/ "./node_modules/lodash-es/isPlainObject.js": +/*!*************************************************!*\ + !*** ./node_modules/lodash-es/isPlainObject.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ \"./node_modules/lodash-es/_baseGetTag.js\");\n/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ \"./node_modules/lodash-es/_getPrototype.js\");\n/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ \"./node_modules/lodash-es/isObjectLike.js\");\n\n\n\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value) != objectTag) {\n return false;\n }\n var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (isPlainObject);\n\n\n//# sourceURL=webpack:///./node_modules/lodash-es/isPlainObject.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/lodash.js": +/*!***************************************!*\ + !*** ./node_modules/lodash/lodash.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**\n * @license\n * Lodash \n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.5';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading and trailing whitespace. */\n var reTrim = /^\\s+|\\s+$/g,\n reTrimStart = /^\\s+/,\n reTrimEnd = /\\s+$/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n\n return result;\n }\n\n if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n\n return result;\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n value = iteratee(value);\n\n var low = 0,\n high = array == null ? 0 : array.length,\n valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': ' + + diff --git a/app/src/actions/actions_plc.js b/app/src/actions/actions_plc.js new file mode 100644 index 0000000..a7caa4b --- /dev/null +++ b/app/src/actions/actions_plc.js @@ -0,0 +1,30 @@ +import { ipcRenderer } from "electron"; + +export const SET_PLC_IPADDRESS = "SET_PLC_IPADDRESS"; +export const INITIALIZE_PLC = "INITIALIZE_PLC"; +export const PLC_DATA_RECEIVED = "PLC_DATA_RECEIVED"; + + +export function setPlcIpAddress(ipAddress){ + return { + type: SET_PLC_IPADDRESS, + payload: ipAddress + }; +} + +export function ipcPlcInitializeSend(ipAddress, tagList){ + ipcRenderer.send("plc:initialize", ipAddress, tagList); + return { + type: INITIALIZE_PLC, + payload: true + }; +} + +export function ipcPlcDetailsReceived(event, plcData){ + console.log("action creator got PLC data", plcData); + return { + type: PLC_DATA_RECEIVED, + payload: plcData + }; +} + diff --git a/app/src/actions/actions_tags.js b/app/src/actions/actions_tags.js new file mode 100644 index 0000000..e938b07 --- /dev/null +++ b/app/src/actions/actions_tags.js @@ -0,0 +1,46 @@ +import { ipcRenderer } from "electron"; + +export const IPC_TAGUPDATE = "IPC_TAGUPDATE"; +export const IPC_TAGSYNC = "IPC_TAGSYNC"; +export const STORE_NEW_TAG = "STORE_NEW_TAG"; +export const DELETE_TAG = "DELETE_TAG"; +export const WRITE_TAG = "WRITE_TAG"; + +export function ipcTagUpdate(event, tag){ + return { + type: IPC_TAGUPDATE, + payload: tag.state.tag + }; +} + +export function ipcTagSync(ipAddress, tagList){ + ipcRenderer.send("tag:sync", ipAddress, tagList); + return { + type: IPC_TAGSYNC, + payload: true + }; +} + +export function storeNewTag(tag){ + return { + type: STORE_NEW_TAG, + payload: tag + }; +} + +export function deleteTag(tagName){ + return { + type: DELETE_TAG, + payload: tagName + }; +} + + +export function writeTag(tagName, value){ + ipcRenderer.send("tag:write", tagName, value); + + return { + type: WRITE_TAG, + payload: true + }; +} \ No newline at end of file diff --git a/app/src/assets/electron.png b/app/src/assets/electron.png new file mode 100644 index 0000000000000000000000000000000000000000..57a1cab233564e56a60b96fcceff15d09cc841c8 GIT binary patch literal 1998 zcmb_dX*kr47XObe!`QQB8bU=tbNij3`T%Y`t0L9Y%<< zyirjIC0v6sud<7mAzS8}EAI61ez@Q6^PF>jXL)|-Jikxpz7rNBCUQaq001!?YqSdw zBYA#Tn4cGu!N<*bAP`{gU=9FH*`fz{L0%2@vvzR+fH)WckW&DF%WIKW03aF;0INO# zfGh$4`S7xKXH(w5)ydw~l7}{Fx&KEyIy!1`L+aYV8Ux|vh%gbJVC z9oi;;>**&g&HsyiqW_m1kgpvEt;FXuM&%X9NHz|Z$7V&qV2Ey7X*W;0khTrl+%<4| z+>2F6)s%E_cFX;}BHr-u=nBTr5-g{OTeg4g>UKv~-uI1^({tt#CT-5cRKMgZY*zsa zgY~1;EXoF95Hr33okG;h#+w5&>0_!x`$Jt5+1sFgLN7S+)Ov&(`FaATcbK79q5&QZ zo=_V`VYhaO6GPm-t{jmLImaZ<(VT*}PYm(&thoo*z^Ce*U)Y=3drUdi)~eh{^Lq_y$jBcZ2M3Ji zDhN84B@wlnJQ9RYGq|A9j_BXEsPBX_IE36Wfnd@zEQT=ak)k1*582;|mJ?|HVPSup zpj|OOHB7HB>`t${(5RW+gWB2!6l^!rW#N>>T9{yZKySNCYucS^`?dyY(hqsvU{?T! z3a7WmyDrzSV7byDS!Lp%jS-LZWWQV+KLtHoQq~2!omYYQP~A{1e?gzmEjci$Zg2a9 znJP~9<)^pK(?Yv9gg3mO*eZqQS$tm=>$>Wm#J|PZT9%7Ye2uM+xp6|2i&UE_dC{6> z_%*iDe~?K(H+B^#jyr{@K555VA6v}xbXsjb3bY&0u{Js#jqz8Z0+$`YRdw#)YZm$P zq*7ZVtw$2>etsL?(IQqa~M;!Y}^RR4ztuSh}Y-E#v+E8PS9q;5waE z-9m1Hn5`*k0d8s;@`LiW1Y`8xVZRI+UG6u#UNo6=21IR&Mq#?Bh+@3fw)tNIAj^HIk!qSS7R z<{7H~vx@rPwKDA1hK3fHj5zZ`lT3N-RoBXyK6dKCNhuEzmG>SWu1Nh9emSmoY`}WS zl}-_xTX&`u+}2u(Z`cYML&*EoK&MyQ%Sbo6uT;s*2zhs!>Up;@HpzjvzAH43unC#n z6^j^k`KKMEv?U`Yj^MYtH#uv3?Aqmww~b>_b%_GHgbl8D zuGKoATzDmdjTpVjw{m`697Th)2@hC@O%jQ-NHy`=X=SC22k+^lh0xCwKj>kX(oax}(k||eK@`oDX40g{ zG%(#Oit;78Jfy?p4ChCU%@8ql*ZwYgUVvz|%k+IQY+p?KV%%q^=V)R!^lnD zHA!8X-Y^SaG0x-eX728p$b}@E;jrSn54yTeX8*Gg_2?W9H8QgiU_6Q&P1VrR8o@tv zDX1`gr64D&ACx8E9c%Hm#3;RT&6ZMh{U1skZr7!RaNRS^nWG+w`|UMTp9LmFl-vvW zjJ12lES=c-AJIlt2=`F~lM0xp#$Hmi9%U(sVBoNYv1B1^W#`;?vvUa@F zr=EUF7bC}sN3BJLsnD|uBj=KWcHb=i=9R_>`6PRI*w(oM{5Ae9agK_FXVC{rJGHjw z+Q!rdI`413Lu1J3Q@mHAL9%ow`Qu3hq+cX~2Y@d8qM^=3xDFiQ3P&I>>LLwzxjqsO zU#M_o{}&;Y=pS?|_J0!|9dMj@1jSz$aKu}rJNQTfVD3-!B|vRL@c{%E0^UD1Vu0}L P$pSW(SagGhPx5~N7WSJ< literal 0 HcmV?d00001 diff --git a/app/src/assets/react.png b/app/src/assets/react.png new file mode 100644 index 0000000000000000000000000000000000000000..aa75d2f8288d7a78ed5155bf22d67ad01a4b4c26 GIT binary patch literal 49030 zcmeFY_ghoX6F(Y2L8PcrKtdM~l@0-=gLIIh^cn#vp-L~ISP&2hO`7x$(rW-|8X@#9 zy(ytdl@>bO6MTQ}_x=I*xj$Xc;}c_M_smXt&FswXM@@A_itCW;AP|T`SxN2%2t>4k z|9g!X_#d_Gp9{bTt(&~Qo0gN6o2QwJB}nF#les0cvV)nms!iaEvt0FTpcwvB)|#?^k(&# zO6T%lAX3rGPi7gC%O9>VTz-wpAi{r2zoWeTsx&}=|NM^##0IPm`12nT2<&$G^*^Hj z&G;YDoBw9~kLZ6h{{OH2zvcHok^H|eO1N06%UIXtH`!g2t2FPqahU*`x#-Kd_Qr5v$;YY=csdtYlWaQ3$3!r-Rvr?;iF9oN8hvko*uP zyJz_iL9eEbArfb%4LJ(D$W8y2jm^QD4;PqM$P2jd>cN!8si_^mA(jXUNg~9Xe(Ru! zv5bW~Qb$Plr@k&)Z`);cwZfk0!Y_zpJzHGCwsAAH^D~t0P3yRx6XMUr+*W-zVy{pd zR{6f=%F4vIfZDPRC)>un?HCN1f6F5K!#8X-g!P6F+50mzznF|V1SX1s3^|1+#9@`RoIGl}#&b>N}Q z2+8qPM9#4JK6FaWwqPpSF2~5uW}e0j6G(rY2K9nBHQ8XUj`#qA0)XmJ9sUXKr~bjCn=fd){73MktR@&nDvs0=cHOf zjz6Dh=-sQyDj{i_SiNI0PqoRS;AF=&=U-tbiZLk( zjggJ-rK%ivt?%MtQ)!kEl7QfFvECH39D`w>lEOwD#8{F8CX;Ll1Tt%2!yXO+n`1r! zg}Li~i>ary9`#bgAOK0FV;DMr2q~!QgGwoMUTh!Nj{J3aUVlTVFKT_mfqbFO+@B&~ zWo$1V9agJihwZN%Jh#Vw23Tc~78w2MC4&Vc`?M8D_6MGrV2QS-ow5c)Z3(hQyUIoo zr;`#hWtQ4{)&VGqt$tBF)ZZ+@frE@Ciz)<0ZlzBCuDBSy`^7l}Bd$$$GtT>TlK#)w zqham&>Po3Ko;_ZFsdK;h@h~m^t(rGd*JEVol zp}$e@jP@EniWK%WuaBeP8p`8S^zc7f&W(XA)njlj)i@AUO)(7NL6P=rjBTj0T8c=6 zMnMeEl%_l?H)EleG}}0iH}W>6 z!u9-73o$BJbl@5yUh+@B?xjRy*`aBFncn7&-%}DEa|y>VeK?BmXpZnNZON}_DZhC) z6oJC!T~7HRmf|}?E}KK=?LGH_C-PVm8A=jowB4^g@#0DP z*(*k=`kcy!fDVU1V!|MFnhYHw6sIZ83Wgg4T9rL^O!%Cf7*8T4I!;s& z*v3vy5)c;6%cEGUxJj`rIZ3-A{|$=>$>eO_4uty zLq~cio@n7`7Npj$I`@$#yQ^KwZ{ zEQN%(^bN7kk#tb%98pacvSX2hg7o*&+9hwgpTNL%SwxSw8H7EHiGQIY9( zh!<2LJzvkmi2*}m<`5ow5^XD;vouy`ihgR+R6rT4&ns11df-YCGWhYl_>u^_v>Wm8 z$MQ`vqXN4e%$B!lrko$6Sb_p+*f$n`T=;pgf^{KbM}n|6L6jIuW!+pvY>5_!q`01A}^u-Ywo1 z)_G^OQsi8Mnbejy=p8!j*s5T%^PO)we~Pt3mYueL_Ma;$dLJ0Kw>+{^I@r5atE#Ne z^v&N`cc-QRej~tYtNY8<1;wJIq@-zvyf2enlPmartArQcShyV@NMobb zb?AiJMXaxaQLIzi=&<49DPfL&$Cs2qA~ARH3hc%#CF)IL8y(I#r;p5p9Kgj(_)8`a z^hja8qtWGe)7|eIuz!V~7geMO-nu0%yYACqdT49*zNCS9_0!&J9s^7X2)S56O37a_sUhVQPV z0uMt6@d^4btg}xXp8Vs`bF17pe)UYx!jg2Da(%5oG$pTBz!-hn6IpOwN&m*Y50auF z)XG~8>xe`MnMSV$usD@&ru8tgO&ENcGnJkSDP9&)lld3yb9!TTXe4N#rS@{S$YI4l zyS~l*$^HA|SMDHG9>?DY;S?w0#@KXi`O=LN=P!YO#21bMT;|bPoa}zw2I|g<(IZpfcS%a3kX;I~9h`s>of+by;nBo>N2Y*VZlPICHJ{ zj`4g~f90l(eg~2AB2Mo6M;a;U^HGX?r*Q)rxV}I$=phg`KXmjuon3flqfx)7P{+*_ z0Rh@WsWgV99?eqBzr$XN6|z=MdeccsyUZ^5?cHkeOT}*e4&i+KT}Sb zl=j%Z%Ft0N4+QI^qPtV&t$rW;V07kFiVO?xKR>M6L~(mrvfh}@c_d(IfHZ>YW;}xI zAp?0A13r~YK$f5#YXz?FENe};?8ncop{$h=yepu}g$uA+pM%ngE!#4(lJZ~>Y>KAO z;E#FqC7~qz;vMF@w!9Vnx`T>~Y0Gne4gH^6x7d~`8rsu^oY?g}5U6yO+k^nX44IK# zoC<$;x$&tS*@J+Z$*gmBjiiN4&aR?h{6FRbzP!i4gf_tnbUDRgwZCCaYTH$i7TgA7 z`MbH>d79i;E3A7#0k|Bia;Y@}d?xb^4sm7IwOaFaVllJ1AG(z>C9Y+}XXgzdTw?dG zD(b^b5yb8}Ri{Dsl%rAMJdM?1&Foy+nPMP~Tkkef3bCnDJnec^#fT5R9sBWoTf*$Z z>24fII20B(;cGW_V{(aOaty;%5R<<5(@O<=#Vq~kPW2ATr)!Gx`wf4GgKfJrio%?> zyd%Mt_|~qb2B}>rH%&{g`6KM*ev3ZuK;{R$4QxCae>y|B= zHPSn^GTpjqy$GEsTQv1|2vCZP{rN0_dM0}OY~3q~5}yb08r`*N3GA}lJ@?=c;Vs&R zw5uF;nNPjoe=Jmf^tH^USXD>P+Qccj_e&^~+O}P7Evy^+C8qNJp9WP!*P(-5YbkuV zxpmy6FeTSz%Ngm!OKw;8D$BpxbB8x`HlVt|vo-Q|P-A;WTx}a4ID%pITG=tAa(?5Q5BW0gn|UoNyPbo0Jvju&^x5n%CX_Y8{7r&0YFyY)MgDQO7TDyoXtMpDG)ppT36Igy@>;?GY z+HbTr13o8(3XkePdh0SdJ;Valt7aG+f#RZkBOMcsun=T7`?_HGPGa}kA*5`#vC_`L zvjrFAYA6Q}$*HhOacHQ$)q54M<{xiKV+WV^Cd$=x?IRO<{hAE2%L2<3yl0a(Zf?c$ zw!)vgka^EA#$ZJg*T)h~>}s#s$+Y^zs;$QYuXOp`{5MHHQ=BVd}b&7&6ANDHA+O%yySOBp5D9STc0I9l>38GnrnJB2)* zRIp27@}^DLZzjO&U+3mY@{TiPdFa{ao%+D0w*e*Frj(KC-hV!H@A|qn2&4YmEefiC zcqTHI?!Z44W_8J?DIL<}9xwJ!Oh3z@_uq1b0Hl=ac{8~HZxg&F&bRMz`tPwo6S^DD zkXJ(o=k{R}rL&6o5>m!H;Q@WV`5nIuXYSruIErxpBc#Z#F|o>`EH&Yr205B?T?)S8 z?ozYh)O@7s&z{yUTm&}KW0FMmUCm-(YEN*w(nl=?ypfD9NEltA?zZ*}W zOIYY(1?A?hXy>O+|IM<+F~Z9JG=~a}xyg_Jc#iPPo#dI{nMkV`8+=y3RzCUe4X4W8 z$rKLZu|rxUyX*A1st<#GbQRWrsQ-v8kS504wMlBtye5_JD+zwT!B1!77FOrG41bpW z*##aR*pwC->+7cmQ^$%R_g%-A){ZK86S6JR7M2f#{QFn~)@dKJ&F{E(|2eycA5JwT zXN=m0=ncx%3#$VAFDhtS$DlKB#&!tCUqp1tPv{)mo<`%LUbeD)$i;JDTvbDDZaV09 zQ|$_1-38&?tUObTXhP*{_C;Ti(1@W!7LN95T{Pi~Wt-}*zs{%~i^jf4ksJPhUA(@K$UodsF}APLtMw!Fj@Q?5^tVOhzXa{Xb_nV$$2H?Wq>czy}^7 zZH5Dp@a2^1-{ex(V>s8liK!C1=Ty!|hoO`J-w&#K0lw$pj8OBh7&wH8T}n2PyQ1pq z&-mVN6??lD24Wlz2Wja=`A79+P_`v^JyeD_-Y6G`XT`$#Atl>))B*{^2lNfl!t&nb zftX>iu9!w#+!?J@y!c^odNymF@pI6WBkyQJ1X0u0KX!|Y26=`mX9}Ln-p-W1&0g%$ zT!aavr+1=31`BySD_Rfxr24ds={24j^EHt zBH@N=q0Nm)qkDd+gWBQK%+8xEv!mS}#*~w0#p$jdo4vmTES3Q2&H6}-gLjxwq~Id>)EJS{O-UO-Z8&EJ>LtRfqeP#n zw9Lj=dN(7mIksGA;A6~LSrVP9K7r5gYh9J)36|LKu_JP+T7T>^MDr2TpdzjSmK)4~UGYj{3ntOp)D(6{R`b#R_we;xo$<%-X`oYEo6{PU_oAZ$Ah=0g64q z>n6q&ENYaxaiHG!0zOaC{yz z`|eVDo6D6lA1JbU2>^CGP&)Ux$FiXmg)hS~laR;Ohj)$ODP_(P7mcw2WoN0&afe&T z-d_KR@ZT;nRN~a|dfi+&-psilCj^SDR2(T`Ws^vB1PsuoGm5s)`u{qo^`zpY%&RpkB!z6h^y9s0}j{CMfBja(15>Fcmnf zl5G*;tetQzoJGxhuD@UKko^rW))U*(!te422rD*KPs!EZD~;>g1JD;o&V*Hmc&hGt zxUT#P@K`1v>*w^R6#u>mN{d#;J;WCfI`tn8xk#uEGv5W|4WpM?4qNWrm~{8yA~Lyn-5Wq|A_tmy0i;6!7!XmPAZ?-#g#>N#`05k{6Ot$kf=Yo?zc> zEQ3;uc~W~}6q82)qzzDwt!v%T7%LgHed3-1n(xmYeL9B+6SGr{6Es-Cs>i*Az-l}C zWMhw(m1Y9ixuBTtyt+>iyX@tH>ufw2>-(gl__xy9)5YEmE{^%hOlDtHN&vaYe3Z2t zQrp|EeN})NW4(k%>)PQRB#Rp`;n{q6)UDe>sGoHag&{#TZMw6<($uZTJ;vdeEZxah z%vn5+%99CtHg>nzIjH=afzSxg{NwSdD;=Tw>7ONRAb9CGoBK96OzBkAQCF@!L!LqN zo>Ngh?p-_QDkP+Z_NAxp@#77UZH4`SrS~2ANibjI*CE?{+SB)i(m`#9>+8x@c#S9x zyd9s&a;Ce+D*x#Fs+S*9@yqq73_W_;X#&8@L;Z=~6o*~Ff<1MIcVT3d)2&HalTXO;HyiNJIJ<)md(hzQm z!h0CZ>JL{xh*vs%!wntM=?vQI*{nabw+QwTROO_Wu7-l}5*}1wbiWHt!%Uptc2}_eZ=;QlIKDFPr;$cw}B8 z%pXZ;$$S3PJc5O%$T^k6!ieMEJ<+dGg&==l4@_bX&2i6!MxH1M`&*6_NOng7m z8DXjjn)eHex%~0^9qi2mUK{FPG@C=?FR+Nhc@ABgmchE@LQqz~|DowBoEzf$M$h=E zyzD?vyDifFr8|FkAt=V{esZXFAI$hABwlT|E(YUzMDcREzmy@0VM-ujEB*z z$3mkchkU{9=b20=$tlEutpO+r)Yk>>4{=Fn&yMNCuru@wyAA$5Tf?W)F8!MLUm2v| zE`2P2HaEy6{YerRxR0c#U!(IcW*T0Xj`=?n$ns}eHq;r+Sg7!T7yFO)!%!ydlO#GN z9IeW`%S=VnNR&o;$i5$ogetuHJFak8aTaMs9OEB^$~C}a^#?eU+2_Rfly|J(VH{}1 zOQ%l9K{;pS4jPvxbX`y{(6TVo;7!(gCO_NzcA?ft3XmTKV4TuCZXxB*xWFWL966D8 zLWb6V#|=*^9MlAfl%-_F2DtDJh5oBcr<71)FR5KA(J~ydp-W2EMqpzYo;@)6A3^J( zE<&J}5DK?MBG{NOc4``|ZmH?7#rB-dwvd}4f zs=M>mMipocUyfz3i7B5MSI}W# z{d8Rp`Tk1~F~hq173P9Ru5KlEmS1e!$@I{1_g^k%41WK?*o zkxFNfZE1zbxhV7crNoaS9)YrkVfwj^`ZYz<2l z>DsgGJ_aB{M6VhZKEz2c6Ec4fC*XY&<=MD^FM_h!s{~q_Uo~8~C0nf;{E)DtDq>Fv z4=jI@sLehvWf?>Xa=GaGa8(93hHle}A}>Aqj+J?!<*Hm2v$gsy6e%Z3(eUsW;)R~Z z|Ba+I`+WE=qLDq?`Zl0_L(w&8xt8Qc)LM*-ngy?SUORF5NR>ua>955G#l@OUdepx=Zts zRfgnVD~%hoIzP{}fD{1P1}YW>IW4J^u8;<$ah^_d1oGBLrcX7U4zmi<)Z?n(N`X}Y zDs^i+9I#i5i3soL8Z~7V^5<@uj^8#ymIz_k{Ovu;>S5zMloNabIew1+x%_=O!_rbH z1=yN5X?@MUr8N?(g`D$xD%rp*;d}wzwlG$}dN>I(TUJPlaST8K&flPY-Xo&iZ-3?_dZC|Y?i4x^aCODLT8WiXa7s{{_Jm-h13MKc;ULq0-888>ik-SeO00x#vQjSq8PUn|c~a6C9#b z-2W`-(tSerymJ=k?WoKxIb-w17bb8InYiLiS{)KEk{@nGH|OQFh)Pu2RRFmg&1GPT zHur0o0TR7H%6&OOOO(cun$Dr8Q_S9h(wqkR`aY0Cm;n(1z>xv&kboe z)#?~G=<8Aucf72G{|F{s#plH0{EqJdtZ2<@!k9p2z>>s91r8ddC!h4Dp7E-7A#yx- zU9*T10N)3;TtJk{#VG?w7yYCa9rUU!{`HZ?^s0SUPK)AkAv()BL@}JVMk?7 zN4y9{?#&BGmQ^I=G@VV}Bqh5>I5H$Ow9F2>WPny>K#eJhSf?@s;}C<(dX37RU?7d% zRaZuw)S&!JxzLtGX>rPX+<5dI4BO{Ehyk`uiLbd+{_>BfVVCb~n{uupNyj`rkpaq+ zylzpYxd5yIv=iVp@rqmc-u-NwF*pZj~I(Pz)U7D^+TkP{c$Omuui`Logd!=Qgj^c=~p z_>a6R1vzm-=Si=R9O!Bsgqoin-Ys5#&sNI)JJh{CT~#`F4;ZsGjJH()IWy`-?WRiy zSq69dW6M(~>1b`j9<%!@r+>CN+Mus&I~xB$7zf7E?A@@r^n>n38ne$|;XR7O89j!| z`WeNZ==PTYlVWJ2xZc1zedM*6};MoYkwqmKTiHH($9w5@g0 z(_H_Q(5*Id$c1*{Ct+B8orV$p7(dheXe*0fRB^)+k-f$BCxTkPyM3L;9_iNM>1nf^S427bajS1&{Hy^20KyNu#P z#s)c&!8T!**_v7vzXEx&7jFIb}{odaj0cA~kh#9oBV4K;viN}HG zq0Y_;X=s&Ao3w7|F}op-0~(P@n*7QgDn3{_RqrjL7GhOyJ&)fuJN#qF&`Hjar#UNI zA7QheY%}2yvZ4+dhGXvcMwPc5Dt?TgTguv!7tB(sDD6d`y5dp&W0SJ=721~wHCQx2 z|69=L&ZcTo#Y>n^>RFV{(M4eed2h(Q*5jdLwg28w;V%P=&XajN37;i-sTbWC)0rzrvowlri z7hIHOq8MaI0c(XUC5@j6`mmX|P1>t3knWY5SI6W^Bb6{U5N;zKaEvb`zV-d+p7|uG zKAXiFPOenF&S596a65k5!nF3GVS7KEIoFzntQB9l?^*y#WFzT$G7`drPgn*k=Q5oc z)%1mzy&3XXSTJW(wiHjwW%cUd$SNMv!Qblu`M^S`foVqecPc*QCUgM-WshFcz_ zj_tQz=}y}rdk`BeL6i_)ZtUdq->8qyi4A_w4L{_)tuot4zOTPIS@zXwFpz3DK1a-u zW$_{XgC_m-w`D{BSPOOMp(Pc4))i)BlHn|-rthq~yv$+fAvQ)b6sTFGU|1UcueQ-> zZt}oUDCzzI0G(`bM_D0b^gOH};!`8V3ybArr2i)CoVg$Ie@l+n{XdiVtGGV#>eSH7!kM&iXYa!)lV ze@{|{KV|Q;z0vIiNq^6cV6Ty`FC)u6$bo>x>ix zbDvnoEL{UvPd~zs;e=8|rQwfB*uQIb2wbeZa>k#;p=YQ%?r7V5rQ1Ip6E)%QWQz2F zq(YYlZ8)WzSjH#Be%DA%@?RA8MW!}N=Jch*H(GelJ$tp5=T=|z3wqBI`j_R}8&%P& zou-u(N@n(zaloJLrcdE)YGCztEq%RvbLqL;4yjCb7inJu<{qDWs_jS#>iE}>Op1W1 zO{c^wb~`60ma@xupCxo8>o2FbJiBzAN7!7Y?iy;fPhuP@UyJk)#_nQCQS6Hhu0vM) z?58I89*iA8q`ZbC^|IW>q|pW8RdqrOT}gXXpjegv=h=%KN0yJSee27Rup#mK)mTaH z#`UYKmFhuF)esq-g&>I&>WFgV86nKDxY9(8-_BUuOG?qGyzN<*kluR`37a(I^0MB? zF)2i@<#uQkT}nb>#|Osf`^)K{Qi%RY%7JqJTt&*|RLL$P-RquI>Z+gjeB`-a6?d;i(N#`2t2>T`WopfoH^ z4_MoqD`$$RnQ#a0HeuOC>nTxg7PGBIQ+NMaBMavvZv-#sPx<~^>iE26p()z~CL7vPZ{*6^<3SdzU5og5vGjTWeGX^`bV#57t`@uWwkZens?B?`p|QJG$>6 zHbN;*56V{A)@zgzGq3!w>x`Ro9t-jck7BSkm!XtSB_*KqB0~%K95F#L3(Ehkl)!-Vq2+44!?cM!!1dYeB z`O;o^Z>A5cf5HELi# z>^{9d*?*T(2m+h)QtHJWw=_o{1U3nKmmv?Jc}vA5nn}0l03YH3iV=fw`MZp0{ z-$l2wDpJ}jcXnx<#g;}>Vn70=xb735sIEU-(t96i8Cq;@~!Mb3xg0 za|(QMS?H6H>8GIOySl^DNTb`OQ{LhPTT)Yz5>GZjFDY^FDr?)9s?KUPB+Qupke)oa z*v|=!d^}pVT;@H8FIv2L_(R~Tc!>+J#n9=wzmj)4YH|cWK148YJ!lG z4UgOhBz|HPgV8+F&v&V4g5UwB%bq`x=uacG6Gv^Tf<`^5QLbZOP<7$G@+P#3CZh&6 zU0b?)A}ogpKNT0Bofo=jG7!gJU%mbBxMDv5fpKi>!zU(G=Nt7x@niZE-DVZ<6cp8I zKq1XelVcX`qAeFqm^Db5PvgAu=?$F+790Vktt+(ZEckHiKCxO4vvmtAHWp?YTw0OP ze;YCMh_Qy$8@A~Lih789=gx4nm|%A@dG3)Kc*cHFG0hu9qLdQ$&JgwzntvV7|M5EV z2z4vot_jSsQqy@@=#EA~ElQt&7OI#U8r##(5mn;KeqYpMMd2{s`R0Ge0}h>9Nqt-= z_}owKH3zlZvSC4Q?vMMhc6+UxY7Ct>2D5MUGBCFIxB3y_6RdlG-EtNybH2WZHZ7_; z1luA-&BE$?<%bDDT~XB<3FU{=yYBN0a32;?L|zHxkF%tj7CyGl|E&ykfKSTnmZBhb zcH+WQTb}!Ku2Q7@<-)2g z34EQ2!t4Ifm9slHK%f`qyfG)<V=03G?*Vu% zUIA)Am$frs=&i%2=(G~xH2cZ=XQ?z>AZs9K4SW0t1p3=^c~CUe2Tq?=0nq^l^Nb5# zyxbxJb-ckxpuPQu2;k&L%bWcc9MwJ6lWfi<$V zFCF|0P=Rc{Be6owgI;o2erkXI|}H5xqT9DKd)Tx$DN-3h(HAcUff!1y`o`b7jTx!F@f9tlJ;^c^3z$1 zTFLH(#{LBj_v3Vq(_OE3P6yxBAq=O>Ca3KY=NBG3>7IKREv~6B&pV^PL55wD*XS3_ zc7JZ|zdC!~a)4K^K(A;nsw27g;arzkI%w$?!;iAHk51wf=cs6=mdxX<{gT*oOGO%u zC9%gl7GuO&+-iiUt&(@vm(6$|IlQeGW9Jfh{CO2<8N4knFOxS?(l2PE_F0pT1G#$X zSj>rjJY*}pa`jjt>EcD6Me3_FLuA|+^^%>cRYeB)P7EE%SR-;CY096mb0v;M6oMeYY5cA2S2HN*WQDkl zl+uk)EnA&j<5{wt@bJ7xH=`vXWlH)#Z%c2_;^fZmBM-g+RTP?F`S~~K ziF;3RannH_CG2LAu#6b{(z##=lUIKJW~2mkQ+>TrJbHotR;B9>8&Vbg$Q3D-K0B=c zG`qGP%-9r2wf0;D_j{fTDaalk^VJj!LsQa8%K#n+?F$lfD;b6v z`7M8JRZO`aqOUPr zm}~#0>|iqb+lx{Vlg^eJc}wV*1)R1uD|0%IbW+}*J!UG{t_@u6r@m%rivFv>OeNgg zY1-(nT+q{QYpj_Y(2&isiL*CB^#Q>`oI*TwT=m@%xKNLd$5$es23%c+aVL!%GlficmnV*TuW(5PSi)vMd7L=2 zsPjUJyHyVf2v8XPdC7T}hO?2RDxwmJ6V zrWpB_m~tn?hMvdNJ$E6qpT@Jkzxox72+qX{-~T&?JYsoc=?A-SW^%%6Mx#dg&CfGsP?u=yh1+X?qmd)!3*@YRB!OZvKb~46@Ti9%9HF~GuRIcca2}P zjOl*2*}0ayzF_YDZ{|2l7;i*uIjFC!Afm@-PAo1yB=WEN_Ro~j4-%R7b?4UsM-3u^ zb;85RE0_D_0aF;ADnFX`-T>8n;-mLhyMdUPNFIJtWd)zkcm9as``^5a7Q6lS-;*r@ zN5-pc3OVNEqokJkBW#a42VXS#A(MeEAd+1wn=XnMXMU(mYUG(W{{*=U|C;W0AU6ZX zxwH8?I4Rb=>MQb}y%BfXoN@1;(RNM@xF^HT5y-YL5k1GPQwf2N>S4BxC4>CYJCj|9 zxZDegBud&*J@i)^SB@8^Q*=$~e2Y1==jE7Su8*IUPqy$@P0X7mb7wQ7;%cvOu#C2hquYM- zqT+e+s!SXZ&TaI0NvFP#C)Bb+MK#&$s~B|tk_o%vhJe$rMe9>;cW~MAragPE{)SI2 zo3)2%f7Kgr{B%vlxU`;oG?mJOwB&G(kWqYbVex1EP{u6K|=H2bvMUhoPvl$an zf~;rL8Xp{PdxCp$w;S4dG=vu7xyilC4`j;rB_B$^i!kP}cnoi3H)GnZF92WrF>PnS z@jEcEOH2i;0i|J#-&tlzBIU(9;=N51XAX%np4Z1@e2HI;pZ>JWn6UK#L` z{s^A^o6NM#v|1I9L5q~VH-QSPty`j9Q@(bHG!U066*MLvH{I{2##vKp!Xm004h+hu zmI~fqVW73(e08pdWdLTF)MU4rZ?2Y&h-~>37?-KFU4eO+g8CL|@93#=5)S)ykkUB$ zwwW(!0CQ408eG%1K%J`stU7jr@e_@0_~;W&{ZnpY;X6ky5Dq(fu(Qan_`=_wR#6bD zuJ6Fu@LS}4Tl#oSZ<>9Cx@p^Kv4}R797!W&TUT9JS|YVotbur29x2*Y09^AuFFpF6 zZ9TBFIAV%DfVA7W<%t$<+5t!5&P%qVFnZ@FI9;z4%xQG9lD-@^ETv{d1&q^Hw~X!V zg&^_{kf@~@D%dEW)I2Q_7ruqcM1H@5WP#AY zpJj@6El)}w(Rp>#xW&duED)=DHF!~Wdh0Z;-H3QQOIqQr{dh#VuMNojGNe#1utKeLo~(O$s-a6 zI81If{z*RFPwT`$vv@b+w+hGl5DlOTnA7M{wlUUYt!%q)Y6r_*4lTDwxB{8F4l#xtKmjfd*Tk9&vnbGeHd|Q|~C_ z+(C??d-}^e>I#gf4>K30`#!%{?t6QGLdYDEt)cn=F2TX!AoySixG?egR95h!xXG<< zGCh^d2loA#{8Jr0C+4`77s2%T!vbJ=q2)SUk=K8UP@ z0q+N~dy=?Rmw{%~li^>06j6a9o}eUL9;O~Z+f8}9g$xt(w5K|S);n@rocihCn>(EH zw>7r3G8!knn7peGK2Nk=lQ#97?`Jn|jJ30oAMhj`K{0mKVdadK zl07p)-y}KB&aEGHV!C4bXk?g)J)Hd1(38v$%cGs`RP?9V!ps?GC3VoN8;iy-2O;{n_n$zf zyyh(KCD=}Im278VQfKptl?Ddwh1r(nkhN?9My5KUB^aNgz%!SPlA|;*wQsWFZ-EF3n zO@I9Cf|{~r$ek5sg=5OU$-@e>7VM`4=}?YN#SX8Yk~@_+I5s$t{S+NKHk7NZ%^f=e zFXiQa%aa~o?dvhQl2jHJNHa^uj*l&8QQDF&LR~}Wj?%ta`zK?pcVKr+lGI_%HAk}|%toi%NEKqD&tw{*X ze2mbfV&AR6Fp0AmnV{3QEm*nNW^RpP`)I{@dE&j6rThA3H|JV&$zxm9W*=(2Wv@i> z*%y(I1oZUBG~DA(*f%(z_e=Dj%|A+1t$&5vYd$d5zG}{fhnd$C^hmv4y|x#WvG~#IBlg8n*Ci#tb(Bq_c58D7Ri>x4V^EM z|7_T}w)3U+$hk`tt7_vLt7KxxFgbAG$4>siso&BBe8Y}DXPZT5TM+19M{Zmokk8qc z*}dx~?@71ps=sNv<)=L~nTHW2=2i49wffC@JPovewP#s?omA&UylQ~@y5s;q(SEa5 z>)C7qSf#J+L^#q1)_yEbqM|QX9n{?*U(72xbh5NyBcd@7rQyfc<5_8@x~s|1D?BS^ zh-%q5hUh6D)ha#APi$G=OnbY#_=FUu{Nis~U|b48>})y|!}elSUP!%DI&}-;Jh7=> zXIj$lnv0Pp9X=}7*t?qGRpq|dd^9|(2PD5P--39VO1BGv%Xx}b<0?fcjz)^L$~Gn5DN?PhpD)_|f^D`-T0`vWE&tCbKNou4rB*gAIY z%gfpL<(F$jHlw{`0IR7My ziItT*St7$jwa&3$W92Jd;r7i0aZTMwo9QGa1Bd3*52R!Jj<+~OSkESs*@w?^-|xq* zxAoD2moBoOFf{g`7aaVSc^45rp@GhV(mkh=uXx;ovS~-1M~SFbw)p%R2j9;(m37t2S zKU3kmD-06@I#^2Jl$PjohN~wkXc~=VqjNg|>B$}X-zSQZb*uQC>`d-tC$MRot||Fp zxIqQi8bG?g7GA7z5qhu<$R%)m%7HG_0r8qw!5!MU zq%w2g?COvXdt+wL$-F*)fc%_LCPMEqDJ(}z6U(qgI}LslT4}ebscb#I_1WJ^H8-7Z zcXdP7)qm3nwkEoTC|UF4Pm@tw`{Q?7#nyC-n^~qm*A${*lTtXCv}*G+0gQ^Sl%Mm6 zE)V7)L?~gt?yQ=hGi&6sPKiWU&K7Ln$(Pim^4K^NjIQ*EcQX|)<=pl!NR)qfPNso? z*^_Q1pG7``YujzD8KtLRT~Hdh#c#wt97I|os{>tSKoYSxzO8ODF)(mbPe1-4po?JB z3>Gdvdm}fAco+CP2voT2)k3ZH`b`eMJI9js2MG&i@ zX^A=CHXSOQ8b)W+sl+XYp%W*z-9B^3Tc#9i^CI7vJ`7f|t%SVmB|3?e`f2o>!L?jR z*5TTOEriZynsb|SCIVS<2eM|&XVmL96|&~YscbEF&q!(Ky1FOx^?(CAfvd^3_6*KP zs5mdrvI^_9jg-x+pBMdV_W`id-l-~5=Qs4``5Tf`r2yO~5`@1AG~=dwLFJlQ=p3g2 zBPDBXl#9F5+q^^$+(fC^BoR#r+^~4@GVBF|j5SF}kV#muk|-G_b?ZPp?N*!jGqmWF z2Ysru`D<%_jbF4o>4kTuUxIW1Q|S`>_9!#XjImI@# zJEv=5dOs6qInI1D;X(zNal(HzSYE$W{*3k(XHacz&)qGo0c^{6>*ROB@&%u=H3NNA z21oyrpUFKlQ+1<4EXSNp3X9qEXbU09d=-^>$BzdTHN91#4g?uTLh7nH4lVx|OWz&O z=J&o|6h+Zeqp?bj+Euals!eTbv=v)WV#nU2_N=|PR*axli$0% z$5goFdX2_*bFRygIpg}PL>}(k;*>XZwW@}h;Z%-O6QJNfzlch_5vVFaw72k%pHAJ( z7}s~kB6_78XfxL^ScV8L)uqC=ckV`M zqeM(H#q;+iaSews^X!=ko9%T=MEz_{b-f(5wb$qV>t3n&zyX-F-tE)C0Tx(nv~;U{ z|Lf^rzt;APh?5FZH1ziBF)Zwu%Us=*2G!&C-dE*LAoh3P+Du&pr_DVFtUTv4IeFQ~ z6S32sJrS(?F$;>IYj&+wL_=0uyqf6;=b)qts>4C54eQrey1ii<{~dlEW}iQ& z>h*mOU+6<@tCwdI794>H>3VK?7x!MnBwI; zP9o^f_r+)nbJLqvGs{s2vtHOo_`VH*mY)bybMM?3b#l$euPLO=#A{FN2xtk$g?61Z z8ewo50ZE)lqh-pJzg@5X!=ZFJ6)#qv@P!T_eY+#Sv(w}>v zy6XxB>h4%*i(3AfQy%)#fMMWuX^lyP9qa0>ZhbhC-Hci$9w}8QfP1ca#t^?5Uwub* zDP4pxrWjL#FSx?qead>?%#^Y$$R5C-=p}{+Z~LVGEqH8$pojMlum3J|?&yMQBfq#Y zcHfGsTjyl#hYHPznK{YFCE%H zM*unR=$}J5u0OUap1jM)giO=ceN54t&m~$3e~)6LXIj`dCz=vfhTlw>e0ooHGN7Ca z%Qg4D%hVT#5cHK&%dR;NE#$fu_6)eb&R)hr78O=*oIZ-Es;?cZ;-p}pk!m4KaRiyG7MUGzc}Uby}QBgQEg<~pFh6jl|wCDXX|1m<^8%gW<5!<)o&*m zkC!*G!=0f9VvjL!%&&{8*7e=FdN*NAg%0{+J zwlkal^(Mcj40j_2xyYHJ&O+mBtyQX?!hHVotBdiaq-)6M`0wKULw^l>kOo^2 zit4XD5ZqN4+b3eUUCc+pkG@GZ&?l*>73EZTp+&KI~zvtCwl6}b>{kaMF)mG&6>a^JhokL72iU9`5#^ z9G&;nLzjfjGY$_hax0Kl`}MuNPlLG|xJDr6A0d#M8IZQeBk|uD+2p$NkPx5I1tTZs z^i~aWWQ94M76Gjx)M}T__M*e(-nB+-^VDH48A4x9kl4AC|6NBd)=)jIE)m*M@6)-z z1xpuwC(fGEI4^zT;S%0ng*k?JRmusckQe$FdgtbyIA=)d+0 zQHD^BO8ShgJ?91)IPNc=*{`khu4mC`j&`t*bEb7tf5_xWu5^?xM?9L=6V>!%GPi84 zkbIqYrlV1mhn)L`;JCUBVmLo+^oIv&oyxwS>8UUmfU%BfhZPVKJ2R$CK$^t*M6afn z8N1aCHb--*Hquc}aFRFO=1%S;eG3L}YvY4a)o7?_xeR;Kz8Fo zO$M>6dq8wi$0^RwA=683S5!X^j6iqT81$I0gW>(K~s2hy!(S zP11^Xy1uBiX`0L1ijKIps;$m#{pN0{(lpmnI3)R)*x`ix8|EP|oO8LC`y)Kbk7ecN zKC`*=nES=lF#A@u7kEEqcaPyLJc5Ro*fBs|Sm|1KH8kd@z4)oV6HY)W_j=2S>p zE-Y(akox}Hi6q{t^W|{~^Gpgei=S$PMEv(_iIj^TrB!vEzLGgMBVEnxr!nF#8!o@{ zYo5hTqxVSCr;q@R?{V;_TFey0cC43JoLnzywo@?B3zg_hFcv5u#_YxR9vYQsUxFH? z+VB@@r6K<);2tdG@EPHg5{!x}tIwBTTCfIly(gvpZoJ;Q*9Dkzl(dGmPOktzUndz% z>(&xD-1_WjY#`R1Fy=GkUn zT?_o|fK8SbPGmK*9gS~_@h3lUwpZXC3(YKcR3C>}n?FZ0eyHOk_4$kupX;NJ^f&3f znLzyIeW&Bc3cV~?r>cUP7ab(!`4jFG3u&E!a!bBJnR?miZeGN2^%|9Lr&vs?4!BW|RlgiSTGZy_4mYs}~c9NmJ)#sN{LR1S?w-1Scd zRx+}dW9KJ?#-k*8-h^f`Ytq8%7m9`|3fY1m9~lde6bo3BwvCDQTW5i zz4>-9FNyzsC~NN17w;Jj*oR{!3{1$Hc>FG`MFSH}%+ z9k|SA);OdtJ=M|KDwvr=`uD_lj_jeuG7KpA-v<68@6;`5G%jF3$Vrm;PtU!th@_T_ zn&sdl!r_m^Qnhg&9hq@`)+V^!Q%fMEu3EJR@2?p0R;9g-r*l;{vKf83jI0MFdQ1H8 zc3S56pO7E?S$?@<#W>m^&ZzOn?;x$G;LP2Vt|9=?Ee;BR!l~q<1~~Y>9B~6}KVB!X zsq=S&T83 z)XkGS*LxlHuVm-_PV&lx`=w}zBtw*%}&F5uY?*1Z!*q`08o93<;&&5dKWpus!OjFd) zDmhlYDk%hZaJ$*m)x~*M&%&#hO?vqLKupJBoXJI5`Sn_DKE3O53u!54V2&Z1RMg1B ztg(%HW{b_)TRfds1ap2)EGK6&cqEt#|l)_-yIkKQflK|p(942XjyDvrVQDnBw zf*S0XY;*+EV^60kaozA5EUmGZV0Y(Keg{k%KtUj{15sw+)?GpHnjzXAnw68Vcya%`F+ht1fauPN5Uia37&cfa<(U*X7C zdMKBG05Lrcp6TkXjwC((bDQpf-XkpD`#MpV(lLv5OzS{xkomhOYKTk7Wv(&OoHU~1 zfxjdfaH)~qm(!coN~SiN+guIqBn2NG1}uMYa`;6D+T?hpv!Ju**`qp;m)E1_kw_|O zGHE)DlnwNir31+Mkxl#ryPD>ecPT##ZdOHwgFnTz1+X~tv5~uV(2{8mXQe;)x^vp} zZWI}J)C)K@p=W2-!QI6?AaD{2PBpU}^U>=URBkKV#I5xYE_gLvF*5)6ATZPPoERPp zf0~o~LFWnHSX53s7FHkC;}8`)xQzKZD;&DEc$Ko&slJ((*Ebe=TpjgN`zT0ZcV4+5 zZ=q?AQ-{m&TOoCOl>IFC1RWXs*25-=mvD}GN15;qrHr|S$%U#YT7;mbi9UJ4yc$HV z2G3Paj%&Q3_If#Nqse|jxdzY3I`HzCiVwG3U;xZo_M7atmS}=Az=Y>vUbKU3?o+u0 zCx`JxDyz56B|N`(EzUX$8LA3hTD^Iu$JtEu2&)>YsiY~*{d5SaPH4?lA@Th~0iPqz zdqlu2HM>2ar`1t*fCH8>FoH-YT&f{~9VEWJF(-I+cexkee&qNI3T8-9GkkGI3@?=9 z$TT1?I#(Mv=V=j>c?$NP%2uCZr3x-5&G}C2lcypAcF_C$v`Cgq-SjRMxzE0C1t@2o zwB}Aq_IBXS!!={}Ex*QMRUX-ixz~^v+R-tK&xWUYXQ)AxdgKX`<}1r#B-6H=C<#NQ z(p_fZ4^Gd9d~UP|tcB2*H-+qm8{}Zoify&=+@0pTg5!dYqRJ@aj;>IrXW4;h$xtT; z!(esTA05LPtDsLs@3_dO{=~V5_jgH=9Bpf=9}q0vPC(hWMi7k=V$#)~Tey_x_B1gM z`xeQ3TFb;N>L*86&Li_D!Gw z1`PI-Xvb#tqCC;fek=9{YbpKrl_>F=Vg+IFXb}iBZPF_(RYbqwzz1kZ|7!IR7YAW? zt$FU~Kc9ky-*UW~5&ge5)LlfdK+l(s0WZ^7A5MWk6@x&YT>zn=SWoqMQBn9(@_spV z5e}NwBPaiYDtsqTDy#V{3q1=HOfC`|>K^sfEXp%+zRKNDwEpy{d-B(SWY8|zd>bJc zTLv1}f?r5PM4@FIc&496Kfc+;*SD5XBxO{!RPZf68C+oXc_yWFykGm!9+;=kzT;I}CV_OHIPgqn@=mT~|Xg7Sy z=PjG?@p3Mgk>xE$0;d&{Y-r-;GrjleQ;m;+Q3#{>FW5bg=Ts+KbF_T%gjO#X7Lr|R zl8MD$j++^VYvWjSM8J+j2_scR>9P5md(}~#XsnjB^2kLM10c!$+FGC#QP*Q*ULAHf zkdy#l5c41*-hp$i|8sAqvz$}jx9agaaDS+Ph z@vWk8N|7%Ai5OUwbisf%IRATDKk?ULHV42%5^o5~TT^5vr#?^lfQv*>C0Q_2iBU!1 zWf*fBS|pRaEkMw5QAe27UUsrga01fmxL0R~=|qAU^vRz!kzX$=PVF+ET9yn172@>d z3rqzLt-r3D&%j<#dDgsblq0sH<5D{_XTMW^=2kKgSkrLNfYo?rOHrg~_{&*)WCi+U z-(V{@WU;|wrT^>kq?ZFH)rtQOp#`#4WWPK%*?>~r-~3ZxxjUXV%XQb|Jag^_$K^Mi z-opp}n7eBeT?OV5PL??_ce|EBcv&MzsXu!XM?<4~zl_Ob%^>%+-#n;j4TsetQD-u| z9GlPg6-NgwS=|o45NWed)_fA^f{%Y?HK=Qu(OjL9k9RV!IsHXHRvpKvnYo*I z3QOn)tvX=syfSvp1DV-NsW{JNHdSj%%=W;t{|@z+0}oaOm`m8k<}ccuN9BKt1@|rP z#>u**IzJ(jW#heTfvi;8ruRu{c8|h1~+L0JZ`Dhl3JS z&zE5zUUBriycb^hp4u~a{yq0dxUxmE{K|#nZzeV-u=v1uwzG)r=($iL^$f9sq(H`d zxpmWmyG+HdpRwsEE-)q4VGBxILJoDShNR>sZK5&?AzdZ+|FgU7r9YZ<$axSS@+e@X z{bfuho5JQ99c44L)%`%;`l!=1FAyFiqHU4>y$auOZpBbR?^8xVkGOa==SyqF5s}^H z#hkk`mR(>;LQ?_r&JBuv2DM>lP}1hf925iVmJzg|9HfmU;29i6_*F%Pt)KH>P%jhX zakuxufc)K6l!e6q%LU=xzX3Kgf= z6yEraJ}l{G-`f654Y1VL3qqA;$_`yAh=Y12npMowdE_%rDoNw4-6oEaf)^djxI5hb z$&3kiWx&O<`F<85V02uG-vz}uE#sFwJO24ALp<@>Fk80?xsi#(yr+LY*^wL0L)IMF zw~Du!-hSNGUN~M9Om5f#caIGs@&tCPbF<*W;cw#&~jMW_?gL|U-RDlu& z#mkH}QpQUmW4|#P8~a7CZ7?Ym4&#sB<@eu>_fI_TCQ`GEX&-=ci>VEf_%kG!5%A4Q zEpmknVq7smXy!7%772!^OFDTLfnISiiDNYEIt&6HyPvxO>gxZyvaX;urHBg!>NW~l zzfiuDolO@nrMYU7)362?{whHy3nvJa47~rK>j5mum>ZL8pgXPv{&0Es`A6+`f3{wa zr13Ms5!J>BhvAnr>AO^eGYc^z)V*Ah@>}hIls?REgAFgtN2kp8CbELpjIQR6ktns% zs~6^P_xLUVp=bUfpbWOsPQQW*5~lY(NuYenbD#!L$B?w!YBWVdl6r*v)@1e95A^)x z{&f?|Z@|YC6sLHmiPR+&C=aXeW9sk?a?0FaDzD3orFo9C5>z)JG_~By#!i4Q&q=5? zHs$(;GiMf7#c@SC**JzyH#M9#LH{%#|4gKg5Cd>2nMa%ll9j!j& z!$s*Zk58qDJ0sK9)YbTg=({yV-*=Z=t?sTb8k)ASWEXhjWjfv`k!13?XIe#+J##}f zVDL*6q&jKAk9y5mh14@th`*i!dfE9MNE*T&*(Sf^OXVrK_F%3xtG-?Jj)5nAaC}uK z!1>l}!c&V`I`)pM>YS_-9M5soL&Ik=hTX^6Z=+ z(*9I#xmKoW{_%%u<75uyIW?DIM-Vn9;~TCM&G=y-m@AkAT_GJ6#wsDP5tA3R^GYoU z5$o-ZBe)e5OXvLpUvW$(HPAQbXk`0R{^xW!F!pFpP}fsFA9#Y2V|VJcJWa@vuvbc1`cAWO%g)BqitB8@10LXPdfIPnY6lORoE(+W4W z@u^eW5Zk}JXwp*o8tBggJm5)tEJ9H%p?UP!=+047RPgsx?%@&`_m!Gq5v4s=xo5&?(I5M+a zb0^Sv1braBNA{3r)vV@D9^_jC++^8A>J4jX(7h^q36$cR9k7J@v;J;GIFRVO%i|9? zxE0LN<*$+CL4+igCw;%3`Q(6N?@0{!vYw(GjZ93k78NKNUljk5^G@59I(fii{9z_r z6~c~txHe~zx(8np2!&j$K=1~;KPyfFfpz*1ztF#zBh;e^01dRufJ%LNOf5d+4(bAT zSD;fM-Um%?ol-=mNOe$?^VO?c!B1Oh%NGfq3S&AUuX?;1$f7ITe{}S4rAMIe;NItS zKFJh6jH1psVjT4QMxo0tL3a>O@537DZZaVM6YJl%CT+yN^-&dHAUE)MI+RlpAWwGr zSPyh2*)$Q2cM@0QzjvKZU#i7w?`Grd79;bLIuxyRSKa{;hfLJnK#BxQ2e!3e*i`L8 zt$LVrYK7pBKw#f#b^80`Zko|fns?E5ib033tAY;g^KON)xz@y|`1=vi&okX1h`4Qv zFmhxfm4vx9@b*g)YBLX?aOrlV81(Ap8+RR=ek{@LD@fGcq$Sxvi#UTj5)i*pVvr0z zf8n~sQpKpx8Ig=7mT7(!FY9y1S}>ft%sxXIuo=cXm;l;o&*zcENvm2jOvTZjk)3Whc2X+$Ze}xEPI1M_?y+oHF*3d&4ro{c}wxgB2bW62MTFOz-A}WM;e+n;UPFf#H!%- zYb+)2Nu?8?Jd9O8xRSJDT*EisDn=8S7!*c}he5jdfwU{FA)EJ$JHEr71GyDX)V5nb z_*3e?%Gx^y=El9jspe!1&UI=c;6WtnBFafVwwo4d;yg+kB-on{-B|GedW1;yP8SGA z?33oi-|dnZ(_l3C4W-;xauiUG8WRTj;2VvzFEE_m0;$0k{<~nyeTDK>eo1TKs-cJJ zX}UmS6aV)IWLwLmqWuBM!g9FVISAmRgAA3@1lR@@Nl<6);V5+1<`|HmA!oK;iaep> z)s&`O6ewy}8z=KBNBy`rgf?C!k|bBQHc6lWF4HL^%{l2p*%}hWc~%!n{a!ZU+3D~u z20aLMEnsL)D5`rZvx!gQuMjld#-7@U{nch{`it;g({b9hO|HFe*K8#y$20C9EmLF@ zY~8S?Sbc}A>5vp5wrZ#ReCEpxES%oruLK>?w|64oax(NK)aEi1zqqkFEf5GH^Z2CS zI}e%kdfGnPSCq3KKMT3BsVRQaB{Bo_->@pp6%)E{YCmPezV*G4=8YS$o2oiP)tgvf z@iiETFGOd%o#xuPO{nUTJ4AJT{Ilmbg*=2)koGB7-kUZqAnRY@{J*5XIStIItZxh_ zbzR`*(`{mXE)!7?kF$;MXf6kVPMKoqNZ;oa@@C6+4E)>ka~DnZt)P6$B#Q0PSos(z z_6^1dz;|m(3C?UhZmJ0isoH(`iiqf!3^m2i$Q*WoL~h$Nq1ccBB=l?SA=uTYXSV45 zOxB*d$de~sfx8%?k{54wBxu#fHSOFQQ7VSZXz)I+P`|s3~TLIWPj# zY}+_NwTejV`)DixLUE$IY;}N-jNNke$*T~i_9IrshukBoVOA8_d}Zju9X{RE#5=n$ zX_{lYSPL=$yd~epoF$=x=l9D?2|ZOKa82&>%d&E83F)iVwJYXWw21wV&Ag$uIQKG=%XsjRiD%&=pYJ8@>5u?y!UqkS+(iusWyC1aQL$TJGw&*op@c-w#K4J= z^&cGo^F?rTB&oi};-&IefeA)pcp54@SbI)e__J>+-3$5=x<@*oc=y*LgB2nNx+3g9 z=Wm_@Q#}5>i`~;(S9W&5{D9bE6dn0}>2J*#1~o3 z9`Dd;H$^MC8ITY9n)e1jq1V9l0KqMzsF8k9LPS?QMf~^TRDg8E=!XgJ+|+rZ@LBxQ z_4G96XHOVP81RnJF#I|Sa={nCXoE0fXZG+f3_rz|D?Ko-nJ!JXQ+I+(csvfc+?gc%rU?i8Y8FBDh z?*^{1<|X&>swH^d zBd7So#U*{IyH*t-)rYR@tk4`(?y2zX?lhU=yN3iR!(; zT0Kmk+V2t*h4D|}SR;2%typpgc5TN}UX>Vod3g;ooqT1r&3BnlT{TJ=m8b$~T2VZz zh%5m&sUyGYR$cba`)taHpumT4(Wy4xurJKT6XvU`IvsW`nb6|uz3MoN26k7ji|Vjp zHuMb4^69hMCHR5kO3&Eu>z{R@nHZu>AWB+mR*Jp;C6SsGeSoZ5ozzD~{`s^u#o10B zCbq>d)}J;n-M|no(+-LBNniO4gaj+<^VxPmV}RbraL8Zuw``8Vrze>|_I6$3+m`ll zk5i9(8JW~QZUTe{+t0NdTND*-ANLF7c|1eN^_Uz93-8OnoA#zUk+=Bd?yQse9r+GX z&8<0J_bja5hT-UuTrQ8NduR`?Fy&Xfb|eH|*gLmSUoXO3!c%gZ+{#KuL1PybyE)bJ zl=Lbv>!M5Akf2NOE~zbK?;F(sZA@g_2#hVch`0}lK6}D707#shKvF>4<2@ zl>g)UqN{-gOL>Z}A3xIR3QL$ei${eUs(99oh~h+*-|3`?)221U_Y4Scta1@&re6oF zDOG0Hekp}||3hE{BqW#_AP8Cl694y5xfy=&OMv7d>10vq-rZmg&S|y(z24FM0~4H% zD!cc0Xj7-+0m_^(rU%MzsnT{1sqzn zd?>e|ZYy=8y9XL>wHUw@bDzZirH5|Y#6ipV1{LWZ^0RCr-@73?~i==gXL`(iO}w8;+KFRy0!gT9{&qFO#F>`?@fh> zk=L>)K_uayI9ps84coKICG%UOm0P-_z7{NK!2@J1i9AA_ypWI*`03|b<_Da^zR!-h z&Nt+?n`~2AWg8qzXG|X$4W&F0zErT6dS3Gs=a#$(Ji zPh&9)O16P3VR?!F5J$DL-lMrV;1nNEjKtp%S{$J*61Dknu5J~P!IcE)zzw(nD3p+{ z<=<_q8`D@^8UL<-UWP#<``Cs2U&opfySn|XL!|tn-6>rD{%C4uuxgOr?|~oYC(SL` zokO$1&AyyJ1*;9u7)kuoWmBQ%h0?N?PPOi-Hs<<>5Q{IkqA zeO75VxO>cgS>P&@07wbrE{Aq5Sgdf*MoOq|jI&M?ad0Pz)QDOFS)CmQG__1u-e38I z*+6KXs#n3(^QqXoGIXD2#lZsu_GEAKN)IFciOO(v+_mcdIdo=^E>UKAInL=)ChbgFZ5l!*y;7m>$*<5;OSqqBo9Klu)9wQc69`0Sf|j8e5sr!iDOD#n zBEBsC*zvwQJz>poDZ&yS?4~K?!99m}<6^ zzvt!0GOb7Ja{W5#8w})Q{Clj6?>A(h@15L_mp|v|aVkAT$KBWezEh29k^(!=NcYm5 z>SVTPdo$Oz=;ICz@FH)u} zbI9kkmuk|y$}9pIX7QV%35DCddMfz=P-n<6V+=xNOe{JZMtw4 zvgRv9F9IDBE zvntf4$!I${>hsCSXO_4@T@O3%f zE1w7eM?TGv^7!&{4D~7L!qj_NIq}?h%t&oieLPKT(oJ_O+ojOlTzNlFjfmDkT7gnR z$hW;WcmPgy^Y_~+mI`TEn=aWCyzpy}pZyXg>NVzP$+z#-m;PhO^w;M-`nj&7Ytmb$ zaFONvZ4}uX%%4974m&|+Tc{-W7yj$QK$P_x`%=YSbiuX~*n5@n!zd}}8eiZ|3-)_U zb$O4nM_2xUqq$xhJG{2BF?wmtV15eT$pX7R#QgCJ8-`s#$wI~kc|E#GerRSFAu_DiF&a^;fKmwCo-(}~w6c*OQ` zo%gb=B>{h-OLWUSn%i!Q)V;oir(wvZu1dN|`VmKq)60t?+206u@6jJgn+$^$vh%$P zWA_Z^YDbVBjk-{4Q_o$pLE~%|gYP|4w51Dt;}`VBLaivbJk+-w%~j9AW#(3me`jM^ zP^A2O+$rxxv-&3?0E#tE{ZfchkEO8o89#f~80jVnlf3Jg7Lo>od1c(nGWasns4t*H zZtm&)$yuB&JcPr22D{%icYVbqZPC}&A&IYYg6@0s>89n)_CKT=i~Fr=Bq1TjstarF zh8gJmdE$jdY(~q{Y70rUE<%F$cknn~b}CS&cB#vXOyou&xZMYwE!YAGs8c%#nBRU# z-`&Q|@!WP{laDzDjcY0LrxWUxFS#o{9{4-fJw-EMjYKvm%Pb0g@m&|JW$F$eYt!7- z9CktJT;3bHh(mekU$@)?O#Y^_WybvlSe5QAxZA_R|EW>kEoHrMXla@0zRW+wbwwZdd2K^Smkcq$W+2y zU@QrEpvp5DQ6nT#CjU%;87C*}4$s1XuEsw5vn)SE{#WJ)>VggG#|c4iDaFh=#8S z4=#gWC~+4czCu#cr|n+5SoQT_m|Y_~*XON5apiuk-6#^!Pj)NHr`N3CSA`yB0>XD0 zWh7?1i)zfrKEnp%!CZgHZlvdxq|pWsnHPN)=xjk`et&RT5t&fLkI8@*I;9Ff2@rh| zI5L1=%y2+*L@Xi@E%S@=w5fD}qyD;C36W!iG5f4&q-6!3q5T!em5JY^#;ACLv@w_M z)G^ZPM#!?F7vzw3wamHx9sXa}J0wG1%!QnksLfAxE8R*}iadzy0cuR<#uKQGDs5AP zAc5N!c{4^$ok@=i*(C~hy~engiviukgvT3oWXw2|;ddKk!{jlD(xFb-%W!c9R8PR4 z%dhC^0{G?{y;XfVSz$bb7HZ1ASuKuHL&eaIU*tS<+~HB(y>%Yp0y4 zRQFc`P(J8!Vr7c=N}X$So8G=gb(gnfM6n#@Qt&_)LVnumevc;7&tzc(X)S!A<$^g8 zC`g&Dn1yeM_YgLI2Qf^nKpugC2b*_N}U674Hu=x^GnVn0lHj zOLc*tJqpOz%tmOSf zqqS?L!6lcs=XkAx$u-77E~v?9CZ0dq+^sSLszi(30Me|>f~8|QmRW(wUw!k4$dIuI z1dlcSwEhi78fXE>*FXJN?8tWacpMKnF!~F?aiH5_^mI^=!e1UVB)YNlURG! zU(r_ubUBFBJtkdDj@(`V6qlGpkXf!#0k?de_>bs6wa(wBgD%nJ-Gx+j!vQeuWSipZ z)4_s&V}KIqJCefu#qT3an)hgm6knu}lu9XCrPPB6fgo+v+c3Qvn~O{F^2#}76uuHru;of+f<-dwBzAq;$0>@|5p(1 zL1g;Z6ZF(7Utq!Op{G2u2*S7U32pUL^ZgKki0$le*_3pzGR&%? zUA(oWZWwdDZ9ttJ1W6ESmaOgf4R%Ks4mfazKs&0Z+2OrErkYSKhl%bDHsJjq+u5COruPFNFu^IoIDU^XF zw`&*DB5J5v3atyyNxF{yZ<5{1sxR|zv$>QD()I#7b0p-7$WDvvLquzA8k6Z75QJ2i zgfiya+QT4rTT8ta^bE<5T+3_Fhi{ibZt&Q=*tAFNu$}O~b&aVKsGpL4QgU>oTFTH$P*k&< zBgIj2#QeZa@qtI-!z1I0>4vOj7z4e}$Qo2Q0^B$6w_77&92tpR-|LPtS# z?gu&%tLZuO$;IxKs02Io2LKV@ZYa`6Q;^ zR(L(adkC#I5fDC~`zylYjLvo@awQ-{Ag*pex##pOfW$4GKh>kahOC6VLNd-86J=R- zSZ-50Es*xZJz9Ew-*K>@d0^vh>?SLkxwpGfzQwes(O!A*+qZ`^hbAE1@l7K4PjCK0 zco@tP&mG-~E=_L&SQY@WzQkM1?mW%~`IiS%^Qf|ki(l}P+(Y-)$FGYE%Jlx+HKy5W zuj9+qQ%PchRA1U!eCz4?&n>1X>&nY6zL%^xriC?MX;(;j7rQy}SJbPHP2Vd+?$yBE z?vnnd8wy|viXcg?@BGpk(dFa#V|RP~d#X%IYv{DTgj6@M?~yh`SHZ6FZLWI^Q>Mmd zEyovb7W?ul*V-%SeOOihY5vtO*V!}v@y3zuK(_+Ebx8SVn51z{W^3SZP-oJA+Ed1+ zgCJwcl+-zynSUeyMEHS}H=302t@+Uo2Yul~)<&cdy62 zufp_M+g>6uEbq^eKfXyUeIHO1yqtSB)R5`Ec|E@FxZCizc8^-rDzG`x9!bRiWT=X1VlN<6W5K~qb``DOdWQ73 z=Uf&B48!u1LIpBCXLhR7TLYjslq5bgfIqO_JHhjjU)^qxRlS~c5{iXrS@$PTPlXTa-r0-dW2nn_EZ`$vU5@xW50Xcu4#TS5XC+SNL%WUF@y~sO< zS#=Q|V!uO;5WBgJWNbVK!5j-g59EKg;GB7A>C}Q|>K?BLk_5hYgx+teOmd7mqp#%3 z@-&m)gZx{K%(8u=FklE&fUs@ zl58mr;07M-SubAEs;Wy1*9QHA8x=$>W<|^q`}`C7X(=1kJ~sfaZ%hBVqRImMybpN~ zD0HTbHV4D9y<%&8;l7VW!}2wNmprzln#4;@!>x6b(Q!Ppu8)gTZ-tK2(`|q z(erS{mGr@unS1;&R5c#BK~X!??*k7CFS1wer5@M#4h;-t9*@foUS2XvM?_qjQLxG;c6Pxk!+knrNUj5sRiMIgBss$+*q!S!RDzeU5hD z8!boxz6)e(u_xm>okCNnA0_vVLTtjfnW;HL$kRbP>EbU?q9N|ok(|d$Ug^XJi=iuM z@-23NtwrbX@1*og9l=d4Y7c~gH+EM(>i+T5j%t5sF&t16ekbk+l5aAUS?{5nfLxKf zsw&_#)WemU7mwo)2Oj*>!N^f)Q}iy}598(>zPJIwPd)yd^BeNJTb7ek0&o}z``5xn zAMdcpy1Q*kwkIN*4wd4AAKjGLV8jH`{kPOdCs-*e=bix(*AG>l(HdAJ`Pb&%`54Es zV}>i{^wb3cfdxBl_5)3SjB8-$NJz(z%NwkPw~@&vBqK8L{;9bVjW3^Ij)<6#ANyO{I#N`)Dcx{d3RW1sxME=ub( zR-VYipuscdR5IRhL+HY9K4x`47o<{f!kD-V-ZnRyc?Q9k;}mZ&FZ!yQ;sa8n?X!aW za@y{@%)ret`#ht52G61woPNX(n979}4i*Crhp?{cHo-rut)U)Tz@V~uJgnq@j#hcd zvFV+JHkq_qJe7T?APC-ruyo9iajJ^Il z{V-z|iABd6(8Vq&K*D2&oN?LqRBplxIVTD_mRbXwvc`LxkXdy@61DLZdu;QK{vfh+ zPHEMk<}Uf73XPU`n+=8;)r$?x&#+S}*Yl(IQsF;w;F|N*skC=EVW0Le89!& z?x3u5?e}yElvSx~Xs6%dRZ)Y`$m^$Uny*Gn(aBZE?4O7YRnKII%nFsLq9_CS0Di!_ z>`Ng3Na5R|cd5zWd)l6lGB;FjEXZtI2ASlLQxyOkviG&CViT)S?pZrayghL2Hhk{@ zo?Ov-bzwO-P$FH22RIdm1Y%%mC@K&E*s4S$wa>7R8*L2^1{SnMQ;VXB$O?r-=1(AVLfkmfqQj% zQlQhs`q2B+7`2|?*h9N&;NsfRfplc_IqCBL2SJ4}ibvb(2?-*!Y0$qDzBTNvQ4Rr` zB3iSDRI{ImkzYq&1EyE5{BpAppwqmc=gX)|ib?%(>0y+O+w4vs6D~g?XXM`2qD+6~tDUwVT@vbSmHcIee zzY*ILb?(OsS+SP9D6BZ7)KOpiS`CU;HMF|y_P33_b+KL`8uSfRbR7hahX-u}i``RD zKrv6iNaDX&Oq90c0#Nzs%`Klh|3>%_Jr~;ZY?foeY0E1qC536AZ>aE3>&v$xiZQB-P;sFCJ|%?l=LdjkT~c0e3}M)>c%^~@C|YL^SMVi z-4Ca^f!1p0Dv*?i5n}1Y)-ZJ}ZD(+Jp{Q;C!S{(r=5J5*6LPzBiT>xu=<%tC>#vlP zXSwA6Yws+>ntb25KR{4KL_txfbc!INqorF(X-9}d8YYd5(FiD`yGy!}P)b3Eh;%b# z$|Qurq&Ax89{m1qo|n(-=hzE4wmZ-3I?wC8>if~nCCKOnU<2A0BM-zy`FqpBF^?YR z!0(N*h}4aJ%1Q7kYQ%hUaYl7J{_`HVJ@sb&?aqMz?1UE%q8OxVXIAc-Rs#oePz@ju zAecUcp;^J@wAiu&h@5Z!Q8eEwv)EOFdnw-F)y*$>W<42^F_zkGhH9U>8*lG8m*{_% z!!noQOKWqjp{ZkhIO2+_#0y=@$Ew*|M|iOwBbyV%N>I<<-X|MA)Q8fGiJwh$M&<1O zZ6c4ibzbajw)hT9t0{ZB6`}Jo!4ZGVWF+!8{1+oPBJLlUnz!oUxu!DywPz&!#sFgU$x(WC)-8{!q`#N$IWRO9hmiQH2giOhMs~HF_kI z^4w$@SVx_RmSDzQdnKHzQ9$zOj9-_Opw^`zdL6L#Fe4GVCXqmwmi*xlYRj8Zt!r8q z6byIR?Pu~tls_x~5in=fapV9fOAX$>umHoWZ!G;^HeDh7}e$b5npz{><_Wsh3iOKnVV?p2>7jl>ueKwjFLN`Spsf+N)~L z8Djg|@IY_%3QhVe{fz9;hLoh7%Wq5%GPxzso)<@V%Zo9mk94c*02=fFqN8#$n9utW zk@u$*Zw6&R4j@QDV`t=zaxbMhGiN5pM*(qejq!B)@gOB8Xzfa)Iv|oB^l7rulvp{Y zy3wuwCp^sXQBcujF=qg<3=KvFuw3sUnUI?GEitZQ8zKWb2K2hJ&Lxz&&z;z&du41A z@P9YPB|&F&)&Li|68%~{cNC-81fU*BF3opMCOx6g4=%bjFDxB7EHpB(t!Ex z7m6`k%(PP#ppupjb}nViH3im^F&u5G^~_F2IsGaAI&d@qG&o6^>t*+@NvStdPe*|t z><`>!eXu)_CSzm&uU?kcRzWBCl^F8SwWs|~$KyI@xuA4)*EosUT&gi!mY+PVVlQV5 z>PnMV&SQRqP^CH_ABhen5OW?{RmZT&yke6ct6n9cHqUe%VGoz7CiIT5%K_2M?JX7J zA*yO*wn5QmeF%2Zh8Qq01*6f)UOC zb-HWz48WqqY;QwTqd=)o9Ch{tK0NnB=F4gv?eNwgeGc?-J1#%=4dy!@8Toe%$F~nL zI?McZE@|WIruR&iv)O?hcy=jIt?5^Sxfeil;E+kN6k_s0JMWqXnX|!d+U-*xZk|D` z+(Uyi?6&fJ1Alos#TI%MNP*7SMOeeX5t8s2xAuK9pZm%usUO`k7l%xA>q`GMK3^8- zgy?`kx|2S0rl?~8TfP%0K!!QK&-5%QMocQItspvG~lh=fTUVf0$O z6SWZt6dT~}u(c`ji9?o`T@rA9iZgRaDH{+d-l|3EpZN*r>sk2|Y5>M(C3-3zUeykE z*P|zYp-tE)laS6`(ix@zsrN3QD3Sv`SK#4Ta~jDk5z4Rn9w5-t$zdh6uS9*HkWc)& zcVuBeMOH5te5i01#IEHxM?=2OkMBXrD>qTUAq*gPx2`rFx*-7w!--6J+ofX1A62!v z=(|8W(wZj{$4dn|yk>{TBU86u6jMK)O|rYs&IVB70Knmx3IAZ7%wIXVt>)?D zSE{Iaq;72m+D&$c0+c)5KH}4Zdj-f-`lt015CVf6!gyHFWe5*&r(B}o5WTDFj{$JC z_y*SL*JgxTn}xq%?<>J~Lvah#pu{15l(Ec>fT@J_f%69emZWy)qEFGKN$B%n(oic9 zK?0}gwlVd#h0Ue-oL4h5zgQb0_*Q!D1S^Lu3s|%+g7`m4pqd~SL)Y;dyV78$M+cj{ zzSu^q!0wOtPmrhV7xMfO6kmOO5&aR^m4~ox%{tQ=x;g7`TXXeJv z^WesoG2g8u*_bqcZIRX8N27V(arhU@OeZWk)KE-4i}59D`4dVRz4j#;iZ6ha=X+@) zeGV(iVj#R@B@aW|V(2Of4I7iwLc*@!$?EzJe51FWh3%rMe`DcPO?yc=xcxtZ?U;!f zOs}U14V`l-$9l~fPzI*geZ|afpE+=5*xx1vCAqhfTpg)R!tb0CJss|h{#_lQetP%j zlFYK+z-;3Hp~n|F=kj)B>ZVV-^Vz@+zGfoL46`F*B;YCMQR(PfrO$1oSp@CgMy3T| zbP(fKD&yAQv_By#Z>7Npi2cU4YHP#~VZ6q^;t|0_gB6r+lfyP8SVZDR+&s$eKKlf7 z!|2r-E_wbv89Xr>tu?X6V%NEEc5&G|^FXApF0avoK!>QC9e^pI?q()~7#|ELxV$CF z+-@peR^slUOO_!Zf96o$N!iw_x4*FXp6tm6mL)phoj=a$NLG0xHuaBr?Ht_2)W=t_ z?U;dA9~LPiQhBCxdfDJ#fF^nc&Q!sG;J0GnV5SEoH>v*~X4a7_&oY!_&`l=gWriPa z{foiz?CeKUJbqObuJdapKx^Y7dm;CXEa}D^td)1-`Fo(mo&j(UBtqwKv77rh&$cIm+N5gU z?gV?g-4OrM*by1Ma2vYeVv{9c)nwgXYz?1XonR?Z1i3`b-*m=f0HR+vb8 zmIHq^WCN!yd$B$n&LS0`2lgyu-lYexY>Ls=m_0s)#+G4sUoY{b^Gd+p{k^?al*RY= zr;HV0_E*m0a4Hn$#Q^%c+mCy!^C^6H;PtUn&#pw7fK&+JMyni0TK|QaLzQ&iN6FVm zI~p9Tur=IBaTKmpELZP%xVe*Qlh#1ZC2Wsn4K#+53!4KezrMXDpQ)Jjk@!$6A+ee#W7*%ha6Uk@&ahhA z@kfbBh&7_$JJHFiE$xsGGntg)Ol7me8MT#Dz=O%y7e`q_{F9vcf*Uwx+J7ES%S%-d zp!a|x(v)U?bAnn?D7n-8piM@`+tDn));9D-Qy4*PGqgr>J96(r_NR&C_g}ZAM0ajy z|7+T|#6SfzD#srkrEU*Tvz>t$950HF{u{X6v_2xaHk8dRZXLO)eB8h@N;I03eX(mV z70}P$Gk(A1*z|aD?6^YbM+U6>(5-MH#GKCC6{;ScRo!yNr0RvJOWrGBIs%k*4XCuA zAzJYl$4!(9;MVhN#jd4jFY1HY+D@X;m|JO+mXqw3BZWQh630^jEi zodKMNNBt!-E;8$39Pmm^G%z-J!sO(Kju1;a^#SPY+50Dk=l(`~w+4RpVK&*mxSNxu z+U^#U{nS9blK{ViqbdCD^{Ed77xFz&+p_l{Vn#~}o8-tQ;J6;h1SwqgK=E-2HX-Hw z%T>kGYivHgx(VpQ;&t{u#Jq0<+kIdzIH4LRHJk}yI`f^GsouUFt7hT_6+Q6nVScIP z*+Bf5Bi>nuNp_I_&PMl_!#q#6&?5MRqGn)pEZ_TeOFLDV2ihlrmdTwMkx1sP_y}uT zgTWS?SG{GUc$GiVO2JQ@`zrI?$UoY6p?IoPglK>Cd%T*x(<3IMz9Nf75h=`o=cm@c zNGm($;?u{0?Q@eZ)|fR)T!iZ8jG4TfHw=wA6~82W+@zbK(Qu=mNE zQZNN|Lu%-RKK0$ipz}bL=$THVU+Y}#)KZbdC5X6&lIBLRzy7|o!j6TE9$*2iyJ5i2l(=`(|sU0B$t7;6|j{lJ+=)fE}apR zBwoRcu~u!^R&-9UJWLT8qJ2WIRWC_saBlF=wI2)}0%LXtCf|=W8^T!AYrj@pgb&$u zNk(Pv&F(9sPatS#CZ9k0NhNrV?n~Y!kq%^L7gMhn1lBYCilzUu{VptL<$azx5qKa_laZIje;$39bqDH$(V-F5wIYc%B&lMDb<2|4D}5#a7_|R6q<>&6$6oac$EXem zbJ0n;&5sFxx~~PSqAya2qj5ZVFkI(7+N=)~ORqJpe`W3&_5R>^%l#@p`s}PY&~gHI zcXP=D^+J^AkW6o;rJ%TM_1;p zRI-a?6KzcNv9-b%i^SSwqUEbI0Ox6L$jOi|RrK>YU(qrueQ1 zx}<-gQs=`DT?MwYPw$?RFfU4vXn=DDAtf~ko;5P6^0GUzT)WkWMz|x_hhy?shZHJCF9Y>`5h8lh_9w zva2?}(q%6ImLKCnc4wHB9&F^+`!JR+4dB!gYs_b@KXrCN%h{z&LOotT>YU z=Cz|!-Z~UmeQ($gA2s2e6Eo?I;TU)Al8_63?Jmi&ex~gjE`V(HzYB@?uBGjz7AYjP zRn+QynJ1Kps23nYUl7(_5U#r(63RtVd(Uw%C3IhLA3R}$4WC7G%+X6Z{C0~;tzN`% zJ@%0HO>0pzBN*G6eV?ad+`?|>o_OE8zdgBBsljb30g`hY!o{vA>zwM){_j4ODUwEB zRR>wUG+RkPR08~=)hoX-{2sI-&j{EfN5M#H`a%@)xPa--!h5om|F$^7HaqEZu_1DL zCdqaI7N?6~?V^h8b(I=Dhm06W4l|ABQx}1i?`n|%1jEk?d#~xepC+FUjGOuMBHe;XdsxsAciP3opHK7p;nJK4?te zU;(#L2_z)Vd(pa+A{5P67XjG#X_VwIzhtbvKrf}ZAs&g?uQ=JolK5_(W?zzG&=xJ) zNUo=628?tsx>gSh+kwwmN1-jb*Hm!$O3zBtjcROh8=wU$F*6V*V#b_1;52-Tv0Iyw zY>V7UXhkDM@>}txb10;j)t!Qvw>#I9Cz|yNJn4_t#*e&(*<24zG4R`d!Bl%c6elO2 z8=bmxrsPSGxSU@sdNKOoy4aXR2TcHB_sF~Z2lEBLH@%>(H0q3mlMwNzVDk_CRmJT9 z#^Yri@z6uGNnBcS?$`!n)O9ReEC+0;R5Odqe0ciQYZ4McsI7RA1RY zlG9><@sI4w%wbBCuMyZA=^yM*(q30ZzYrHH6fJPL4VDu_TFO!LyU^$}LjPn6-nlx^ zt~qDH|9#pg@JkyJv;hwe{SfhA-33PVI*Q1&;tTM65rH{a$)B=ijtVgLNkJaMJl`fVJW+GEnmfx^Dfao49@_c>%|)>P}s z>CPLbxho`sJ+rdidvr3mi&O3*MjIc>c+`==eN_4F^{boF3m&SWig;<;cc$dDEzGf4 zL_cu;`B&>NnZKOlLe3DDI1`-r+tgJ3e-yN>zIFwNoN04%iW*8jDZnedqwp@(K}f{p zV{psk1N}m}tg6{z`*n_zO)*5|$hFJ+K*vX<@1#HbD)@*>E9BdhqJ6FKeWQ+Fm~;R} zDf(`nt~czLwcJH^n>^VWn>-0}FbJ{%w#8zHAm4%>I*q)57X2(83XnRk>^N?Uj$^}_ zgOBGtR4#^2d-tDGD97q9Xc6)+K=U2 zg9HG?@(0Q1ToOZ+2WQje=7yv0N|oaGngYxevyH8MMa2@k*G%6AF5#$N3sfzmVue z#%_Aa#XJ6TR??z{++R%XvQ8_SmEyr&r-yyPp_4|IP&)nUJD-<5Zjz7T`6BB%P3#QbUM*QI@6*%ZN4IUSE5ZN)J-GkwCmK#{LEZ=XTVev zPV`0(8!M*l3~7a%1bYZ8l(L2@5pm8Rx_tonA2kMpo=!t?QYbIl2?goukTyvca_j?gt=WU?&(b~)3x0w`k2c31dDM+t zTvK~;RsITcDdvO)&OWQ{Zj?^FV}1t(lzhHGk(H<0>xs*OFZXp%o%KuBLMDXnURvAj zb~D_wvV6U8JF^8(YI$p~lPD47gF08E*{E^>k;moP$UZFuZh3OG54_|lN@W=I#S|;a zL>~4crwTI*x%RR55bB=QXb_;)NY&aerGFKG_#qe1owl>7zX5RpFF;&ixoEuvKrN^Y zRrIr7W=>cBsJJQ}eu{DKjEcM0B=?(M>ItL?tq<^VFvuf1nD^!%-lIq{u9Z0aR8mw?l9eY5Ed$Ui95vvUx~Ns=fF1C^<* z4Jq^NGI_<1KtfD7E!hLwJwFH?V{I)O7LP-SMO(WiPWhA>ZL=7bE1`Oo$&PID~2EL-7p8p$Ue-MhX9Dt(oF_@w9q+J*t^Hz$ne(0=#lf%D5+ zBkX+4V?GKn+A_}T zM{Zm;o!S2}=%+qHt_F`bEpq2M71RWcCVccZTAF`{0P`GC#L3ZPbJp$6MzgFDaNH6w zNH}}iH+i?KUbm{NSP#((IfpM>k5z5TWW{D>$Ho9-#ey2xAIDHu&rLCwZ+}teLMM%* zNhe7#NODUdTB7;ZejHCd@8OcJxX6%s21G+(le zjV9z~x;8s~@Nfm{%VxzWZwB|i1aGZP&I_5=o_q>kIV=bL54*2Qf1)k1A< z)4C%*HJ#>=y{(t+J{T3*Uy7vw3)^k={arV$L&l;3z2J`Sy<=#~$j84c&T@f3J{va_ zefzYNDfIrlRtV_*xP%5ytcQ53zhLk0^5Xkn0}^WKIm~SJHx6$}^bF7fmHEsG8v1gM z-2vm$uMosJ2YY6e0$A-)DuO;GM2NDfA<_18Q~ALF7`TnY{9-4&oOs~V=xQa+!GQIX zE*wbc*~k-1h8i>Tu){$;X|FY)*Q5{~R(V>gxJFC9`YCL-Cix{eOa;S;3RB?*OKk;b@Qj(Zhw7mo@Ku2 zJt;DZgIq^weNU!sr5!BX z*#3mP{R%bV!!cMlWznVSuJ(AedN{i?k%)x=D z&?#BN!d)Sk$;riGmIM^D+Do4m3N=ahY2Eo!t0(@=oR zsl}|jGuyq{M%JHsDh9>C7*A&^GS335{<9$r=^DP-8iIdozm7MKUQY^v-I(uo^W}7& z_-FM5e%BIW#elv*&Z9i&<6q{yuFk7HrxmJ7QzP~cxvL!Q-O9H4JHEQfIN>0b_z$KT zq~#eP^pE>OLwy7ZnP*WQVn=2V%fA4?&~BgRr2}~tsp=hPgr+*7S&Wi4`wQ+Ys9wN} zyqs1vnjN1fLT%;32^;RSThjLz9p^7%S)0%?Un0 zTc`WbB%FJ+y^$V+0Ylwib?tv-xp9Xa$6tDXda;u0dQL0xy(GkCq*((t9vZ#hbB1X= zkyU-Pes$7?=$_g1*IxR|eyi?J4JLAaREE<+F;LybT14{L>~wj>w^_|_*5Vp(V^9^km|L*ozdEV{3*xYw%D!Eryqu$r@S{dok;sW^{lV-p#r|^ir5WD# zTeC}L1kE#ZKhg+jXug+BK=LdT3d3M6ebuRLw-kWj`N`bS{dRv+#HnG(< zHi}1PaC_lPou!Q;9y;GKj?y{=PlneTGTIOuZKB8t{3n7_ZyAZ|uH`jUfnAXq)C6}M zb?opXak4fbzc&6KYH`aXs{+{Z5TADN)aQFO{hx`U+3v7qnI73N@}$#ofh&J-u+!fLcdiNqyat; zYH)1}J#4duqU!C7%%)6m<|r=6G>;eF6I^WX#BYC>#<+qFBKA+J{4stKvn#q$W%=M+ zOnobyZjAdh*<1CyJLT~`wz9hRvewnM?07A6*21AXpK(p_GUu?p06Wb;9{iKa)%B~~ zZG_>k)kzBet6Kp7B76JA%`<@ZX*W=sl_46%56aA#8? z8VB}P|2X2dJKK6+)hDZH$J`f~Aa|Y$dGl40C;u68LIIFe7=L#|%bi@k90K9Xhz<#=!W_XcH}l=@Pk{JmIkC)z*$hnhv^w_M>tK)TL}&<3Z}xjAIK)R@=?P@ zp8GDDgARijzjRuzTs1w;Lx1|R|C*zdv@rJM*nBVcOScu(;dH%Y4Og+s%e!0ccRX}< zOvv4)K>1824awEYsUwK-rD;2SB>=mO1ZOc-$Fx9_FSms@0n(2oB8_71Jz(xmu~;A7KKK{x3N4z`mXw*LPTlo4u1UA^E6t7 z`rM4tX}!C!;kY5wp$c{N9gW)7vjvnYV*D^FV(*%z`;4yMbZjkjjX^USbXzyRX{Gc%C=1lkZItB4p&d59Dr5l`*1z4 z1nJWK2}n7zJt^w0#tlT5v~KRp`-!DjaV}$1F~4Su(P^)ZgE zK)`N#Q5uh>PjY&+-_w~m7^}4*_OussA??Lsx_?)-D|5mfwv`apb=lj@;}i7_VDhD2 z%GqbKnWn8GI`~9=hy8?}Lm`J+I4aai82q5v2F{)`?2}#=0ib$q1Or7^Wj1{~#*cZO z2F9NNc*3WGb#BMTbH3~hfT`7!D<4X8*4-B_S#L!TLoA1!<`;qO!y|TZ{e|L3MgKC; z3g8TTV0)SJ;#qi0NUP9#`0imk+cGKeLrHwT&^&S=I4%jZxAVYGmRxYR@Irf~fLM+T zijN!PM%xF~#yOw{fS%rxYLX_7rJ4`Jm1;PRGhB3T&TP6}G}=d?$k~;#k}NA^Z)})L zm?eE#@F1*^M^++2wUGN#oo?Ra&4xHZR3iijaS~W@0f&fMjP8_wslTc##3%(dThS`x z5}(}?lQH)Bbzf%nAp2iFmdlH&s6$5wN`Sd+%JPYgH|3~3pafiM?*3C8HZJ+65r5;~ z3bECfR_Si{Gxp$)bd#(@DYQA15OE)K>_A?vf!dl$2J4dZf#}%K9~s>J4%^HD8Jzcc z@xw(@xQTJsaT95sJT#$K6ip1pVWk8>}&RD>LiG>Zr55hMM(pH&Nw~@e#Ye zztGrgz^a$#%rf=lhC@dGySc9_4_V!luS=Bsnqo`9Jeo`7rgNuaJW{Ep6kW!RL zt3k5kYp%`LH_j^58R8LtYJ`Zr_G|!@J^}b}nG#gmo0X1S^!-!7+v&!Lc#*~%B2zQ^&Ee*1tfOLlfV5@SdEq3v@m z;n}svh0*1!$e!8s%`A~ORwJ3!v3`Cbx4;N>ViDF7yBYekY9#OKPK(W$$@hef`G;1k z>FO+)u32x1pX6x?z&3wI^1#J>zIdz#k;X0p-E=h2cz%l?6?cSCedXp1w{?m!!{poX zvYnd-xn2a8*Szrsv~$a9GKiA#ZK7;Sp1Efl-I^*5U*`T3YkR6Oe=S}s4sdH|%S3c6 z9_rA7od%80o;xlY8akG1!Fr9SYQeO78bemfhty!n$}1c9P!A;D{qIpy=(U|+kdjKz zD}S2pU*(c<`@yVoE`71Mxq!CI=}yEph4zvhDy;jjx2Osp|KP5~xB)Ho}2?WMPldz)!`xt6o7*YnoCW9q|<+ zWc82>B=>&>HfD$J^CNY415(ecncL z+y<)w8fLlPJQ@A%4QSmms-T<8i_6pgYm`ZDg{05q>85Ari|x!b0BLC_IjoW>bBfb> zkxL2P2QxCG121wjtJd4Ek>5l!Wwq@)@h*QjZM^gRgc?rs*p_|VeOFU1MfjJQYTC@* zsZlR-PB~Z-36{2-Q8Ub?W{t&H;$*>CeU@*Lgu_gWnE}^agYj+`0`e}ofwu!zQM^w= zcNtK>*-A(If^VL~u5xzFZoB&-0gCjk0?Rv_`wb7?2x#=15FW%_WpyEsbn0?U zI98O2M3t!rw{gfB!emiOqObLN+y$L3f*{voB&b&qhTx>$hxt|jk3$5)yiKn&xc zMB+eE4QW^+_{%N+$NB!Dmipav^|~8)dji*4{j22CGw5vsJKATmSIlJbSvuTW&Ml7?uEvU1Sp8{-h74Nxh>~r&h9&ouQj(|W8W#u1p{l?7tLNc# ztGdaqjK}zd^BR&Zhl&C)(xpNKgn3*-Cw1XkIs*?>>thQV3z;o=6v*DTI8kC=9=_Y~ z_N58dtDWTOt(?FJW zD4oDg#~^Y|oX=yL>@tBb8>QOB0`&VD*nDhNk6#v^a`K)l$sJ^kt7D--X{F$8@f z!|f{TktySic6#!?lzWTXgn6ePeFao_-qga`kAbxVEn?dn5EP+=nccX3(-FY|q)&JJ zj?Fa2ZC3@RIQ=zk$rBjt;!Xi3(9-4@v_CjUpXY_uTlJrXBJwboYK$>(CT;bOs9Y14 z3U6^Q-QhOfN`Vs?VTmelWuOXt<4D#%iRungGHE)0PW~op6>@RZXE7lG#i^p!4bJL9jkoNT$ZbF_4L(B_p>KsH^~rl`rf6BU z8Q0xTW{6Fs;=gCw#EsPNA({{#C23B;!QS=Ui9^;B@rXkPiPI@IAdCK*@wo19+RFa3I(O~p zUS^Iuah%Q(z#tf4RJ%g`Y$yM@)#ZkW;4_!6I#J#ZR-ok$m{nv{XKK(DK|Ko&d&Bwk z%)@Y*d}R~Pi2dz{FHy1EC)?=>2h+Wpr%Ekb^cCJoecSW~fnX{}HL>xrezi%UL zQ{MT|5<8v6K1lsh{;Y-C-D_!<;m6lE^E|W5e~5lUxRUr7O1dlE!xz|XiWh9_Stal7 zEG%E&Z|6%R|J!AKfP^ISTQT*9AW#qtQ)2-1)Yty;FUD^Cp|jz2I(4QtG?$51ZNDGk!%fIqo^p zX{FBnPAMJkdahZPj|Y+jw4sZ03mVQkm@bt;rEch@r7pWpm$R=8vYUTmKl?{N3_7^! zKF@V#hk#pk>2v=>h>S8$rD7kX$bOlB?w^#|IqIEmb^ouxf^*PbUuq2S2XqFQGy?%g zfI#xORKUNK` z`sjIoy+7XBvpZ++-nskDH*@cq-MQc1YbZS-q#*1%7mM5Y(ijhF%}SoGuTj;iAqM#0#YR+dE37|r;wyI17b&Zkl77krYSUeitF`!g%3}55Zq7JOtW%FQ`7WXyMENRP2TGk zds8(SL@aIPyKNyky!gL(GlF*qIF}BT*f%0Dk;8v(;|{KfUSFRQ)4ZCr2fJo7b|EP< z#7{KkS(}$CGzQ49ZbFoNGG3^(J&7haX?2{|0&|i6)*}wM=<DzBO;XQ4u2*8-=d!vW(~)_%Bex8j3lL)tUj6o-^vy^Ib5Po z7VyxA1Z}_J0kLMp^oa9(;(J>i+%abs^Kdu66XdQs4@CwZwSa|;V zi&u_y3wTSI4`GbPH(4?UqC0b;826w1*~1M^xS_}6ClEv~ve*+1j%(HO;oQb`>s!HU zIKTU#1orXqq6BQSnlxpFXp;3_^GQOYRu@cB1xTCE{HUz zf41HuHBDA2)Q|q&qv#MYTqLYCz2W-0i`v$Nof;zZA%aGGIr&!6_Mis=2x|FuWZds~ zgp**Q!OJ@z@2a6Zf4 zO6$z{yxd^(hgSBA3(GZ*+Y6UE>E(i9X+R}LW&mjv%Te*4)6olY2DiZG(FDPQ>}>Ns zVahC#n{3ZsixJ@8Jzn-$+dg$-F(ZAEY^!dG-zFBAZ4-o6k%F)r9{;zopjU* zsEHAC)<0gj;-JLfht?1x*k0u$phdYk5Vi=(yj;m{xQhOmF5U@a$vIq+eCRh{L?{m? zy@S};l?Wg44Ak-R;LL@pcI{8>J1o8QrSxKOGy04QdxG%INabB}+uSwCx2nNxwI8~2 z`|mi}QbsL>+q%B!qClUgp)vjG0wbC`cu>*}Y**7-+O3N+?9%PmlvYLjRSuO7Jf<#L zI9YKH0fF2PyVqth8kn-AharS`Zh@6wj^2u>!)1D_G14(oH%dx6W`t)kmdBP$vof)= zW)D0n%ceN-(o+lGBHoyIT+BIplH5Fm_pea!2UA3AHTx^j4}h}v!;SNLZ_X{TbkmHm z>jDUb+L_i?k49-|83o5P!?@26Baqh()(-=0wsH5r)^gha4)hR&gVx^wTDqy$G2^9- z2I`(~0ruW7>a*IWD{ZY(VkG;a!CUiw*=0QVuaSpPl3?cod+0Sg^t$+IR?TLk!RO^# zn}7!DeHTV@Af{j00k$>8JI;YJz!nHL@s|U?5wF*TqGlLQ0%LY!(bl6(S_ymM zoO+$4_+i<9{s#WRIi&6I_i>y8R7SJIoTM77-0jNdMd8!xgX~F>0iKsu)SJhgop5I_ zqUlQwN0{`2z|urm8CE$a%CQTXAwfZq1?n?1ePl#W^>f?hPxKa_TljGaUdgGA+JzI- z9xROzAo1I9+>^pxaW4tB6=KJT`kHw;JCTd5yB&kbP=5_ThL4z>R#KkbKaFEx;9tS% z^IMj!1QHg5s=v4?&GHO<-EaerV1PR|k~p&ZjZ=QvcSO~G5~)mV=Mne~{V};)I|^Vu z^+~-}+-RSq4|s$SoVa+SElFG_;yBIwLvWs_eSajCh^e`D?!~KA^TsD|FonZZ<9`@i zVTK>)w3FWat`5_6>?pu6et4+SbyW#Q2iv_Aub@VBIj$VF-n3)Wzxe(e5=} zIwxl}VLe?{6Z97ZOljW`hmo;B$s90#zFgD{;0xteEji`>eKy_KyBb1FX>GgyBCe?s z*-(rD_%QiIveo-34H6$v>D_PIa`Y$Yt}~5|ie{T1ce;!zqsw~pj5f8VjgP(mJ!dC` z5hwsf_&}!o$RkR5RqEr%3w%eUja)Sw@>VjHd!k=KBdo!Hg!Q|Kh2APElkEzJ02!RZ zMQpe1@XS*;IgT3bOeo}vfg-<*|Hk+^^mZzSt+-}(wPD53HYo~r#cQ@lhdh{ORD$pW zTSNH$UA7Sr_7|^1o~RR1+gR*bS>K|r(l1}n`Q;0@QoGf$l^>HSoZ!ski&GS==I2DRw!bHLtqG9I%+YtTvqXmPSTPXK zXi0bB9YshmAPFlq&8gohQS0ax-u#Ru9UowSu8{%da}b^|9YiNsPszAJdX#bf92F%2e{Minn--a!eEhWg! zT1ZIb3Qbydi5+82$(3|tS6bgf?Z|7(TD5x2W8V{D?}h+s2POy-X;D)$KNRBp4@?NF zaj#Z?l8(k`S~;xztiwQg9K9#klsYB+n#|QT7a1}a?5L%=n;z1WEN&hjYPVzM@4T+= zJ0r9Vi!JHnPH?)i@J^ZYZ#do6&iRq2E+;rN3}mGq79g3!-l#P|??+ZoC;o5{uHNAI z-u>RPzx+OB4&H7BarUzrmEE65bwpalbq!Sa7ETj~zLubL+E)J%Y2XGD&@yzw1?{9L z_o?+nuL6%L`3@%D} z(Y%GpJ`6qEks(vT)e7AmKu3WLZnnUntGQBH+27skSR5EI2y^3=^QA^uMa@#Z(o zacy6EEm`l;)iW_j{%5(jE@Zmw>9&l4sy+l_{XGrlwb+3w_;wfPYE=+mfkACngW|8G zhSqx$;$hR;n8*k+#fiwH)5e;c*v45q)ejW4qHI=E3dBo=Q2T{_!Fg~{i?<~&xaDlO zC1r=>dl1huWA- zL?T}gbYFzJ;E3HjZHzPp#{%4X3O|!#AFNRuW+k=*0K5m%5nKJ2Fq@$-ue4Rv_7~!k z!3;eM*@{kDeh1r&W=8+4MD*?GXFnoiL)*?ZTB=wgHE3!S!S33J+CnY zb9KoJDeMI;W3rZ4dTQ1_@wWy)+`BbT*ePDEZ24IAN45G+E--QJme^?3DvC|-TF(?y z51wW5SuNrlI4FP^lTT-l9P6PIFcf8k4Lb;?bFq}-9yanFI{txjJ~~-k3nY~OOw%>J zE2`NHEmB`+vl4>)u!bRWQ?Kj@dTlN&f)Gs-T5(Q4 zCMsdm*k!`?MKf+(OX~tz5mjFcb#{mBNLvDYVP;; zjNFR`IpM3u9;jk!d(!T^zv~|sSn>Zj65A$rJS6XSV}F<@xMv?%-Y73tST_&OH!UtB z`}A&gwjK3l>6S)xD&afNmIqaobq<-z{`^YEVZAyvO1ZFVxL<0M%5crLu}3#Mad^Uu zGTph=WQJO$!pSCDLn5V8!Ot z!f3No>C;5{v)j5`^2k?~v=MSsj+j#L18k=nTwn!_k_sINz{q|%N zB(s81BR3a>G$m7;xHbyTzu8I+gl?7;U5PN8Cu!9O;(a5FNPRNgwwrm-(IEV6^_--@ zI$t~AAX9SCp8O8BV1qIdKGx0&%pW}i>zWy@%lOE1(lW;)aiX#8L>kE0i!F(1gKSB3hU`MCCddn`t+I{jqyBlh6;BK;C_I2hG|EaAJ+OutDNs&2NG{OW}L?FkV z6RX#u@=ds{)UsPl4P$X9@i|FdBr&Rqrxazpr5zdywNoc`Xzk2MkTfC*Y5fK8NUS-5 zm(9makdJ}X{zD{C}KNc~l3S}2Y{0;G@I7n3c=HhH?}Ey(fV_r7Y0(L@E=ve2FwICRZ4CVS5i= z@xrUi%Gkatmx}@0=iO*07hTkavp73mZnEcazQNn=uocWtmA){Hi2+mTF5n~a3P{Bq z_B6M6pC9O#2pKj7rygo-b}d2E7^iNE zDNLM@=Qx&pJYigk9=Pr)U*dEn^v)-NRo5@OEN%r2vhx&@^Gb`uAd63_jk7&b9K(i< zJra7h*}xwNMv1dobu!e@ra>FJtly&7?JpUQL2?$P(z1bpoj#a2%v24!>APOLU^pV3 zPJ^n8(=9U|t>hpa16YrCJCy&$437v;b=Vv?CH|Q z*mNtgwOfD7CVnN{P&5s{uZ63bQ}H&}NY|&4+VA8>)y)f&q5=v=^~b^G1Ub4abL~~8 zRizBwsyBScT|rJOjTI#j5T_h|G}m7LwtG~(lC#a_{4^#cl~hj7Vb)8v#@P{$&W?}j zqKLp?v#l@=(!HD5!{?u3+jHi+SoIJI%-b@p&DgUxejNYk5 z1cm;Q5cBAbt!=%5?(2Py^2ch~2($Q?$kmX4I^ONP$S#yI6Bt{Gs!GJ7qS^PpqgTJ@ z62aCvvOBMVO{Rt#LPu`A_TBS7)$7fUF&8 z{N@fP)DTaN2|mqH`eDXv&Fx55;}4fs)Rd5mkXluVX@_1Jy2Skn85et*uW<*Q_cQ6& z(D99^Dvx=~sXgY*!hy}q({__d_&n8Ck0ItU@+k%xO{|h0MWPgnu+JFJ&Zdn3;TVri z9VD9mNh3=&hD$)Nf11ACCgtc1hnbdAd%1GgE}F||KQL}O05Jw+m?@)?H*?Lg=ii77 zI?&@zTi8G8mj}9X2PJ^0RP-y7%4yxP%7mIa0!sdijL`1btf} zJgIjGU!+<6s#+`Ubk$&vpfPUtlo}4kPo4ogYMFSbN07ua|2&NO#7lTfy1@(nUEo3T0@Xl;#%RK4T$hQ-N*V*upUMHLmMl zkPOnce6_fq2#PMFidc!oBG03@qb}0nj7L&4W{aeE{1FLZj4<>lP-Rt3-Ji%gFBHcu zH4T=B{ngNn5J1AkX;4kR>3;Ey1)mFJ3+~_#u}aCH&-mx!zhfM~RtC>oO3Lsrk^Pl= z48gVj*uG!ufr&SbA=TUBSn41Nl(o@rN%}ss^N6h8>r_S|csga^IM{v+0Av=Sdu^_6 zq+m!jz90c#nDB4)N)pyk_kA93zSzsIj&ZuT)d|LS!nivH)V95P13%7;ZGk!|T-PW7iabiXCQOj$wAX z=J3>}Yr4b!VF5?t!D@qg=40(yiUO7CL^wMBme1fM|8dHfN?yDwH5D_Ln-n)scbFbI zLTq}cUk(w9mM+whEaoCp-3L^%R*A3FChuVeymmOEV|NuQ!Nb}GW+mhf^I`buhR!K& zD6?C0TkA<#eim=^dIX<{K*WaXZB<#XW5SeUjKjjy!vIK4`=;af%a^H$aK7XIir z-7h+jUm0UvO>39w(71HT>vy~aK1tFR4&E?#(03RfXt?O6=^jo5ZbCG5_lj)IMDXrD zIfB7e`QWuOmzK4U-|(d`=z9J<_#gN&Tk{wOtAAJ`^iULhlOq<7p72^D^;h|F$Ara< z4QIrY#4)M(ma{#RX(BcVqNd%qH!m!Y=@> ziUNGVSxkQ)*6Ra^9Tp*LOcqf9++{|+vI%CZ<$Jd{WI5;Hgtm3wC6jPY+T_$CX0R%C(kJPJvdubPTPji=FKM5kBcqsBZmwtIF_{jS zSFL9;ULiQAZY!&ATrN@uj4iVNY)_jO;PNb$)2$dm+$b!+KdEkvS#l1%7f2G$5j*kY zo?$BZp3$j?J8`yh?Y-NeT~^OSQecKRM!b>xWBsXVT@YF~_bE@~R;M%NvvE4?=q6lN zoVJ%u*a{liFuKP?o{-#q54lnYLyC$x$h~Amw1uB|yz&!|T+d{Xc17C~-p;7Bou8KN zVKPZ8b@YlmVO7F4!nwl?)CSCLAx51u$>W5+2G!h!sLxi<>*sDtDBcn>mISJ#JK-6h zXChQp55KXRdH?%Y$ldh8wC%d4%=T=mM;)-NwG_7ZppUorHIvH#)~tX{TrWqnXhI3N z#_OWQ+lF9F>f~a5cMj$%^G3dxrcn$yx7nM0s3UGx$w~ZYVltk5HdB`!O-f^qBa0b* z-P>DXswOZc25;!HiU&^)jyb%vR@8(Crx9*80~e28_Z3XYzCQAEY}d-ybSA+$f@e$0 zOzBb163AwAIChnE@Canwl=?nI|$@XnfVxvaGpK2hJSW}v0-Vk2G8PeOf&e;rg7J7O!AMZwB3$fXyS&t z{3rie%nk=6DNP-04ojM}>cn>O>I-%8nyXq)OsWFK&ySbmyWPza_CYKM2I{_$X@)~9 z?mG-h+LvGR(BVA+tlZU?y^Zn@HHz3KY!2=qUWB3h6orpxh>XJ z8fh&D-PQBT`26P!nckf^CUm)xbC>oh3ebixtw?H%?y}#z_`B5R$cX-2Wz(kL!_(Ht^jqSlG{E28l9Yx`e^I72j!8-e^!Avuk(2fr_$5`NW2P=l2?<{?1 zYJxYYC${BnR?>Yzrm|Qam-MNkiUJ2O%|9z2FeAHTHId1NHo=Gz1o+ahQ-tZ3U14!2 zekgcLU6>_yxm!7?i268&LDcblDj?>z<+HBG%I0yrL+HV?P>qX3{>-AJSsls(y^m}a zOXa{}hMWyXRmGk={l~K8%_H@}5-V#$0&=VJ+ietSmLhfWBvcp8O%E9LEO!nm!1LEPjpqX1h-H}%e$ao!ra zxCxMwaO6!bU_tn_9%kmg0eeHLfI!a1;Gv!-;Fvmw#pgY^nz$Rh^zU@t`UNM;b=S9M z;E{Z5JdTaEP6gS@n3 zmB#>;k7YA{vNadkIrGujMtNSNpluUJSX1CbW)jQuTIi>sDs&z&qFMVdniSzH8NEK8 zoFR2#wj{mM2xXzKg&s=Q-h0TNQ3G;|C!v0l&;ayfQ7Nzjwe@E9Bn{&U!0hkN>02px zvGZrIuZ{kx?zm)6?wvGw={zv-m^1+^?D0Q6Za`r3QqcFZw(znMxAL%g6aWD}ei3ed zK5jlS9X>H}ej#yTL2f=FaX!8kJvNd5qu}gnZ4dJM{}sv!Gb0}rsQ { + const { value } = event.target; + this.setState({setpoints: {...this.state.setpoints, [parName]: value}}); + } + + onSetpointSubmit = (event, parName) => { + event.preventDefault(); + + switch(parName){ + case "flowrate": + this.props.writeTag("cfg_PID_FlowSP", this.state.setpoints.flowrate); + break; + + case "fluidlevel": + this.props.writeTag("cfg_PID_FluidLevelSP", this.state.setpoints.fluidlevel); + break; + + case "tubingpressure": + this.props.writeTag("cfg_PID_TubingPressureSP", this.state.setpoints.tubingpressure); + break; + + case "frequency": + this.props.writeTag("cfg_PID_ManualSP", this.state.setpoints.frequency); + break; + } + + } + + onPIDParameterSelect = (e, parName) => { + event.preventDefault(); + + switch(parName){ + case "flowrate": + this.props.writeTag("cfg_PID_Flow", true); + break; + + case "fluidlevel": + this.props.writeTag("cfg_PID_FluidLevel", true); + break; + + case "tubingpressure": + this.props.writeTag("cfg_PID_TubingPressure", true); + break; + + case "frequency": + this.props.writeTag("cfg_PID_Manual", true); + break; + } + } + + componentDidMount(){ + if (this.props.tags){ + this.setState({ + setpoints: { + flowrate: this.props.tags.cfg_PID_FlowSP.value, + fluidlevel: this.props.tags.cfg_PID_FluidLevelSP.value, + tubingpressure: this.props.tags.cfg_PID_TubingPressureSP.value, + frequency: this.props.tags.cfg_PID_ManualSP.value, + } + }); + } + } + + + + render(){ + if (!this.props.tags){ + return( +
+

Loading...

+
+ ); + } + + if (!this.props.tags.Device_Status_INT){ + return( +
+

Loading...

+
+ ); + } + + const startBtnClass = this.props.tags.Device_Status_INT.value === 4 ? "btn btn-success control-button" : "btn btn-secondary disabled control-button"; + const stopBtnClass = this.props.tags.Device_Status_INT.value !== 4 ? "btn btn-danger control-button" : "btn btn-secondary disabled control-button"; + + return ( +
+

Controls

+ + + + + + + + +
+ + + +
+ +
+ +

Control Setpoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ this.onSetpointChange(e, "flowrate")} + className="form-control" + type="number" + /> + + this.onSetpointChange(e, "fluidlevel")} + className="form-control" + type="number" + /> + + this.onSetpointChange(e, "tubingpressure")} + className="form-control" + type="number" + /> + + this.onSetpointChange(e, "frequency")} + className="form-control" + type="number" + /> +
+ + + + + + + +
+
+ ); + } + +} + +function mapStateToProps(state){ + return { + tags: state.tags + }; +} + +export default connect(mapStateToProps, { writeTag })(Controls); \ No newline at end of file diff --git a/app/src/components/Header.js b/app/src/components/Header.js new file mode 100644 index 0000000..5c4502f --- /dev/null +++ b/app/src/components/Header.js @@ -0,0 +1,76 @@ +import React, { Component } from "react"; +import { connect } from "react-redux"; +import { Link } from "react-router-dom"; +import FontAwesomeIcon from "@fortawesome/react-fontawesome"; +import { faTint, faCog } from "@fortawesome/fontawesome-pro-regular"; + +class Header extends Component { + renderRunningState(){ + if(!this.props.tags ){ + return ; + } + + if (!this.props.tags.Device_Status_INT){ + return ; + } + + let deviceStatus; + let deviceClass; + switch(this.props.tags.Device_Status_INT.value){ + case 0: + deviceStatus = "Running"; + deviceClass = "btn btn-success"; + break; + case 1: + deviceStatus = "Pumped Off"; + deviceClass = "btn btn-warning"; + break; + case 2: + deviceStatus = "Alarmed"; + deviceClass = "btn btn-danger"; + break; + case 3: + deviceStatus = "Locked Out"; + deviceClass = "btn btn-danger"; + break; + case 4: + deviceStatus = "Stopped"; + deviceClass = "btn btn-secondary"; + break; + default: + deviceStatus = "Unknown"; + deviceClass = "btn btn-info"; + } + + return ; + + } + + render(){ + return ( + + ); + } +} + +function mapStateToProps(state){ + return { + tags: state.tags + }; +} + +export default connect(mapStateToProps)(Header); + diff --git a/app/src/components/Main.js b/app/src/components/Main.js new file mode 100644 index 0000000..b3c9898 --- /dev/null +++ b/app/src/components/Main.js @@ -0,0 +1,101 @@ +import React, { Component } from "react"; +import _ from "lodash"; +import { connect } from "react-redux"; +import { FlexibleWidthXYPlot, LineSeries, VerticalGridLines, HorizontalGridLines, XAxis, YAxis, DiscreteColorLegend } from "react-vis"; +import "../../../node_modules/react-vis/dist/style.css"; + +class Main extends Component { + + getChartValues(values){ + return _.map(values, (val) => { + return {x: val.timestamp, y: val.value}; + }); + } + + + render(){ + if (!this.props.tagHistory){ + return( +
+

Loading...

+
+ ); + } + + + return ( +
+

Process Values

+ + + + + + + + + + +
+ +

VFD Data

+ + + + + + + + + + + +
+ ); + } + +} + +function mapStateToProps(state){ + return { + tags: state.tags, + tagHistory: state.tagHistory + }; +} + +export default connect(mapStateToProps)(Main); \ No newline at end of file diff --git a/app/src/components/Permissives.js b/app/src/components/Permissives.js new file mode 100644 index 0000000..b16bf10 --- /dev/null +++ b/app/src/components/Permissives.js @@ -0,0 +1,74 @@ +import React, { Component } from "react"; +import { connect } from "react-redux"; + +class Permissives extends Component { + + renderTagButton = (tagName, description) => { + if (!this.props.tags[tagName]){ + return( + + ); + } + + const btnClassName = this.props.tags[tagName].value ? "btn btn-success" : "btn btn-danger"; + return ; + } + + render(){ + if (!this.props.tags){ + return ( +
+

Loading...

+
+ ); + } + + return( +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{this.renderTagButton("sp_ALL", "START")}{this.renderTagButton("rp_ALL", "RUN")}
{this.renderTagButton("sp_Flowmeter", "Flowmeter")}{this.renderTagButton("rp_Flowmeter", "Flowmeter")}
{this.renderTagButton("sp_FluidLevel", "Fluid Level")}{this.renderTagButton("rp_FluidLevel", "Fluid Level")}
{this.renderTagButton("sp_IntakePressure", "Intake Pressure")}{this.renderTagButton("rp_IntakePressure", "Intake Pressure")}
{this.renderTagButton("sp_IntakeTemperature", "Intake Temperature")}{this.renderTagButton("rp_IntakeTemperature", "Intake Temperature")}
+
+ ); + } + +} + +function mapStateToProps(state){ + return { + tags: state.tags + }; +} + +export default connect(mapStateToProps)(Permissives); \ No newline at end of file diff --git a/app/src/components/Settings.js b/app/src/components/Settings.js new file mode 100644 index 0000000..d5b3666 --- /dev/null +++ b/app/src/components/Settings.js @@ -0,0 +1,155 @@ +import React, { Component } from "react"; +import { connect } from "react-redux"; +import _ from "lodash"; +import { setPlcIpAddress, ipcPlcInitializeSend } from "../actions/actions_plc"; +import { storeNewTag, deleteTag } from "../actions/actions_tags"; + +class Settings extends Component { + constructor(props){ + super(props); + + this.state = { + ipAddress: "", + newTag: "" + }; + } + + getTagList = () => { + const { tags } = this.props; + + let tableMiddle = _.map(tags, (tag) => { + return ( + {tag.name} + + + ); + }); + + return ( + + + + + + + + + {tableMiddle} + +
Tag
+ ); + } + + componentWillMount(){ + console.log(this.props.plc); + if (this.props.plc && this.props.plc.ipAddress){ + console.log(this.props.plc.ipAddress); + this.setState({ipAddress: this.props.plc.ipAddress}); + } + } + + onDeleteClick = (e, tagName) =>{ + e.preventDefault(); + this.props.deleteTag(tagName); + } + + onIpAddressInputChange = (event) => { + this.setState({ipAddress: event.target.value}); + } + + sendIpAddress = (e) => { + e.preventDefault(); + this.props.setPlcIpAddress(this.state.ipAddress); + } + + onNewTagChange = (e) => { + this.setState({newTag: e.target.value}); + } + + onNewTagSubmit = (e) => { + e.preventDefault(); + this.props.storeNewTag(this.state.newTag); + this.setState({newTag: ""}); + } + + onSave = (e) => { + console.log(this.props); + e.preventDefault(); + this.props.ipcPlcInitializeSend(this.props.plc.ipAddress, this.props.tags); + this.props.history.push("/"); + } + + render() { + const ipAddressBtnClass = ((this.state.ipAddress === this.props.plc.ipAddress) || (this.state.ipAddress.length === 0)) ? "btn disabled right" : "btn right"; + const initializeBtnClass = (this.props.plc.ipAddress && _.map(this.props.tags, (t)=>t).length > 0) ? "btn" : "btn disabled"; + + return ( +
+
    +
  • + Settings +
  • +
    +
  • +

    IP Address

    + + +
  • +
    + +
    +
  • +

    Tag List

    + {this.getTagList()} + + +
  • +
  • + +
  • +
    +
+
+ ); + } +} + +const styles = { + container: { + display: "flex", + flexDirection: "column" + }, + pointer: { + cursor: "pointer" + } +}; + +function mapStateToProps(state){ + return{ + tags: state.tags, + plc: state.plc + }; +} + +export default connect(mapStateToProps, { setPlcIpAddress, storeNewTag, ipcPlcInitializeSend, deleteTag })(Settings); diff --git a/app/src/components/TagsIndex.js b/app/src/components/TagsIndex.js new file mode 100644 index 0000000..e49b900 --- /dev/null +++ b/app/src/components/TagsIndex.js @@ -0,0 +1,130 @@ +import React, { Component } from "react"; +import { connect } from "react-redux"; +import { Link } from "react-router-dom"; +import _ from "lodash"; +import Gauge from "react-svg-gauge"; + +import { writeTag } from "../actions/actions_tags"; + + + +class TagsIndex extends Component { + + constructor(props){ + super(props); + this.state = {writes: {}}; + } + + renderTagsList(){ + return _.map(this.props.tags, (t) => { + return ( + {t.name} + {Math.round(t.value * 100) / 100} + this.onTagWriteFieldChanged(e, t.name)} + /> + + ); + }); + } + + renderTagsGauges(){ + return _.map(this.props.tags, (tag) => { + return (
+ +
); + }); + } + + onWriteButtonClick = (tagName) => { + console.log(tagName, this.state.writes[tagName]); + this.props.writeTag(tagName, this.state.writes[tagName]); + } + + onTagWriteFieldChanged = (e, tagName) => { + console.log(tagName, e.target.value); + this.setState({writes: {...this.state.writes, [tagName]: e.target.value}}); + } + + render() { + let PLC = "PLC"; + if (this.props.plc.details){ + PLC = this.props.plc.details.name; + } + + if (!this.props.tags || _.map(this.props.tags, (t)=> t ).length === 0) { + return ( +
+

+ No Tags. +

+

Add some in Settings.

+
+ ); + } + + return ( +
+

Tags for {this.props.plc.ipAddress}

+

{PLC}

+ + + + + + + + + + + { this.renderTagsList()} + +
Tag NameValue
+
+ ); + } +} + +const styles = { + container: { + height: "100%", + display: "flex", + flexDirection: "column", + justifyContent: "space-around", + textAlign: "center" + }, + buttonContainer: { + display: "flex", + flexDirection: "column" + }, + button: { + marginBottom: "15px" + }, + valueLabel: { + fontSize: "1.5em" + }, + topLabel: { + fontSize: "1.35em" + }, + minMaxLabel: { + fontSize: "0.85em" + } +}; + +function mapStateToProps(state){ + return { + tags: state.tags, + plc: state.plc + }; +} + +export default connect(mapStateToProps, { writeTag })(TagsIndex); diff --git a/app/src/global.css b/app/src/global.css new file mode 100644 index 0000000..0ec827a --- /dev/null +++ b/app/src/global.css @@ -0,0 +1,53 @@ +/* + * Global constants goes here + */ +:root { + --primary-color: #42b983; +} + + +/* + * Global CSS goes here, it requires to use :global before each style + */ +:global html { + height: 100%; +} +:global body { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + margin: auto; +} +:global #app { + color: #2c3e50; + font-family: Source Sans Pro, Helvetica, sans-serif; + height: 100%; + width:100%; +} +:global #app p { + text-align: justify; +} +:global .hello { + color: var(--primary-color); +} + +:global #permissives-table tbody tr td { + text-align: center; +} + +:global #permissives-table tbody tr td button { + width: 95%; +} + +:global #permissives-table thead tr th { + text-align: center; +} + +:global #settings-button { + margin: auto 15px; +} + +:global .control-button { + width: 95%; +} diff --git a/app/src/reducers/index.js b/app/src/reducers/index.js new file mode 100644 index 0000000..fa3920c --- /dev/null +++ b/app/src/reducers/index.js @@ -0,0 +1,15 @@ +import { combineReducers } from "redux"; + +import TagsReducer from "./reducer_tags"; +import PlcReducer from "./reducer_plc"; +import TagHistoryReducer from "./reducer_taghistory"; + +const rootReducer = combineReducers({ + tags: TagsReducer, + tagHistory: TagHistoryReducer, + plc: PlcReducer +}); + + + +export default rootReducer; diff --git a/app/src/reducers/reducer_plc.js b/app/src/reducers/reducer_plc.js new file mode 100644 index 0000000..66092b0 --- /dev/null +++ b/app/src/reducers/reducer_plc.js @@ -0,0 +1,15 @@ +import { SET_PLC_IPADDRESS, PLC_DATA_RECEIVED } from "../actions/actions_plc"; + +export default function(state = {}, action){ + switch(action.type){ + case SET_PLC_IPADDRESS: + return { ...state, ipAddress: action.payload }; + + case PLC_DATA_RECEIVED: + console.log(action.payload); + return { ...state, ...action.payload }; + + default: + return state; + } +} diff --git a/app/src/reducers/reducer_taghistory.js b/app/src/reducers/reducer_taghistory.js new file mode 100644 index 0000000..8db5952 --- /dev/null +++ b/app/src/reducers/reducer_taghistory.js @@ -0,0 +1,29 @@ +import _ from "lodash"; +import { IPC_TAGUPDATE } from "../actions/actions_tags"; +import { historyTags } from "../renderer_process"; + + +export default function(state = {}, action){ + switch (action.type) { + case IPC_TAGUPDATE: + const { name, value } = action.payload; + if (historyTags.includes(name)){ + const thisEntry = { + value, + timestamp: new Date() + }; + let tagHistory = [ thisEntry ]; + if (state[name]){ + tagHistory = _.take(_.concat(tagHistory, state[name]), 500); + } + return { ...state, [name]: tagHistory}; + + } else { + return state; + } + + + default: + return state; + } +} \ No newline at end of file diff --git a/app/src/reducers/reducer_tags.js b/app/src/reducers/reducer_tags.js new file mode 100644 index 0000000..2940425 --- /dev/null +++ b/app/src/reducers/reducer_tags.js @@ -0,0 +1,21 @@ +import _ from "lodash"; +import { IPC_TAGUPDATE, STORE_NEW_TAG, DELETE_TAG } from "../actions/actions_tags"; + + +export default function(state = {}, action){ + switch (action.type) { + case IPC_TAGUPDATE: + const { name, value } = action.payload; + return { ...state, [name]: { name, value }}; + + case STORE_NEW_TAG: + const newTagName = action.payload; + return { ...state, [newTagName]: { name: newTagName }}; + + case DELETE_TAG: + return _.omit(state, action.payload); + + default: + return state; + } +} diff --git a/app/src/renderer_process.js b/app/src/renderer_process.js new file mode 100644 index 0000000..470a75b --- /dev/null +++ b/app/src/renderer_process.js @@ -0,0 +1,45 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import { Provider } from "react-redux"; +import { createStore, applyMiddleware } from "redux"; +import createIpc from "redux-electron-ipc"; + +import { BrowserRouter, Route, Switch } from "react-router-dom"; + +import reducers from "./reducers"; + +import TagsIndex from "./components/TagsIndex"; +import Settings from "./components/Settings"; +import Header from "./components/Header"; +import Permissives from "./components/Permissives"; +import Main from "./components/Main"; +import Controls from "./components/Controls"; + +import { ipcTagUpdate } from "./actions/actions_tags"; +import { ipcPlcDetailsReceived } from "./actions/actions_plc"; + +export const { history_tags: historyTags } = require("../../tagList.json"); + +const ipc = createIpc({ + "tag:valueupdate": ipcTagUpdate, + "plc:connected": ipcPlcDetailsReceived +}); + +const createStoreWithMiddleware = applyMiddleware(ipc)(createStore); + +ReactDOM.render( + + +
+
+ + + + + + + +
+
+
+ , document.querySelector("#app")); diff --git a/main_process.js b/main_process.js new file mode 100644 index 0000000..e4e6804 --- /dev/null +++ b/main_process.js @@ -0,0 +1,74 @@ +// Basic init +const electron = require("electron"); +const { Controller, Tag } = require("ethernet-ip"); +const _ = require("lodash"); +const { app, BrowserWindow, ipcMain } = electron; + +// To avoid being garbage collected +let mainWindow; +let PLC; + +const tagList = require("./tagList.json"); + +app.on("ready", () => { + + mainWindow = new BrowserWindow({}); + mainWindow.loadURL(`file://${__dirname}/app/index.html`); + + initPLC("10.20.4.36", tagList.scan_list); + +}); + +function writeTag(tagName, tagValue){ + const thisTag = new Tag(tagName); + PLC.readTag(thisTag).then(() => { + thisTag.value = tagValue; + PLC.writeTag(thisTag); + }); +} + +function initPLC(ipAddress, tagList){ + PLC = new Controller(); + + const setupTags = new Promise ((resolve) =>{ + resolve(_.map(tagList, (tag) => { + PLC.subscribe(new Tag( tag )); + })); + }); + + setupTags.then(()=>{ + PLC.connect(ipAddress, 0).then( () => { + const properties = { ...PLC.properties, ipAddress}; + mainWindow.webContents.send("plc:connected", properties); + PLC.scan().catch((err) => { + console.log(err); + }); + }).catch((err) => { + console.log(err); + }); + + PLC.forEach( (tag) => { + tag.on("Initialized", (tag) => { + // console.log("main_process: Initialized", tag.name, tag.value); + mainWindow.webContents.send("tag:valueupdate", tag); + }); + + tag.on("Changed", (tag) => { + // console.log("main_process: Changed", tag.name, tag.value); + mainWindow.webContents.send("tag:valueupdate", tag); + }); + }); + }); +} + + +ipcMain.on("plc:initialize", (event, ipAddress, tagList) =>{ + // console.log("plc:initialize", ipAddress, tagList); + initPLC(ipAddress, tagList); +}); + +ipcMain.on("tag:write", (event, tagName, value) => { + // console.log("tag:write", tagName, value); + writeTag(tagName, value); +}); + diff --git a/package.json b/package.json new file mode 100644 index 0000000..7750d5b --- /dev/null +++ b/package.json @@ -0,0 +1,63 @@ +{ + "name": "maxwatersystem-electron", + "version": "1.1.0", + "description": "Electron-based HMI Program", + "main": "main_process.js", + "scripts": { + "bundle": "webpack --mode development", + "wpackserve": "webpack --mode development -w", + "serve": "electron .", + "start": "npm-run-all --parallel wpackserve serve", + "pack": "electron-builder --dir", + "dist": "electron-builder -mwl" + }, + "author": "Patrick J. McDonagh", + "repository": "HenryPump/MaxWaterSystem-Electron", + "license": "MIT", + "devDependencies": { + "babel-core": "^6.26.0", + "babel-eslint": "^8.2.2", + "babel-loader": "^7.1.4", + "babel-preset-env": "^1.6.1", + "babel-preset-react": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", + "css-loader": "^0.28.10", + "electron": "^2.0.0-beta.5", + "electron-builder": "^20.8.1", + "electron-reload": "^1.2.2", + "eslint": "^4.19.1", + "eslint-plugin-react": "^7.7.0", + "file-loader": "^1.1.10", + "mini-css-extract-plugin": "^0.4.0", + "npm-run-all": "^4.1.2", + "webpack": "^4.1.1", + "webpack-cli": "^2.0.11" + }, + "dependencies": { + "@fortawesome/fontawesome": "^1.1.5", + "@fortawesome/fontawesome-pro-regular": "^5.0.9", + "@fortawesome/fontawesome-pro-webfonts": "^1.0.5", + "@fortawesome/react-fontawesome": "0.0.18", + "ethernet-ip": "^1.1.4", + "lodash": "^4.17.5", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-redux": "^5.0.7", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-svg-gauge": "^1.0.7", + "react-vis": "^1.9.2", + "redux": "^3.7.2", + "redux-electron-ipc": "^1.1.12", + "victory": "^0.25.7" + }, + "build": { + "appId": "com.henrypump.maxwatersystem", + "mac": { + "target": "default" + }, + "win": { + "target": "portable" + } + } +} diff --git a/tagList.json b/tagList.json new file mode 100644 index 0000000..ca979cf --- /dev/null +++ b/tagList.json @@ -0,0 +1,105 @@ +{ + "scan_list": + [ + "alarm_ESTOP", + "alarm_Flowmeter", + "alarm_FluidLevel", + "alarm_IntakePressure", + "alarm_IntakeTemperature", + "alarm_Lockout", + "alarm_MinSpeed", + "alarm_TubingPressure", + "alarm_VFD", + "cfg_CostPerkWh", + "cfg_CurrentLimitMultiplier", + "cfg_DHSensorDistToIntake", + "cfg_DHSensorPressureOffset", + "cfg_FluidSpecificGravity", + "cfg_MinSpeedSecondsBeforeFault", + "cfg_PID_Flow", + "cfg_PID_FlowSP", + "cfg_PID_FluidLevel", + "cfg_PID_FluidLevelSP", + "cfg_PID_Manual", + "cfg_PID_ManualSP", + "cfg_PID_TubingPressure", + "cfg_PID_TubingPressureSP", + "cmd_Start", + "cmd_Stop", + "Device_Status_INT", + "Downhole_Sensor_Status_INT", + "Flow_Total_LastMonth", + "Flow_Total_Lifetime", + "Flow_Total_ThisMonth", + "rp_ALL", + "rp_Flowmeter", + "rp_FluidLevel", + "rp_IntakePressure", + "rp_IntakeTemperature", + "rp_MinSpeed", + "rp_TubingPressure", + "rp_VFD", + "sp_ALL", + "sp_Flowmeter", + "sp_FluidLevel", + "sp_IntakePressure", + "sp_IntakeTemperature", + "sp_Time", + "sp_TubingPressure", + "sp_VFD", + "sts_CurrentVFDFaultCode", + "sts_NoAlarms", + "sts_PID_Control", + "sts_PumpOff", + "sts_RestartAllowed", + "sts_TrueAlarm", + "sts_WaitingToRestart", + "time_RunTime_Hours", + "time_TotalSecondsUntilStartup", + "val_Flowmeter", + "val_Flowmeter_BarrelsPerDay", + "val_FluidLevel", + "val_IntakePressure", + "val_IntakeTemperature", + "val_TubingPressure", + "VFD_MotorNPAmps", + "VFD_MotorNPHertz", + "VFD_MotorNPHorsepower", + "VFD_MotorNPOLFactor", + "VFD_MotorNPRPM", + "VFD_MotorNPVolts", + "VFD_MotorPoles", + "VFD_OutCurrent", + "VFD_OutPower", + "VFD_PWMFrequency", + "VFD_SpeedFdbk", + "VFD_SpeedRef", + "VFD_Temp" + ], + "history_tags": + [ + "val_Flowmeter", + "val_Flowmeter_BarrelsPerDay", + "val_FluidLevel", + "val_IntakePressure", + "val_IntakeTemperature", + "val_TubingPressure", + "VFD_OutCurrent", + "VFD_OutPower", + "VFD_SpeedFdbk", + "VFD_SpeedRef", + "VFD_Temp" + ], + "alarm_tags": + [ + "alarm_ESTOP", + "alarm_Flowmeter", + "alarm_FluidLevel", + "alarm_IntakePressure", + "alarm_IntakeTemperature", + "alarm_Lockout", + "alarm_MinSpeed", + "alarm_TubingPressure", + "alarm_VFD" + ] +} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..829a1fa --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,60 @@ +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +module.exports = { + + watch: false, + target: "electron-main", + entry: ["./app/src/renderer_process.js", "./app/src/global.css"], + output: { + path: __dirname + "/app/build", + publicPath: "build/", + filename: "bundle.js" + }, + + module: { + rules: [ + { + test: /\.jsx?$/, + loader: "babel-loader", + exclude: /node_modules/, + options: { + presets: [ "es2015", "react", "stage-0" ] + } + }, + // { + // test: /\.css$/, + // loader: ExtractTextPlugin.extract({ + // loader: "css-loader", + // options: { + // modules: true + // } + // }) + // }, + { + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + "css-loader" + ] + }, + { + test: /\.(png|jpg|gif|svg)$/, + loader: "file-loader", + query: { + name: "[name].[ext]?[hash]" + } + } + ] + }, + + plugins: [ + new MiniCssExtractPlugin({ + filename: "main.css", + chunkFilename: "[id].css" + }) + ], + + resolve: { + extensions: [".js", ".json", ".jsx"] + } + +};