vendor: 3,594 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // define getter function for harmony exports 37/******/ __webpack_require__.d = function(exports, name, getter) { 38/******/ if(!__webpack_require__.o(exports, name)) { 39/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40/******/ } 41/******/ }; 42/******/ 43/******/ // define __esModule on exports 44/******/ __webpack_require__.r = function(exports) { 45/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47/******/ } 48/******/ Object.defineProperty(exports, '__esModule', { value: true }); 49/******/ }; 50/******/ 51/******/ // create a fake namespace object 52/******/ // mode & 1: value is a module id, require it 53/******/ // mode & 2: merge all properties of value into the ns 54/******/ // mode & 4: return value when already ns object 55/******/ // mode & 8|1: behave like require 56/******/ __webpack_require__.t = function(value, mode) { 57/******/ if(mode & 1) value = __webpack_require__(value); 58/******/ if(mode & 8) return value; 59/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60/******/ var ns = Object.create(null); 61/******/ __webpack_require__.r(ns); 62/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64/******/ return ns; 65/******/ }; 66/******/ 67/******/ // getDefaultExport function for compatibility with non-harmony modules 68/******/ __webpack_require__.n = function(module) { 69/******/ var getter = module && module.__esModule ? 70/******/ function getDefault() { return module['default']; } : 71/******/ function getModuleExports() { return module; }; 72/******/ __webpack_require__.d(getter, 'a', getter); 73/******/ return getter; 74/******/ }; 75/******/ 76/******/ // Object.prototype.hasOwnProperty.call 77/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78/******/ 79/******/ // __webpack_public_path__ 80/******/ __webpack_require__.p = ""; 81/******/ 82/******/ 83/******/ // Load entry module and return exports 84/******/ return __webpack_require__(__webpack_require__.s = 0); 85/******/ }) 86/************************************************************************/ 87/******/ ({ 88
vendor: 8,250 bytes, lines 89-155
89/***/ "./js/components/DonationForm.jsx": 90/*!****************************************!*\ 91 !*** ./js/components/DonationForm.jsx ***! 92 \****************************************/ 93/*! exports provided: default */ 94/***/ (function(module, __webpack_exports__, __webpack_require__) { 95 96"use strict"; 97__webpack_require__.r(__webpack_exports__); 98/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js"); 99/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__); 100/* harmony import */ var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.is-array */ "./node_modules/core-js/modules/es.array.is-array.js"); 101/* harmony import */ var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1__); 102/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); 103/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2__); 104/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js"); 105/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__); 106/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 107/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__); 108/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js"); 109/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5__); 110/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js"); 111/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6__); 112/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.search */ "./node_modules/core-js/modules/es.string.search.js"); 113/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7__); 114/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); 115/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__); 116/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.timers */ "./node_modules/core-js/modules/web.timers.js"); 117/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9__); 118/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.url */ "./node_modules/core-js/modules/web.url.js"); 119/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10__); 120/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); 121/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__); 122/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lodash/compact */ "./node_modules/lodash/compact.js"); 123/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash_compact__WEBPACK_IMPORTED_MODULE_12__); 124/* harmony import */ var text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! text-mask-addons/dist/createNumberMask */ "./node_modules/text-mask-addons/dist/createNumberMask.js"); 125/* harmony import */ var text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13__); 126/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! lodash/fp/map */ "./node_modules/lodash/fp/map.js"); 127/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_map__WEBPACK_IMPORTED_MODULE_14__); 128/* harmony import */ var react_text_mask__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-text-mask */ "./node_modules/react-text-mask/dist/reactTextMask.js"); 129/* harmony import */ var react_text_mask__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(react_text_mask__WEBPACK_IMPORTED_MODULE_15__); 130/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); 131/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_16__); 132/* harmony import */ var lodash_toNumber__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! lodash/toNumber */ "./node_modules/lodash/toNumber.js"); 133/* harmony import */ var lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(lodash_toNumber__WEBPACK_IMPORTED_MODULE_17__); 134/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! formik */ "./node_modules/formik/dist/formik.esm.js"); 135/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); 136/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_19__); 137 138 139 140 141 142 143 144 145 146 147 148 149function _extends() { _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; }; return _extends.apply(this, arguments); } 150 151function _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; } 152 153function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 154 155function _nonIterableRest() { throw new TypeError("Invalid attempt to de
155structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 156 157function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 158 159function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 160 161function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 162 163function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 164 165/** 166 * Donation Form 167 */ 168 169 170 171 172 173 174 175 176 // import { useSpring, animated } from '@react-spring/web'; 177 178/* eslint-disable jsx-a11y/label-has-for */ 179 180/* global window */ 181 182var DonationForm = function DonationForm(_ref) { 183 var _ref2; 184 185 var buttonText = _ref.buttonText, 186 classyFormUrl = _ref.classyFormUrl, 187 donationType = _ref.donationType, 188 entityId = _ref.entityId, 189 monthlyValues = _ref.monthlyValues, 190 oneTimeValues = _ref.oneTimeValues; 191 var ref = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_16__["createRef"])(); 192 var numberMask = text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13___default()({ 193 prefix: '$ ', 194 suffix: '' 195 }); 196 197 var getClassyUrl = function getClassyUrl(unformatted, amount, recurring) { 198 var url = classyFormUrl.replace('#!/donation/checkout', ''); 199 var parsed = new URL(url); 200 var connector = parsed.search ? '&' : '?'; 201 return "".concat(url).concat(connector, "amount=").concat(amount, "&recurring=").concat(recurring).replace('?', '#!/donation/checkout?'); 202 }; 203 204 var defaultDonationType = donationType; 205 206 if (defaultDonationType === 'monthly') { 207 defaultDonationType = monthlyValues.length ? 'monthly' : 'onetime'; 208 } else { 209 defaultDonationType = oneTimeValues.length ? 'onetime' : 'monthly'; 210 } 211 212 var initialMonthly; 213 var initialOneTime; 214 215 if (monthlyValues.length > 1) { 216 initialMonthly = monthlyValues[monthlyValues.length - 2]; 217 } else if (monthlyValues.length > 0) { 218 var _monthlyValues = _slicedToArray(monthlyValues, 1); 219 220 initialMonthly = _monthlyValues[0]; 221 } 222 223 if (oneTimeValues.length > 1) { 224 initialOneTime = oneTimeValues[oneTimeValues.length - 2]; 225 } else if (oneTimeValues.length > 0) { 226 var _oneTimeValues = _slicedToArray(oneTimeValues, 1); 227 228 initialOneTime = _oneTimeValues[0]; 229 } 230 231 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Formik"], { 232 initialValues: (_ref2 = {}, _defineProperty(_ref2, "donation-type-".concat(entityId), defaultDonationType), _defineProperty(_ref2, "other-monthly-".concat(entityId), ''), _defineProperty(_ref2, "other-one-time-".concat(entityId), ''), _defineProperty(_ref2, "monthly-donation-amount-".concat(entityId), initialMonthly), _defineProperty(_ref2, "one-time-donation-amount-".concat(entityId), initialOneTime), _ref2), 233 onSubmit: function onSubmit(values) { 234 switch (values["donation-type-".concat(entityId)]) { 235 case 'monthly': 236 { 237 var amount = values["monthly-donation-amount-".concat(entityId)]; 238 var other = values["other-monthly-".concat(entityId)]; 239 if (amount === 'other') amount = other.replace(/\D/g, ''); 240 amount = lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default()(amount); 241 242 if (amount > 0) { 243 window.location.href = getClassyUrl(classyFormUrl, amount, 1); 244 } 245 246 break; 247 } 248 249 case 'onetime': 250 {
251 var _amount = values["one-time-donation-amount-".concat(entityId)]; 252 var _other = values["other-one-time-".concat(entityId)]; 253 if (_amount === 'other') _amount = _other.replace(/\D/g, ''); 254 _amount = lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default()(_amount); 255 256 if (_amount > 0) { 257 window.location.href = getClassyUrl(classyFormUrl, _amount, 0); 258 } 259 260 break; 261 } 262 263 default: 264 break; 265 } 266 } 267 }, function (_ref3) { 268 var values = _ref3.values, 269 setStatus = _ref3.setStatus, 270 status = _ref3.status; 271 var type = values["donation-type-".concat(entityId)].replace('onetime', 'one-time'); 272 var amount = values["".concat(type, "-donation-amount-").concat(entityId)]; 273 var combined = "".concat(type, "-").concat(amount); // If the donation amount and/or type has changed and "other" is not 274 // the selected amount (since you couldn't immediately submit without 275 // entering a value) then we'll animate the button. 276 277 if (status !== combined && amount !== 'other') { 278 setStatus(combined); 279 var current = ref.current; 280 281 if (current) { 282 current.classList.remove('is-animating'); 283 current.classList.add('is-animating'); 284 setTimeout(function () { 285 return current.classList.remove('is-animating'); 286 }, 500); 287 } 288 } 289 290 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Form"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 291 className: "sr-only", 292 id: "donation-type-label-".concat(entityId) 293 }, "Select type of donation"), oneTimeValues.length && monthlyValues.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 294 role: "group", 295 "aria-labelledby": "donation-type-label-".concat(entityId) 296 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 297 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 298 'is-active': values["donation-type-".concat(entityId)] === 'monthly', 299 'donation-type-label': true 300 }), 301 htmlFor: "donation-type-monthly-".concat(entityId) 302 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 303 id: "donation-type-monthly-".concat(entityId), 304 name: "donation-type-".concat(entityId), 305 type: "radio", 306 value: "monthly" 307 }), "Monthly"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 308 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 309 'is-active': values["donation-type-".concat(entityId)] === 'onetime', 310 'donation-type-label': true 311 }), 312 htmlFor: "donation-type-one-time-".concat(entityId) 313 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 314 id: "donation-type-one-time-".concat(entityId), 315 name: "donation-type-".concat(entityId), 316 type: "radio", 317 value: "onetime" 318 }), "One-Time")) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", null, values["donation-type-".concat(entityId)] === 'monthly' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16__["Fragment"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 319 className: "sr-only", 320 id: "donation-monthly-label-".concat(entityId) 321 }, "Make a monthly donation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 322 role: "group", 323 "aria-labelledby": "donation-monthly-label-".concat(entityId) 324 }, lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default()(function (amount) { 325 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 326 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 327 'is-active': amount === values["monthly-donation-amount-".concat(entityId)], 328 'monthly-donation-amount-label': true 329 }), 330 key: "monthly-donation-amount-".concat(amount, "-").concat(entityId), 331 htmlFor: "monthly-donation-amount-".concat(amount, "-").concat(entityId) 332 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 333 id: "monthly-donation-amount-".concat(amount, "-").concat(entityId), 334 name: "monthly-donation-amount-".concat(entityId), 335 type: "radio", 336 value: amount 337 }), new Intl.NumberFormat('en-US', { 338 style: 'currency', 339 currency: 'USD', 340 minimumFractionDigits: 0 341 }).format(amount)); 342 }, lodash_compact__WEBPACK_IMPORTED_MODULE_12___default()(monthlyValues)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 343 key: "monthly-donation-amount-other-".concat(entityId), 344 htmlFor: "monthly-donation-amount-other-".concat(entityId), 345 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 346 'is-active': values["monthly-donation-amount-".concat(entityId)] === 'other', 347 'monthly-donation-amount-label': true 348 }) 349 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 350 id: "monthly-donation-amount-other-".concat(entityId), 351 type: "radio", 352 name: "monthly-donation-amount-".concat(entityId), 353 value: "other" 354 }), values["monthly-donation-amount-".concat(entityId)] === 'other' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 355 name: "other-monthly-".concat(entityId), 356 render: function render(_ref4) { 357 var field = _ref4.field; 358 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_15___default.a, _extends({ 359 autoFocus: true, 360 mask: numberMask,
361 placeholder: "$0" 362 }, field)); 363 } 364 }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("span", null, "Other")))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16__["Fragment"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 365 className: "sr-only", 366 id: "donation-one-time-label-".concat(entityId) 367 }, "Make a one-time donation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", { 368 role: "group", 369 "aria-labelledby": "donation-one-time-label-".concat(entityId) 370 }, lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default()(function (amount) { 371 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 372 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 373 'is-active': amount === values["one-time-donation-amount-".concat(entityId)], 374 'one-time-donation-amount-label': true 375 }), 376 key: "one-time-donation-amount-".concat(amount, "-").concat(entityId), 377 htmlFor: "one-time-donation-amount-".concat(amount, "-").concat(entityId) 378 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 379 id: "one-time-donation-amount-".concat(amount, "-").concat(entityId), 380 name: "one-time-donation-amount-".concat(entityId), 381 type: "radio", 382 value: amount 383 }), new Intl.NumberFormat('en-US', { 384 style: 'currency', 385 currency: 'USD', 386 minimumFractionDigits: 0 387 }).format(amount)); 388 }, lodash_compact__WEBPACK_IMPORTED_MODULE_12___default()(oneTimeValues)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", { 389 className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({ 390 'is-active': values["one-time-donation-amount-".concat(entityId)] === 'other', 391 'one-time-donation-amount-label': true 392 }), 393 key: "one-time-donation-amount-other-".concat(entityId), 394 htmlFor: "one-time-donation-amount-other-".concat(entityId) 395 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 396 id: "one-time-donation-amount-other-".concat(entityId), 397 type: "radio", 398 name: "one-time-donation-amount-".concat(entityId), 399 value: "other" 400 }), values["one-time-donation-amount-".concat(entityId)] === 'other' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], { 401 name: "other-one-time-".concat(entityId), 402 render: function render(_ref5) { 403 var field = _ref5.field; 404 return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_15___default.a, _extends({ 405 autoFocus: true, 406 mask: numberMask, 407 placeholder: "$0" 408 }, field)); 409 } 410 }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("span", null, "Other"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("button", { 411 ref: ref, 412 type: "submit" 413 }, buttonText)); 414 })); 415}; 416 417DonationForm.propTypes = { 418 buttonText: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired, 419 classyFormUrl: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired, 420 donationType: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired, 421 entityId: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired, 422 monthlyValues: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string).isRequired, 423 oneTimeValues: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string).isRequired 424}; 425/* harmony default export */ __webpack_exports__["default"] = (DonationForm); 426 427/***/ }), 428
429/***/ "./js/donate.js": 430/*!**********************!*\ 431 !*** ./js/donate.js ***! 432 \**********************/ 433/*! no exports provided */ 434/***/ (function(module, __webpack_exports__, __webpack_require__) { 435 436"use strict"; 437__webpack_require__.r(__webpack_exports__); 438/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 439/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__); 440/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js"); 441/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1__); 442/* harmony import */ var core_js_stable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/stable */ "./node_modules/core-js/stable/index.js"); 443/* harmony import */ var core_js_stable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_stable__WEBPACK_IMPORTED_MODULE_2__); 444/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/compact */ "./node_modules/lodash/compact.js"); 445/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_compact__WEBPACK_IMPORTED_MODULE_3__); 446/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/fp/map */ "./node_modules/lodash/fp/map.js"); 447/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_map__WEBPACK_IMPORTED_MODULE_4__); 448/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); 449/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__); 450/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); 451/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__); 452/* harmony import */ var _components_DonationForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/DonationForm */ "./js/components/DonationForm.jsx"); 453 454 455 456/* global document, jQuery */ 457 // import 'regenerator-runtime/runtime'; 458 459 460 461 462 463 464 465(function () { 466 jQuery(once('friends-donate', 'body')).each(function () { 467 if (document.querySelector('.friends-donation-form')) { 468 lodash_fp_map__WEBPACK_IMPORTED_MODULE_4___default()(function (form) { 469 var buttonText = form.getAttribute('data-button-text'); 470 var classyFormUrl = form.getAttribute('data-classy-form-url'); 471 var donationType = form.getAttribute('data-default-type'); 472 var entityId = form.getAttribute('data-entity-id'); 473 var monthlyValues = lodash_compact__WEBPACK_IMPORTED_MODULE_3___default()(form.getAttribute('data-monthly-values').split(';')); 474 var oneTimeValues = lodash_compact__WEBPACK_IMPORTED_MODULE_3___default()(form.getAttribute('data-one-time-values').split(';')); 475 /* eslint-disable react/jsx-filename-extension */ 476 477 Object(react_dom__WEBPACK_IMPORTED_MODULE_6__["render"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_components_DonationForm__WEBPACK_IMPORTED_MODULE_7__["default"], { 478 buttonText: buttonText, 479 classyFormUrl: classyFormUrl, 480 donationType: donationType, 481 entityId: entityId, 482 monthlyValues: monthlyValues, 483 oneTimeValues: oneTimeValues 484 }), form); 485 }, document.querySelectorAll('.friends-donation-form')); 486 } 487 }); 488})(); 489 490/***/ }), 491
vendor: 1,462 bytes, lines 492-554
492/***/ "./node_modules/classnames/index.js": 493/*!******************************************!*\ 494 !*** ./node_modules/classnames/index.js ***! 495 \******************************************/ 496/*! no static exports found */ 497/***/ (function(module, exports, __webpack_require__) { 498 499/*! 500 Copyright (c) 2017 Jed Watson. 501 Licensed under the MIT License (MIT), see 502 http://jedwatson.github.io/classnames 503*/ 504/* global define */ 505 506(function () { 507 'use strict'; 508 509 var hasOwn = {}.hasOwnProperty; 510 511 function classNames () { 512 var classes = []; 513 514 for (var i = 0; i < arguments.length; i++) { 515 var arg = arguments[i]; 516 if (!arg) continue; 517 518 var argType = typeof arg; 519 520 if (argType === 'string' || argType === 'number') { 521 classes.push(arg); 522 } else if (Array.isArray(arg) && arg.length) { 523 var inner = classNames.apply(null, arg); 524 if (inner) { 525 classes.push(inner); 526 } 527 } else if (argType === 'object') { 528 for (var key in arg) { 529 if (hasOwn.call(arg, key) && arg[key]) { 530 classes.push(key); 531 } 532 } 533 } 534 } 535 536 return classes.join(' '); 537 } 538 539 if ( true && module.exports) { 540 classNames.default = classNames; 541 module.exports = classNames; 542 } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { 543 // register as 'classnames', consistent with npm package name 544 define('classnames', [], function () { 545 return classNames; 546 }); 547 } else { 548 window.classNames = classNames; 549 } 550}()); 551 552 553/***/ }), 554
vendor: 24,813 bytes, lines 555-779
555/***/ "./node_modules/core-js/es/index.js": 556/*!******************************************!*\ 557 !*** ./node_modules/core-js/es/index.js ***! 558 \******************************************/ 559/*! no static exports found */ 560/***/ (function(module, exports, __webpack_require__) { 561 562__webpack_require__(/*! ../modules/es.symbol */ "./node_modules/core-js/modules/es.symbol.js"); 563__webpack_require__(/*! ../modules/es.symbol.async-iterator */ "./node_modules/core-js/modules/es.symbol.async-iterator.js"); 564__webpack_require__(/*! ../modules/es.symbol.description */ "./node_modules/core-js/modules/es.symbol.description.js"); 565__webpack_require__(/*! ../modules/es.symbol.has-instance */ "./node_modules/core-js/modules/es.symbol.has-instance.js"); 566__webpack_require__(/*! ../modules/es.symbol.is-concat-spreadable */ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js"); 567__webpack_require__(/*! ../modules/es.symbol.iterator */ "./node_modules/core-js/modules/es.symbol.iterator.js"); 568__webpack_require__(/*! ../modules/es.symbol.match */ "./node_modules/core-js/modules/es.symbol.match.js"); 569__webpack_require__(/*! ../modules/es.symbol.match-all */ "./node_modules/core-js/modules/es.symbol.match-all.js"); 570__webpack_require__(/*! ../modules/es.symbol.replace */ "./node_modules/core-js/modules/es.symbol.replace.js"); 571__webpack_require__(/*! ../modules/es.symbol.search */ "./node_modules/core-js/modules/es.symbol.search.js"); 572__webpack_require__(/*! ../modules/es.symbol.species */ "./node_modules/core-js/modules/es.symbol.species.js"); 573__webpack_require__(/*! ../modules/es.symbol.split */ "./node_modules/core-js/modules/es.symbol.split.js"); 574__webpack_require__(/*! ../modules/es.symbol.to-primitive */ "./node_modules/core-js/modules/es.symbol.to-primitive.js"); 575__webpack_require__(/*! ../modules/es.symbol.to-string-tag */ "./node_modules/core-js/modules/es.symbol.to-string-tag.js"); 576__webpack_require__(/*! ../modules/es.symbol.unscopables */ "./node_modules/core-js/modules/es.symbol.unscopables.js"); 577__webpack_require__(/*! ../modules/es.aggregate-error */ "./node_modules/core-js/modules/es.aggregate-error.js"); 578__webpack_require__(/*! ../modules/es.array.from */ "./node_modules/core-js/modules/es.array.from.js"); 579__webpack_require__(/*! ../modules/es.array.is-array */ "./node_modules/core-js/modules/es.array.is-array.js"); 580__webpack_require__(/*! ../modules/es.array.of */ "./node_modules/core-js/modules/es.array.of.js"); 581__webpack_require__(/*! ../modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js"); 582__webpack_require__(/*! ../modules/es.array.copy-within */ "./node_modules/core-js/modules/es.array.copy-within.js"); 583__webpack_require__(/*! ../modules/es.array.every */ "./node_modules/core-js/modules/es.array.every.js"); 584__webpack_require__(/*! ../modules/es.array.fill */ "./node_modules/core-js/modules/es.array.fill.js"); 585__webpack_require__(/*! ../modules/es.array.filter */ "./node_modules/core-js/modules/es.array.filter.js"); 586__webpack_require__(/*! ../modules/es.array.find */ "./node_modules/core-js/modules/es.array.find.js"); 587__webpack_require__(/*! ../modules/es.array.find-index */ "./node_modules/core-js/modules/es.array.find-index.js"); 588__webpack_require__(/*! ../modules/es.array.flat */ "./node_modules/core-js/modules/es.array.flat.js"); 589__webpack_require__(/*! ../modules/es.array.flat-map */ "./node_modules/core-js/modules/es.array.flat-map.js"); 590__webpack_require__(/*! ../modules/es.array.for-each */ "./node_modules/core-js/modules/es.array.for-each.js"); 591__webpack_require__(/*! ../modules/es.array.includes */ "./node_modules/core-js/modules/es.array.includes.js"); 592__webpack_require__(/*! ../modules/es.array.index-of */ "./node_modules/core-js/modules/es.array.index-of.js"); 593__webpack_require__(/*! ../modules/es.array.join */ "./node_modules/core-js/modules/es.array.join.js"); 594__webpack_require__(/*! ../modules/es.array.last-index-of */ "./node_modules/core-js/modules/es.array.last-index-of.js"); 595__webpack_require__(/*! ../modules/es.array.map */ "./node_modules/core-js/modules/es.array.map.js"); 596__webpack_require__(/*! ../modules/es.array.reduce */ "./node_modules/core-js/modules/es.array.reduce.js"); 597__webpack_require__(/*! ../modules/es.array.reduce-right */ "./node_modules/core-js/modules/es.array.reduce-right.js"); 598__webpack_require__(/*! ../modules/es.array.reverse */ "./node_modules/core-js/modules/es.array.reverse.js"); 599__webpack_require__(/*! ../modules/es.array.slice */ "./node_modules/core-js/modules/es.array.slice.js"); 600__webpack_require__(/*! ../modules/es.array.some */ "./node_modules/core-js/modules/es.array.some.js"); 601__webpack_require__(/*! ../modules/es.array.sort */ "./node_modules/core-js/modules/es.array.sort.js"); 602__webpack_require__(/*! ../modules/es.array.splice */ "./node_modules/core-js/modules/es.array.splice.js"); 603__webpack_require__(/*! ../modules/es.array.species */ "./node_modules/core-js/modules/es.array.species.js"); 604__webpack_require__(/*! ../modules/es.array.unscopables.flat */ "./node_modules/core-js/modules/es.array.unscopables.flat.js"); 605__webpack_require__(/*! ../modules/es.array.unscopables.flat-map */ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js"); 606__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); 607__webpack_require__(/*! ../modules/es.function.bind */ "./node_modules/core-js/modules/es.function.bind.js"); 608__webpack_require__(/*! ../modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js"); 609__webpack_require__(/*! ../modules/es.function.has-instance */ "./node_modules/core-js/modules/es.function.has-instance.js"); 610__webpack_require__(/*! ../modules/es.global-this */ "./node_modules/core-js/modules/es.global-this.js"); 611__webpack_require__(/*! ../modules/es.object.assign */ "./node_modules/core-js/modules/es.object.assign.js"); 612__webpack_require__(/*! ../modules/es.object.create */ "./node_modules/core-js/modules/es.object.create.js"); 613__webpack_require__(/*! ../modules/es.object.define-property */ "./node_modules/core-js/modules/es.object.define-property.js"); 614__webpack_require__(/*! ../modules/es.object.define-properties */ "./node_modules/core-js/modules/es.object.define-properties.js"); 615__webpack_require__(/*! ../modules/es.object.entries */ "./node_modules/core-js/modules/es.object.entries.js"); 616__webpack_require__(/*! ../modules/es.object.freeze */ "./node_modules/core-js/modules/es.object.freeze.js"); 617__webpack_require__(/*! ../modules/es.object.from-entries */ "./node_modules/core-js/modules/es.object.from-entries.js"); 618__webpack_require__(/*! ../modules/es.object.get-own-property-descriptor */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js"); 619__webpack_require__(/*! ../modules/es.object.get-own-property-descriptors */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js"); 620__webpack_require__(/*! ../modules/es.object.get-own-property-names */ "./node_modules/core-js/modules/es.object.get-own-property-names.js"); 621__webpack_require__(/*! ../modules/es.object.get-prototype-of */ "./node_modules/core-js/modules/es.object.get-prototype-of.js"); 622__webpack_require__(/*! ../modules/es.object.is */ "./node_modules/core-js/modules/es.object.is.js"); 623__webpack_require__(/*! ../modules/es.object.is-extensible */ "./node_modules/core-js/modules/es.object.is-extensible.js"); 624__webpack_require__(/*! ../modules/es.object.is-frozen */ "./node_modules/core-js/modules/es.object.is-frozen.js"); 625__webpack_require__(/*! ../modules/es.object.is-sealed */ "./node_modules/core-js/modules/es.object.is-sealed.js"); 626__webpack_require__(/*! ../modules/es.object.keys */ "./node_modules/core-js/modules/es.object.keys.js"); 627__webpack_require__(/*! ../modules/es.object.prevent-extensions */ "./node_modules/core-js/modules/es.object.prevent-extensions.js"); 628__webpack_require__(/*! ../modules/es.object.seal */ "./node_modules/core-js/modules/es.object.seal.js"); 629__webpack_require__(/*! ../modules/es.object.set-prototype-of */ "./node_modules/core-js/modules/es.object.set-prototype-of.js"); 630__webpack_require__(/*! ../modules/es.object.values */ "./node_modules/core-js/modules/es.object.values.js"); 631__webpack_require__(/*! ../modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js"); 632__webpack_require__(/*! ../modules/es.object.define-getter */ "./node_modules/core-js/modules/es.object.define-getter.js"); 633__webpack_require__(/*! ../modules/es.object.define-setter */ "./node_modules/core-js/modules/es.object.define-setter.js"); 634__webpack_require__(/*! ../modules/es.object.lookup-getter */ "./node_modules/core-js/modules/es.object.lookup-getter.js"); 635__webpack_require__(/*! ../modules/es.object.lookup-setter */ "./node_modules/core-js/modules/es.object.lookup-setter.js"); 636__webpack_require__(/*! ../modules/es.string.from-code-point */ "./node_modules/core-js/modules/es.string.from-code-point.js"); 637__webpack_require__(/*! ../modules/es.string.raw */ "./node_modules/core-js/modules/es.string.raw.js"); 638__webpack_require__(/*! ../modules/es.string.code-point-at */ "./node_modules/core-js/modules/es.string.code-point-at.js"); 639__webpack_require__(/*! ../modules/es.string.ends-with */ "./node_modules/core-js/modules/es.string.ends-with.js"); 640__webpack_require__(/*! ../modules/es.string.includes */ "./node_modules/core-js/modules/es.string.includes.js"); 641__webpack_require__(/*! ../modules/es.string.match */ "./node_modules/core-js/modules/es.string.match.js"); 642__webpack_require__(/*! ../modules/es.string.match-all */ "./node_modules/core-js/modules/es.string.match-all.js"); 643__webpack_require__(/*! ../modules/es.string.pad-end */ "./node_modules/core-js/modules/es.string.pad-end.js"); 644__webpack_require__(/*! ../modules/es.string.pad-start */ "./node_modules/core-js/modules/es.string.pad-start.js"); 645__webpack_require__(/*! ../modules/es.string.repeat */ "./node_modules/core-js/modules/es.string.repeat.js"); 646__webpack_require__(/*! ../modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js"); 647__webpack_require__(/*! ../modules/es.string.search */ "./node_modules/core-js/modules/es.string.search.js"); 648__webpack_require__(/*! ../modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js"); 649__webpack_require__(/*! ../modules/es.string.starts-with */ "./node_modules/core-js/modules/es.string.starts-with.js"); 650__webpack_require__(/*! ../modules/es.string.trim */ "./node_modules/core-js/modules/es.string.trim.js"); 651__webpack_require__(/*! ../modules/es.string.trim-start */ "./node_modules/core-js/modules/es.string.trim-start.js"); 652__webpack_require__(/*! ../modules/es.string.trim-end */ "./node_modules/core-js/modules/es.string.trim-end.js"); 653__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js"); 654__webpack_require__(/*! ../modules/es.string.anchor */ "./node_modules/core-js/modules/es.string.anchor.js"); 655__webpack_require__(/*! ../modules/es.string.big */ "./node_modules/core-js/modules/es.string.big.js"); 656__webpack_require__(/*! ../modules/es.string.blink */ "./node_modules/core-js/modules/es.string.blink.js"); 657__webpack_require__(/*! ../modules/es.string.bold */ "./node_modules/core-js/modules/es.string.bold.js"); 658__webpack_require__(/*! ../modules/es.string.fixed */ "./node_modules/core-js/modules/es.string.fixed.js"); 659__webpack_require__(/*! ../modules/es.string.fontcolor */ "./node_modules/core-js/modules/es.string.fontcolor.js"); 660__webpack_require__(/*! ../modules/es.string.fontsize */ "./node_modules/core-js/modules/es.string.fontsize.js"); 661__webpack_require__(/*! ../modules/es.string.italics */ "./node_modules/core-js/modules/es.string.italics.js"); 662__webpack_require__(/*! ../modules/es.string.link */ "./node_modules/core-js/modules/es.string.link.js"); 663__webpack_require__(/*! ../modules/es.string.small */ "./node_modules/core-js/modules/es.string.small.js"); 664__webpack_require__(/*! ../modules/es.string.strike */ "./node_modules/core-js/modules/es.string.strike.js"); 665__webpack_require__(/*! ../modules/es.string.sub */ "./node_modules/core-js/modules/es.string.sub.js"); 666__webpack_require__(/*! ../modules/es.string.sup */ "./node_modules/core-js/modules/es.string.sup.js"); 667__webpack_require__(/*! ../modules/es.string.replace-all */ "./node_modules/core-js/modules/es.string.replace-all.js"); 668__webpack_require__(/*! ../modules/es.regexp.constructor */ "./node_modules/core-js/modules/es.regexp.constructor.js"); 669__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 670__webpack_require__(/*! ../modules/es.regexp.flags */ "./node_modules/core-js/modules/es.regexp.flags.js"); 671__webpack_require__(/*! ../modules/es.regexp.sticky */ "./node_modules/core-js/modules/es.regexp.sticky.js"); 672__webpack_require__(/*! ../modules/es.regexp.test */ "./node_modules/core-js/modules/es.regexp.test.js"); 673__webpack_require__(/*! ../modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js"); 674__webpack_require__(/*! ../modules/es.parse-int */ "./node_modules/core-js/modules/es.parse-int.js"); 675__webpack_require__(/*! ../modules/es.parse-float */ "./node_modules/core-js/modules/es.parse-float.js"); 676__webpack_require__(/*! ../modules/es.number.constructor */ "./node_modules/core-js/modules/es.number.constructor.js"); 677__webpack_require__(/*! ../modules/es.number.epsilon */ "./node_modules/core-js/modules/es.number.epsilon.js"); 678__webpack_require__(/*! ../modules/es.number.is-finite */ "./node_modules/core-js/modules/es.number.is-finite.js"); 679__webpack_require__(/*! ../modules/es.number.is-integer */ "./node_modules/core-js/modules/es.number.is-integer.js"); 680__webpack_require__(/*! ../modules/es.number.is-nan */ "./node_modules/core-js/modules/es.number.is-nan.js"); 681__webpack_require__(/*! ../modules/es.number.is-safe-integer */ "./node_modules/core-js/modules/es.number.is-safe-integer.js"); 682__webpack_require__(/*! ../modules/es.number.max-safe-integer */ "./node_modules/core-js/modules/es.number.max-safe-integer.js"); 683__webpack_require__(/*! ../modules/es.number.min-safe-integer */ "./node_modules/core-js/modules/es.number.min-safe-integer.js"); 684__webpack_require__(/*! ../modules/es.number.parse-float */ "./node_modules/core-js/modules/es.number.parse-float.js"); 685__webpack_require__(/*! ../modules/es.number.parse-int */ "./node_modules/core-js/modules/es.number.parse-int.js"); 686__webpack_require__(/*! ../modules/es.number.to-fixed */ "./node_modules/core-js/modules/es.number.to-fixed.js"); 687__webpack_require__(/*! ../modules/es.number.to-precision */ "./node_modules/core-js/modules/es.number.to-precision.js"); 688__webpack_require__(/*! ../modules/es.math.acosh */ "./node_modules/core-js/modules/es.math.acosh.js"); 689__webpack_require__(/*! ../modules/es.math.asinh */ "./node_modules/core-js/modules/es.math.asinh.js"); 690__webpack_require__(/*! ../modules/es.math.atanh */ "./node_modules/core-js/modules/es.math.atanh.js"); 691__webpack_require__(/*! ../modules/es.math.cbrt */ "./node_modules/core-js/modules/es.math.cbrt.js"); 692__webpack_require__(/*! ../modules/es.math.clz32 */ "./node_modules/core-js/modules/es.math.clz32.js"); 693__webpack_require__(/*! ../modules/es.math.cosh */ "./node_modules/core-js/modules/es.math.cosh.js"); 694__webpack_require__(/*! ../modules/es.math.expm1 */ "./node_modules/core-js/modules/es.math.expm1.js"); 695__webpack_require__(/*! ../modules/es.math.fround */ "./node_modules/core-js/modules/es.math.fround.js"); 696__webpack_require__(/*! ../modules/es.math.hypot */ "./node_modules/core-js/modules/es.math.hypot.js"); 697__webpack_require__(/*! ../modules/es.math.imul */ "./node_modules/core-js/modules/es.math.imul.js"); 698__webpack_require__(/*! ../modules/es.math.log10 */ "./node_modules/core-js/modules/es.math.log10.js"); 699__webpack_require__(/*! ../modules/es.math.log1p */ "./node_modules/core-js/modules/es.math.log1p.js"); 700__webpack_require__(/*! ../modules/es.math.log2 */ "./node_modules/core-js/modules/es.math.log2.js"); 701__webpack_require__(/*! ../modules/es.math.sign */ "./node_modules/core-js/modules/es.math.sign.js"); 702__webpack_require__(/*! ../modules/es.math.sinh */ "./node_modules/core-js/modules/es.math.sinh.js"); 703__webpack_require__(/*! ../modules/es.math.tanh */ "./node_modules/core-js/modules/es.math.tanh.js"); 704__webpack_require__(/*! ../modules/es.math.to-string-tag */ "./node_modules/core-js/modules/es.math.to-string-tag.js"); 705__webpack_require__(/*! ../modules/es.math.trunc */ "./node_modules/core-js/modules/es.math.trunc.js"); 706__webpack_require__(/*! ../modules/es.date.now */ "./node_modules/core-js/modules/es.date.now.js"); 707__webpack_require__(/*! ../modules/es.date.to-json */ "./node_modules/core-js/modules/es.date.to-json.js"); 708__webpack_require__(/*! ../modules/es.date.to-iso-string */ "./node_modules/core-js/modules/es.date.to-iso-string.js"); 709__webpack_require__(/*! ../modules/es.date.to-string */ "./node_modules/core-js/modules/es.date.to-string.js"); 710__webpack_require__(/*! ../modules/es.date.to-primitive */ "./node_modules/core-js/modules/es.date.to-primitive.js"); 711__webpack_require__(/*! ../modules/es.json.stringify */ "./node_modules/core-js/modules/es.json.stringify.js"); 712__webpack_require__(/*! ../modules/es.json.to-string-tag */ "./node_modules/core-js/modules/es.json.to-string-tag.js"); 713__webpack_require__(/*! ../modules/es.promise */ "./node_modules/core-js/modules/es.promise.js"); 714__webpack_require__(/*! ../modules/es.promise.all-settled */ "./node_modules/core-js/modules/es.promise.all-settled.js"); 715__webpack_require__(/*! ../modules/es.promise.any */ "./node_modules/core-js/modules/es.promise.any.js"); 716__webpack_require__(/*! ../modules/es.promise.finally */ "./node_modules/core-js/modules/es.promise.finally.js"); 717__webpack_require__(/*! ../modules/es.map */ "./node_modules/core-js/modules/es.map.js"); 718__webpack_require__(/*! ../modules/es.set */ "./node_modules/core-js/modules/es.set.js"); 719__webpack_require__(/*! ../modules/es.weak-map */ "./node_modules/core-js/modules/es.weak-map.js"); 720__webpack_require__(/*! ../modules/es.weak-set */ "./node_modules/core-js/modules/es.weak-set.js"); 721__webpack_require__(/*! ../modules/es.array-buffer.constructor */ "./node_modules/core-js/modules/es.array-buffer.constructor.js"); 722__webpack_require__(/*! ../modules/es.array-buffer.is-view */ "./node_modules/core-js/modules/es.array-buffer.is-view.js"); 723__webpack_require__(/*! ../modules/es.array-buffer.slice */ "./node_modules/core-js/modules/es.array-buffer.slice.js"); 724__webpack_require__(/*! ../modules/es.data-view */ "./node_modules/core-js/modules/es.data-view.js"); 725__webpack_require__(/*! ../modules/es.typed-array.int8-array */ "./node_modules/core-js/modules/es.typed-array.int8-array.js"); 726__webpack_require__(/*! ../modules/es.typed-array.uint8-array */ "./node_modules/core-js/modules/es.typed-array.uint8-array.js"); 727__webpack_require__(/*! ../modules/es.typed-array.uint8-clamped-array */ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js"); 728__webpack_require__(/*! ../modules/es.typed-array.int16-array */ "./node_modules/core-js/modules/es.typed-array.int16-array.js"); 729__webpack_require__(/*! ../modules/es.typed-array.uint16-array */ "./node_modules/core-js/modules/es.typed-array.uint16-array.js"); 730__webpack_require__(/*! ../modules/es.typed-array.int32-array */ "./node_modules/core-js/modules/es.typed-array.int32-array.js"); 731__webpack_require__(/*! ../modules/es.typed-array.uint32-array */ "./node_modules/core-js/modules/es.typed-array.uint32-array.js"); 732__webpack_require__(/*! ../modules/es.typed-array.float32-array */ "./node_modules/core-js/modules/es.typed-array.float32-array.js"); 733__webpack_require__(/*! ../modules/es.typed-array.float64-array */ "./node_modules/core-js/modules/es.typed-array.float64-array.js"); 734__webpack_require__(/*! ../modules/es.typed-array.from */ "./node_modules/core-js/modules/es.typed-array.from.js"); 735__webpack_require__(/*! ../modules/es.typed-array.of */ "./node_modules/core-js/modules/es.typed-array.of.js"); 736__webpack_require__(/*! ../modules/es.typed-array.copy-within */ "./node_modules/core-js/modules/es.typed-array.copy-within.js"); 737__webpack_require__(/*! ../modules/es.typed-array.every */ "./node_modules/core-js/modules/es.typed-array.every.js"); 738__webpack_require__(/*! ../modules/es.typed-array.fill */ "./node_modules/core-js/modules/es.typed-array.fill.js"); 739__webpack_require__(/*! ../modules/es.typed-array.filter */ "./node_modules/core-js/modules/es.typed-array.filter.js"); 740__webpack_require__(/*! ../modules/es.typed-array.find */ "./node_modules/core-js/modules/es.typed-array.find.js"); 741__webpack_require__(/*! ../modules/es.typed-array.find-index */ "./node_modules/core-js/modules/es.typed-array.find-index.js"); 742__webpack_require__(/*! ../modules/es.typed-array.for-each */ "./node_modules/core-js/modules/es.typed-array.for-each.js"); 743__webpack_require__(/*! ../modules/es.typed-array.includes */ "./node_modules/core-js/modules/es.typed-array.includes.js"); 744__webpack_require__(/*! ../modules/es.typed-array.index-of */ "./node_modules/core-js/modules/es.typed-array.index-of.js"); 745__webpack_require__(/*! ../modules/es.typed-array.iterator */ "./node_modules/core-js/modules/es.typed-array.iterator.js"); 746__webpack_require__(/*! ../modules/es.typed-array.join */ "./node_modules/core-js/modules/es.typed-array.join.js"); 747__webpack_require__(/*! ../modules/es.typed-array.last-index-of */ "./node_modules/core-js/modules/es.typed-array.last-index-of.js"); 748__webpack_require__(/*! ../modules/es.typed-array.map */ "./node_modules/core-js/modules/es.typed-array.map.js"); 749__webpack_require__(/*! ../modules/es.typed-array.reduce */ "./node_modules/core-js/modules/es.typed-array.reduce.js"); 750__webpack_require__(/*! ../modules/es.typed-array.reduce-right */ "./node_modules/core-js/modules/es.typed-array.reduce-right.js"); 751__webpack_require__(/*! ../modules/es.typed-array.reverse */ "./node_modules/core-js/modules/es.typed-array.reverse.js"); 752__webpack_require__(/*! ../modules/es.typed-array.set */ "./node_modules/core-js/modules/es.typed-array.set.js"); 753__webpack_require__(/*! ../modules/es.typed-array.slice */ "./node_modules/core-js/modules/es.typed-array.slice.js"); 754__webpack_require__(/*! ../modules/es.typed-array.some */ "./node_modules/core-js/modules/es.typed-array.some.js"); 755__webpack_require__(/*! ../modules/es.typed-array.sort */ "./node_modules/core-js/modules/es.typed-array.sort.js"); 756__webpack_require__(/*! ../modules/es.typed-array.subarray */ "./node_modules/core-js/modules/es.typed-array.subarray.js"); 757__webpack_require__(/*! ../modules/es.typed-array.to-locale-string */ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js"); 758__webpack_require__(/*! ../modules/es.typed-array.to-string */ "./node_modules/core-js/modules/es.typed-array.to-string.js"); 759__webpack_require__(/*! ../modules/es.reflect.apply */ "./node_modules/core-js/modules/es.reflect.apply.js"); 760__webpack_require__(/*! ../modules/es.reflect.construct */ "./node_modules/core-js/modules/es.reflect.construct.js"); 761__webpack_require__(/*! ../modules/es.reflect.define-property */ "./node_modules/core-js/modules/es.reflect.define-property.js"); 762__webpack_require__(/*! ../modules/es.reflect.delete-property */ "./node_modules/core-js/modules/es.reflect.delete-property.js"); 763__webpack_require__(/*! ../modules/es.reflect.get */ "./node_modules/core-js/modules/es.reflect.get.js"); 764__webpack_require__(/*! ../modules/es.reflect.get-own-property-descriptor */ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js"); 765__webpack_require__(/*! ../modules/es.reflect.get-prototype-of */ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js"); 766__webpack_require__(/*! ../modules/es.reflect.has */ "./node_modules/core-js/modules/es.reflect.has.js"); 767__webpack_require__(/*! ../modules/es.reflect.is-extensible */ "./node_modules/core-js/modules/es.reflect.is-extensible.js"); 768__webpack_require__(/*! ../modules/es.reflect.own-keys */ "./node_modules/core-js/modules/es.reflect.own-keys.js"); 769__webpack_require__(/*! ../modules/es.reflect.prevent-extensions */ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js"); 770__webpack_require__(/*! ../modules/es.reflect.set */ "./node_modules/core-js/modules/es.reflect.set.js"); 771__webpack_require__(/*! ../modules/es.reflect.set-prototype-of */ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js"); 772__webpack_require__(/*! ../modules/es.reflect.to-string-tag */ "./node_modules/core-js/modules/es.reflect.to-string-tag.js"); 773var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); 774 775module.exports = path; 776 777 778/***/ }), 779
vendor: 455 bytes, lines 780-795
780/***/ "./node_modules/core-js/internals/a-function.js": 781/*!******************************************************!*\ 782 !*** ./node_modules/core-js/internals/a-function.js ***! 783 \******************************************************/ 784/*! no static exports found */ 785/***/ (function(module, exports) { 786 787module.exports = function (it) { 788 if (typeof it != 'function') { 789 throw TypeError(String(it) + ' is not a function'); 790 } return it; 791}; 792 793 794/***/ }), 795
vendor: 649 bytes, lines 796-813
796/***/ "./node_modules/core-js/internals/a-possible-prototype.js": 797/*!****************************************************************!*\ 798 !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! 799 \****************************************************************/ 800/*! no static exports found */ 801/***/ (function(module, exports, __webpack_require__) { 802 803var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 804 805module.exports = function (it) { 806 if (!isObject(it) && it !== null) { 807 throw TypeError("Can't set " + String(it) + ' as a prototype'); 808 } return it; 809}; 810 811 812/***/ }), 813
vendor: 1,261 bytes, lines 814-844
814/***/ "./node_modules/core-js/internals/add-to-unscopables.js": 815/*!**************************************************************!*\ 816 !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! 817 \**************************************************************/ 818/*! no static exports found */ 819/***/ (function(module, exports, __webpack_require__) { 820 821var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 822var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 823var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 824 825var UNSCOPABLES = wellKnownSymbol('unscopables'); 826var ArrayPrototype = Array.prototype; 827 828// Array.prototype[@@unscopables] 829// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 830if (ArrayPrototype[UNSCOPABLES] == undefined) { 831 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { 832 configurable: true, 833 value: create(null) 834 }); 835} 836 837// add a key to Array.prototype[@@unscopables] 838module.exports = function (key) { 839 ArrayPrototype[UNSCOPABLES][key] = true; 840}; 841 842 843/***/ }), 844
vendor: 736 bytes, lines 845-864
845/***/ "./node_modules/core-js/internals/advance-string-index.js": 846/*!****************************************************************!*\ 847 !*** ./node_modules/core-js/internals/advance-string-index.js ***! 848 \****************************************************************/ 849/*! no static exports found */ 850/***/ (function(module, exports, __webpack_require__) { 851 852"use strict"; 853 854var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; 855 856// `AdvanceStringIndex` abstract operation 857// https://tc39.github.io/ecma262/#sec-advancestringindex 858module.exports = function (S, index, unicode) { 859 return index + (unicode ? charAt(S, index).length : 1); 860}; 861 862 863/***/ }), 864
vendor: 504 bytes, lines 865-880
865/***/ "./node_modules/core-js/internals/an-instance.js": 866/*!*******************************************************!*\ 867 !*** ./node_modules/core-js/internals/an-instance.js ***! 868 \*******************************************************/ 869/*! no static exports found */ 870/***/ (function(module, exports) { 871 872module.exports = function (it, Constructor, name) { 873 if (!(it instanceof Constructor)) { 874 throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); 875 } return it; 876}; 877 878 879/***/ }), 880
vendor: 577 bytes, lines 881-898
881/***/ "./node_modules/core-js/internals/an-object.js": 882/*!*****************************************************!*\ 883 !*** ./node_modules/core-js/internals/an-object.js ***! 884 \*****************************************************/ 885/*! no static exports found */ 886/***/ (function(module, exports, __webpack_require__) { 887 888var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 889 890module.exports = function (it) { 891 if (!isObject(it)) { 892 throw TypeError(String(it) + ' is not an object'); 893 } return it; 894}; 895 896 897/***/ }), 898
vendor: 439 bytes, lines 899-910
899/***/ "./node_modules/core-js/internals/array-buffer-native.js": 900/*!***************************************************************!*\ 901 !*** ./node_modules/core-js/internals/array-buffer-native.js ***! 902 \***************************************************************/ 903/*! no static exports found */ 904/***/ (function(module, exports) { 905 906module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; 907 908 909/***/ }), 910
vendor: 7,564 bytes, lines 911-1089
911/***/ "./node_modules/core-js/internals/array-buffer-view-core.js": 912/*!******************************************************************!*\ 913 !*** ./node_modules/core-js/internals/array-buffer-view-core.js ***! 914 \******************************************************************/ 915/*! no static exports found */ 916/***/ (function(module, exports, __webpack_require__) { 917 918"use strict"; 919 920var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js"); 921var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 922var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 923var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 924var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 925var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 926var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 927var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 928var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 929var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 930var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 931var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 932var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 933 934var Int8Array = global.Int8Array; 935var Int8ArrayPrototype = Int8Array && Int8Array.prototype; 936var Uint8ClampedArray = global.Uint8ClampedArray; 937var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; 938var TypedArray = Int8Array && getPrototypeOf(Int8Array); 939var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); 940var ObjectPrototype = Object.prototype; 941var isPrototypeOf = ObjectPrototype.isPrototypeOf; 942 943var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 944var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); 945// Fixing native typed arrays in Opera Presto crashes the browser, see #595 946var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; 947var TYPED_ARRAY_TAG_REQIRED = false; 948var NAME; 949 950var TypedArrayConstructorsList = { 951 Int8Array: 1, 952 Uint8Array: 1, 953 Uint8ClampedArray: 1, 954 Int16Array: 2, 955 Uint16Array: 2, 956 Int32Array: 4, 957 Uint32Array: 4, 958 Float32Array: 4, 959 Float64Array: 8 960}; 961 962var BigIntArrayConstructorsList = { 963 BigInt64Array: 8, 964 BigUint64Array: 8 965}; 966 967var isView = function isView(it) { 968 if (!isObject(it)) return false; 969 var klass = classof(it); 970 return klass === 'DataView' 971 || has(TypedArrayConstructorsList, klass) 972 || has(BigIntArrayConstructorsList, klass); 973}; 974 975var isTypedArray = function (it) { 976 if (!isObject(it)) return false; 977 var klass = classof(it); 978 return has(TypedArrayConstructorsList, klass) 979 || has(BigIntArrayConstructorsList, klass); 980}; 981 982var aTypedArray = function (it) { 983 if (isTypedArray(it)) return it; 984 throw TypeError('Target is not a typed array'); 985}; 986 987var aTypedArrayConstructor = function (C) { 988 if (setPrototypeOf) { 989 if (isPrototypeOf.call(TypedArray, C)) return C; 990 } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { 991 var TypedArrayConstructor = global[ARRAY]; 992 if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { 993 return C; 994 } 995 } throw TypeError('Target is not a typed array constructor'); 996}; 997 998var exportTypedArrayMethod = function (KEY, property, forced) { 999 if (!DESCRIPTORS) return; 1000 if (forced) for (var ARRAY in TypedArrayConstructorsList) { 1001 var TypedArrayConstructor = global[ARRAY]; 1002 if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { 1003 delete TypedArrayConstructor.prototype[KEY]; 1004 } 1005 } 1006 if (!TypedArrayPrototype[KEY] || forced) { 1007 redefine(TypedArrayPrototype, KEY, forced ? property 1008 : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); 1009 } 1010}; 1011 1012var exportTypedArrayStaticMethod = function (KEY, property, forced) { 1013 var ARRAY, TypedArrayConstructor; 1014 if (!DESCRIPTORS) return; 1015 if (setPrototypeOf) { 1016 if (forced) for (ARRAY in TypedArrayConstructorsList) { 1017 TypedArrayConstructor = global[ARRAY]; 1018 if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { 1019 delete TypedArrayConstructor[KEY]; 1020 } 1021 } 1022 if (!TypedArray[KEY] || forced) { 1023 // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable 1024 try { 1025 return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); 1026 } catch (error) { /* empty */ } 1027 } else return; 1028 } 1029 for (ARRAY in TypedArrayConstructorsList) { 1030 TypedArrayConstructor = global[ARRAY]; 1031 if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { 1032 redefine(TypedArrayConstructor, KEY, property); 1033 } 1034 } 1035}; 1036 1037for (NAME in TypedArrayConstructorsList) { 1038 if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; 1039} 1040 1041// WebKit bug - typed arrays constructors prototype is Object.prototype 1042if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { 1043 // eslint-disable-next-line no-shadow 1044 TypedArray = function TypedArray() { 1045 throw TypeError('Incorrect invocation'); 1046 }; 1047 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 1048 if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); 1049 } 1050} 1051 1052if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { 1053 TypedArrayPrototype = TypedArray.prototype; 1054 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 1055 if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); 1056 } 1057} 1058 1059// WebKit bug - one more object in Uint8ClampedArray prototype chain 1060if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { 1061 setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); 1062} 1063 1064if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { 1065 TYPED_ARRAY_TAG_REQIRED = true; 1066 defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { 1067 return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; 1068 } }); 1069 for (NAME in TypedArrayConstructorsList) if (global[NAME]) { 1070 createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); 1071 } 1072} 1073 1074module.exports = { 1075 NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, 1076 TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, 1077 aTypedArray: aTypedArray, 1078 aTypedArrayConstructor: aTypedArrayConstructor, 1079 exportTypedArrayMethod: exportTypedArrayMethod, 1080 exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, 1081 isView: isView, 1082 isTypedArray: isTypedArray, 1083 TypedArray: TypedArray, 1084 TypedArrayPrototype: TypedArrayPrototype 1085}; 1086 1087 1088/***/ }), 1089
vendor: 10,727 bytes, lines 1090-1327
1090/***/ "./node_modules/core-js/internals/array-buffer.js": 1091/*!********************************************************!*\ 1092 !*** ./node_modules/core-js/internals/array-buffer.js ***! 1093 \********************************************************/ 1094/*! no static exports found */ 1095/***/ (function(module, exports, __webpack_require__) { 1096 1097"use strict"; 1098 1099var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1100var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 1101var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js"); 1102var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 1103var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 1104var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1105var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 1106var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 1107var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1108var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js"); 1109var IEEE754 = __webpack_require__(/*! ../internals/ieee754 */ "./node_modules/core-js/internals/ieee754.js"); 1110var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 1111var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 1112var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 1113var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 1114var arrayFill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); 1115var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 1116var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 1117 1118var getInternalState = InternalStateModule.get; 1119var setInternalState = InternalStateModule.set; 1120var ARRAY_BUFFER = 'ArrayBuffer'; 1121var DATA_VIEW = 'DataView'; 1122var PROTOTYPE = 'prototype'; 1123var WRONG_LENGTH = 'Wrong length'; 1124var WRONG_INDEX = 'Wrong index'; 1125var NativeArrayBuffer = global[ARRAY_BUFFER]; 1126var $ArrayBuffer = NativeArrayBuffer; 1127var $DataView = global[DATA_VIEW]; 1128var $DataViewPrototype = $DataView && $DataView[PROTOTYPE]; 1129var ObjectPrototype = Object.prototype; 1130var RangeError = global.RangeError; 1131 1132var packIEEE754 = IEEE754.pack; 1133var unpackIEEE754 = IEEE754.unpack; 1134 1135var packInt8 = function (number) { 1136 return [number & 0xFF]; 1137}; 1138 1139var packInt16 = function (number) { 1140 return [number & 0xFF, number >> 8 & 0xFF]; 1141}; 1142 1143var packInt32 = function (number) { 1144 return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; 1145}; 1146 1147var unpackInt32 = function (buffer) { 1148 return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; 1149}; 1150 1151var packFloat32 = function (number) { 1152 return packIEEE754(number, 23, 4); 1153}; 1154 1155var packFloat64 = function (number) { 1156 return packIEEE754(number, 52, 8); 1157}; 1158 1159var addGetter = function (Constructor, key) { 1160 defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); 1161}; 1162 1163var get = function (view, count, index, isLittleEndian) { 1164 var intIndex = toIndex(index); 1165 var store = getInternalState(view); 1166 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 1167 var bytes = getInternalState(store.buffer).bytes; 1168 var start = intIndex + store.byteOffset; 1169 var pack = bytes.slice(start, start + count); 1170 return isLittleEndian ? pack : pack.reverse(); 1171}; 1172 1173var set = function (view, count, index, conversion, value, isLittleEndian) { 1174 var intIndex = toIndex(index); 1175 var store = getInternalState(view); 1176 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 1177 var bytes = getInternalState(store.buffer).bytes; 1178 var start = intIndex + store.byteOffset; 1179 var pack = conversion(+value); 1180 for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; 1181}; 1182 1183if (!NATIVE_ARRAY_BUFFER) { 1184 $ArrayBuffer = function ArrayBuffer(length) { 1185 anInstance(this, $ArrayBuffer, ARRAY_BUFFER); 1186 var byteLength = toIndex(length); 1187 setInternalState(this, { 1188 bytes: arrayFill.call(new Array(byteLength), 0), 1189 byteLength: byteLength 1190 }); 1191 if (!DESCRIPTORS) this.byteLength = byteLength; 1192 }; 1193 1194 $DataView = function DataView(buffer, byteOffset, byteLength) { 1195 anInstance(this, $DataView, DATA_VIEW); 1196 anInstance(buffer, $ArrayBuffer, DATA_VIEW); 1197 var bufferLength = getInternalState(buffer).byteLength; 1198 var offset = toInteger(byteOffset); 1199 if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); 1200 byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); 1201 if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); 1202 setInternalState(this, { 1203 buffer: buffer, 1204 byteLength: byteLength, 1205 byteOffset: offset 1206 }); 1207 if (!DESCRIPTORS) { 1208 this.buffer = buffer; 1209 this.byteLength = byteLength; 1210 this.byteOffset = offset; 1211 } 1212 }; 1213 1214 if (DESCRIPTORS) { 1215 addGetter($ArrayBuffer, 'byteLength'); 1216 addGetter($DataView, 'buffer'); 1217 addGetter($DataView, 'byteLength'); 1218 addGetter($DataView, 'byteOffset'); 1219 } 1220 1221 redefineAll($DataView[PROTOTYPE], { 1222 getInt8: function getInt8(byteOffset) { 1223 return get(this, 1, byteOffset)[0] << 24 >> 24; 1224 }, 1225 getUint8: function getUint8(byteOffset) { 1226 return get(this, 1, byteOffset)[0]; 1227 }, 1228 getInt16: function getInt16(byteOffset /* , littleEndian */) { 1229 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); 1230 return (bytes[1] << 8 | bytes[0]) << 16 >> 16; 1231 }, 1232 getUint16: function getUint16(byteOffset /* , littleEndian */) { 1233 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); 1234 return bytes[1] << 8 | bytes[0]; 1235 }, 1236 getInt32: function getInt32(byteOffset /* , littleEndian */) { 1237 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); 1238 }, 1239 getUint32: function getUint32(byteOffset /* , littleEndian */) { 1240 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; 1241 }, 1242 getFloat32: function getFloat32(byteOffset /* , littleEndian */) { 1243 return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); 1244 }, 1245 getFloat64: function getFloat64(byteOffset /* , littleEndian */) { 1246 return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); 1247 }, 1248 setInt8: function setInt8(byteOffset, value) { 1249 set(this, 1, byteOffset, packInt8, value); 1250 }, 1251 setUint8: function setUint8(byteOffset, value) { 1252 set(this, 1, byteOffset, packInt8, value); 1253 }, 1254 setInt16: function setInt16(byteOffset, value /* , littleEndian */) { 1255 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 1256 }, 1257 setUint16: function setUint16(byteOffset, value /* , littleEndian */) { 1258 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 1259 }, 1260 setInt32: function setInt32(byteOffset, value /* , littleEndian */) { 1261 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 1262 }, 1263 setUint32: function setUint32(byteOffset, value /* , littleEndian */) { 1264 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 1265 }, 1266 setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { 1267 set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); 1268 }, 1269 setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { 1270 set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); 1271 } 1272 }); 1273} else { 1274 if (!fails(function () { 1275 NativeArrayBuffer(1); 1276 }) || !fails(function () { 1277 new NativeArrayBuffer(-1); // eslint-disable-line no-new 1278 }) || fails(function () { 1279 new NativeArrayBuffer(); // eslint-disable-line no-new 1280 new NativeArrayBuffer(1.5); // eslint-disable-line no-new 1281 new NativeArrayBuffer(NaN); // eslint-disable-line no-new 1282 return NativeArrayBuffer.name != ARRAY_BUFFER; 1283 })) { 1284 $ArrayBuffer = function ArrayBuffer(length) { 1285 anInstance(this, $ArrayBuffer); 1286 return new NativeArrayBuffer(toIndex(length)); 1287 }; 1288 var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; 1289 for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { 1290 if (!((key = keys[j++]) in $ArrayBuffer)) { 1291 createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); 1292 } 1293 } 1294 ArrayBufferPrototype.constructor = $ArrayBuffer; 1295 } 1296 1297 // WebKit bug - the same parent prototype for typed arrays and data view 1298 if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) { 1299 setPrototypeOf($DataViewPrototype, ObjectPrototype); 1300 } 1301 1302 // iOS Safari 7.x bug 1303 var testView = new $DataView(new $ArrayBuffer(2)); 1304 var nativeSetInt8 = $DataViewPrototype.setInt8; 1305 testView.setInt8(0, 2147483648); 1306 testView.setInt8(1, 2147483649); 1307 if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, { 1308 setInt8: function setInt8(byteOffset, value) { 1309 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 1310 }, 1311 setUint8: function setUint8(byteOffset, value) { 1312 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 1313 } 1314 }, { unsafe: true }); 1315} 1316 1317setToStringTag($ArrayBuffer, ARRAY_BUFFER); 1318setToStringTag($DataView, DATA_VIEW); 1319 1320module.exports = { 1321 ArrayBuffer: $ArrayBuffer, 1322 DataView: $DataView 1323}; 1324 1325 1326/***/ }), 1327
vendor: 1,537 bytes, lines 1328-1368
1328/***/ "./node_modules/core-js/internals/array-copy-within.js": 1329/*!*************************************************************!*\ 1330 !*** ./node_modules/core-js/internals/array-copy-within.js ***! 1331 \*************************************************************/ 1332/*! no static exports found */ 1333/***/ (function(module, exports, __webpack_require__) { 1334 1335"use strict"; 1336 1337var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1338var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 1339var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1340 1341var min = Math.min; 1342 1343// `Array.prototype.copyWithin` method implementation 1344// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin 1345module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 1346 var O = toObject(this); 1347 var len = toLength(O.length); 1348 var to = toAbsoluteIndex(target, len); 1349 var from = toAbsoluteIndex(start, len); 1350 var end = arguments.length > 2 ? arguments[2] : undefined; 1351 var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 1352 var inc = 1; 1353 if (from < to && to < from + count) { 1354 inc = -1; 1355 from += count - 1; 1356 to += count - 1; 1357 } 1358 while (count-- > 0) { 1359 if (from in O) O[to] = O[from]; 1360 else delete O[to]; 1361 to += inc; 1362 from += inc; 1363 } return O; 1364}; 1365 1366 1367/***/ }), 1368
vendor: 1,285 bytes, lines 1369-1397
1369/***/ "./node_modules/core-js/internals/array-fill.js": 1370/*!******************************************************!*\ 1371 !*** ./node_modules/core-js/internals/array-fill.js ***! 1372 \******************************************************/ 1373/*! no static exports found */ 1374/***/ (function(module, exports, __webpack_require__) { 1375 1376"use strict"; 1377 1378var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1379var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 1380var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1381 1382// `Array.prototype.fill` method implementation 1383// https://tc39.github.io/ecma262/#sec-array.prototype.fill 1384module.exports = function fill(value /* , start = 0, end = @length */) { 1385 var O = toObject(this); 1386 var length = toLength(O.length); 1387 var argumentsLength = arguments.length; 1388 var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); 1389 var end = argumentsLength > 2 ? arguments[2] : undefined; 1390 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 1391 while (endPos > index) O[index++] = value; 1392 return O; 1393}; 1394 1395 1396/***/ }), 1397
vendor: 1,249 bytes, lines 1398-1422
1398/***/ "./node_modules/core-js/internals/array-for-each.js": 1399/*!**********************************************************!*\ 1400 !*** ./node_modules/core-js/internals/array-for-each.js ***! 1401 \**********************************************************/ 1402/*! no static exports found */ 1403/***/ (function(module, exports, __webpack_require__) { 1404 1405"use strict"; 1406 1407var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; 1408var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 1409var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 1410 1411var STRICT_METHOD = arrayMethodIsStrict('forEach'); 1412var USES_TO_LENGTH = arrayMethodUsesToLength('forEach'); 1413 1414// `Array.prototype.forEach` method implementation 1415// https://tc39.github.io/ecma262/#sec-array.prototype.foreach 1416module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) { 1417 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 1418} : [].forEach; 1419 1420 1421/***/ }), 1422
vendor: 2,701 bytes, lines 1423-1475
1423/***/ "./node_modules/core-js/internals/array-from.js": 1424/*!******************************************************!*\ 1425 !*** ./node_modules/core-js/internals/array-from.js ***! 1426 \******************************************************/ 1427/*! no static exports found */ 1428/***/ (function(module, exports, __webpack_require__) { 1429 1430"use strict"; 1431 1432var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 1433var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1434var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js"); 1435var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); 1436var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1437var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 1438var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); 1439 1440// `Array.from` method implementation 1441// https://tc39.github.io/ecma262/#sec-array.from 1442module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 1443 var O = toObject(arrayLike); 1444 var C = typeof this == 'function' ? this : Array; 1445 var argumentsLength = arguments.length; 1446 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 1447 var mapping = mapfn !== undefined; 1448 var iteratorMethod = getIteratorMethod(O); 1449 var index = 0; 1450 var length, result, step, iterator, next, value; 1451 if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); 1452 // if the target is not iterable or it's an array with the default iterator - use a simple case 1453 if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { 1454 iterator = iteratorMethod.call(O); 1455 next = iterator.next; 1456 result = new C(); 1457 for (;!(step = next.call(iterator)).done; index++) { 1458 value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; 1459 createProperty(result, index, value); 1460 } 1461 } else { 1462 length = toLength(O.length); 1463 result = new C(length); 1464 for (;length > index; index++) { 1465 value = mapping ? mapfn(O[index], index) : O[index]; 1466 createProperty(result, index, value); 1467 } 1468 } 1469 result.length = index; 1470 return result; 1471}; 1472 1473 1474/***/ }), 1475
vendor: 1,846 bytes, lines 1476-1518
1476/***/ "./node_modules/core-js/internals/array-includes.js": 1477/*!**********************************************************!*\ 1478 !*** ./node_modules/core-js/internals/array-includes.js ***! 1479 \**********************************************************/ 1480/*! no static exports found */ 1481/***/ (function(module, exports, __webpack_require__) { 1482 1483var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 1484var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1485var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 1486 1487// `Array.prototype.{ indexOf, includes }` methods implementation 1488var createMethod = function (IS_INCLUDES) { 1489 return function ($this, el, fromIndex) { 1490 var O = toIndexedObject($this); 1491 var length = toLength(O.length); 1492 var index = toAbsoluteIndex(fromIndex, length); 1493 var value; 1494 // Array#includes uses SameValueZero equality algorithm 1495 // eslint-disable-next-line no-self-compare 1496 if (IS_INCLUDES && el != el) while (length > index) { 1497 value = O[index++]; 1498 // eslint-disable-next-line no-self-compare 1499 if (value != value) return true; 1500 // Array#indexOf ignores holes, Array#includes - not 1501 } else for (;length > index; index++) { 1502 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 1503 } return !IS_INCLUDES && -1; 1504 }; 1505}; 1506 1507module.exports = { 1508 // `Array.prototype.includes` method 1509 // https://tc39.github.io/ecma262/#sec-array.prototype.includes 1510 includes: createMethod(true), 1511 // `Array.prototype.indexOf` method 1512 // https://tc39.github.io/ecma262/#sec-array.prototype.indexof 1513 indexOf: createMethod(false) 1514}; 1515 1516 1517/***/ }), 1518
vendor: 3,552 bytes, lines 1519-1601
1519/***/ "./node_modules/core-js/internals/array-iteration.js": 1520/*!***********************************************************!*\ 1521 !*** ./node_modules/core-js/internals/array-iteration.js ***! 1522 \***********************************************************/ 1523/*! no static exports found */ 1524/***/ (function(module, exports, __webpack_require__) { 1525 1526var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 1527var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 1528var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1529var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1530var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 1531 1532var push = [].push; 1533 1534// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation 1535var createMethod = function (TYPE) { 1536 var IS_MAP = TYPE == 1; 1537 var IS_FILTER = TYPE == 2; 1538 var IS_SOME = TYPE == 3; 1539 var IS_EVERY = TYPE == 4; 1540 var IS_FIND_INDEX = TYPE == 6; 1541 var IS_FILTER_OUT = TYPE == 7; 1542 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 1543 return function ($this, callbackfn, that, specificCreate) { 1544 var O = toObject($this); 1545 var self = IndexedObject(O); 1546 var boundFunction = bind(callbackfn, that, 3); 1547 var length = toLength(self.length); 1548 var index = 0; 1549 var create = specificCreate || arraySpeciesCreate; 1550 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; 1551 var value, result; 1552 for (;length > index; index++) if (NO_HOLES || index in self) { 1553 value = self[index]; 1554 result = boundFunction(value, index, O); 1555 if (TYPE) { 1556 if (IS_MAP) target[index] = result; // map 1557 else if (result) switch (TYPE) { 1558 case 3: return true; // some 1559 case 5: return value; // find 1560 case 6: return index; // findIndex 1561 case 2: push.call(target, value); // filter 1562 } else switch (TYPE) { 1563 case 4: return false; // every 1564 case 7: push.call(target, value); // filterOut 1565 } 1566 } 1567 } 1568 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 1569 }; 1570}; 1571 1572module.exports = { 1573 // `Array.prototype.forEach` method 1574 // https://tc39.github.io/ecma262/#sec-array.prototype.foreach 1575 forEach: createMethod(0), 1576 // `Array.prototype.map` method 1577 // https://tc39.github.io/ecma262/#sec-array.prototype.map 1578 map: createMethod(1), 1579 // `Array.prototype.filter` method 1580 // https://tc39.github.io/ecma262/#sec-array.prototype.filter 1581 filter: createMethod(2), 1582 // `Array.prototype.some` method 1583 // https://tc39.github.io/ecma262/#sec-array.prototype.some 1584 some: createMethod(3), 1585 // `Array.prototype.every` method 1586 // https://tc39.github.io/ecma262/#sec-array.prototype.every 1587 every: createMethod(4), 1588 // `Array.prototype.find` method 1589 // https://tc39.github.io/ecma262/#sec-array.prototype.find 1590 find: createMethod(5), 1591 // `Array.prototype.findIndex` method 1592 // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex 1593 findIndex: createMethod(6), 1594 // `Array.prototype.filterOut` method 1595 // https://github.com/tc39/proposal-array-filtering 1596 filterOut: createMethod(7) 1597}; 1598 1599 1600/***/ }), 1601
vendor: 2,186 bytes, lines 1602-1641
1602/***/ "./node_modules/core-js/internals/array-last-index-of.js": 1603/*!***************************************************************!*\ 1604 !*** ./node_modules/core-js/internals/array-last-index-of.js ***! 1605 \***************************************************************/ 1606/*! no static exports found */ 1607/***/ (function(module, exports, __webpack_require__) { 1608 1609"use strict"; 1610 1611var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 1612var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 1613var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1614var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 1615var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 1616 1617var min = Math.min; 1618var nativeLastIndexOf = [].lastIndexOf; 1619var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; 1620var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); 1621// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method 1622var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 1623var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH; 1624 1625// `Array.prototype.lastIndexOf` method implementation 1626// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof 1627module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 1628 // convert -0 to +0 1629 if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; 1630 var O = toIndexedObject(this); 1631 var length = toLength(O.length); 1632 var index = length - 1; 1633 if (arguments.length > 1) index = min(index, toInteger(arguments[1])); 1634 if (index < 0) index = length + index; 1635 for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; 1636 return -1; 1637} : nativeLastIndexOf; 1638 1639 1640/***/ }), 1641
vendor: 1,304 bytes, lines 1642-1671
1642/***/ "./node_modules/core-js/internals/array-method-has-species-support.js": 1643/*!****************************************************************************!*\ 1644 !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***! 1645 \****************************************************************************/ 1646/*! no static exports found */ 1647/***/ (function(module, exports, __webpack_require__) { 1648 1649var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1650var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1651var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 1652 1653var SPECIES = wellKnownSymbol('species'); 1654 1655module.exports = function (METHOD_NAME) { 1656 // We can't use this feature detection in V8 since it causes 1657 // deoptimization and serious performance degradation 1658 // https://github.com/zloirock/core-js/issues/677 1659 return V8_VERSION >= 51 || !fails(function () { 1660 var array = []; 1661 var constructor = array.constructor = {}; 1662 constructor[SPECIES] = function () { 1663 return { foo: 1 }; 1664 }; 1665 return array[METHOD_NAME](Boolean).foo !== 1; 1666 }); 1667}; 1668 1669 1670/***/ }), 1671
vendor: 767 bytes, lines 1672-1693
1672/***/ "./node_modules/core-js/internals/array-method-is-strict.js": 1673/*!******************************************************************!*\ 1674 !*** ./node_modules/core-js/internals/array-method-is-strict.js ***! 1675 \******************************************************************/ 1676/*! no static exports found */ 1677/***/ (function(module, exports, __webpack_require__) { 1678 1679"use strict"; 1680 1681var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1682 1683module.exports = function (METHOD_NAME, argument) { 1684 var method = [][METHOD_NAME]; 1685 return !!method && fails(function () { 1686 // eslint-disable-next-line no-useless-call,no-throw-literal 1687 method.call(null, argument || function () { throw 1; }, 1); 1688 }); 1689}; 1690 1691 1692/***/ }), 1693
vendor: 1,485 bytes, lines 1694-1731
1694/***/ "./node_modules/core-js/internals/array-method-uses-to-length.js": 1695/*!***********************************************************************!*\ 1696 !*** ./node_modules/core-js/internals/array-method-uses-to-length.js ***! 1697 \***********************************************************************/ 1698/*! no static exports found */ 1699/***/ (function(module, exports, __webpack_require__) { 1700 1701var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 1702var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1703var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 1704 1705var defineProperty = Object.defineProperty; 1706var cache = {}; 1707 1708var thrower = function (it) { throw it; }; 1709 1710module.exports = function (METHOD_NAME, options) { 1711 if (has(cache, METHOD_NAME)) return cache[METHOD_NAME]; 1712 if (!options) options = {}; 1713 var method = [][METHOD_NAME]; 1714 var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; 1715 var argument0 = has(options, 0) ? options[0] : thrower; 1716 var argument1 = has(options, 1) ? options[1] : undefined; 1717 1718 return cache[METHOD_NAME] = !!method && !fails(function () { 1719 if (ACCESSORS && !DESCRIPTORS) return true; 1720 var O = { length: -1 }; 1721 1722 if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower }); 1723 else O[1] = 1; 1724 1725 method.call(O, argument0, argument1); 1726 }); 1727}; 1728 1729 1730/***/ }), 1731
vendor: 1,951 bytes, lines 1732-1782
1732/***/ "./node_modules/core-js/internals/array-reduce.js": 1733/*!********************************************************!*\ 1734 !*** ./node_modules/core-js/internals/array-reduce.js ***! 1735 \********************************************************/ 1736/*! no static exports found */ 1737/***/ (function(module, exports, __webpack_require__) { 1738 1739var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 1740var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1741var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 1742var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 1743 1744// `Array.prototype.{ reduce, reduceRight }` methods implementation 1745var createMethod = function (IS_RIGHT) { 1746 return function (that, callbackfn, argumentsLength, memo) { 1747 aFunction(callbackfn); 1748 var O = toObject(that); 1749 var self = IndexedObject(O); 1750 var length = toLength(O.length); 1751 var index = IS_RIGHT ? length - 1 : 0; 1752 var i = IS_RIGHT ? -1 : 1; 1753 if (argumentsLength < 2) while (true) { 1754 if (index in self) { 1755 memo = self[index]; 1756 index += i; 1757 break; 1758 } 1759 index += i; 1760 if (IS_RIGHT ? index < 0 : length <= index) { 1761 throw TypeError('Reduce of empty array with no initial value'); 1762 } 1763 } 1764 for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { 1765 memo = callbackfn(memo, self[index], index, O); 1766 } 1767 return memo; 1768 }; 1769}; 1770 1771module.exports = { 1772 // `Array.prototype.reduce` method 1773 // https://tc39.github.io/ecma262/#sec-array.prototype.reduce 1774 left: createMethod(false), 1775 // `Array.prototype.reduceRight` method 1776 // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright 1777 right: createMethod(true) 1778}; 1779 1780 1781/***/ }), 1782
vendor: 1,299 bytes, lines 1783-1813
1783/***/ "./node_modules/core-js/internals/array-species-create.js": 1784/*!****************************************************************!*\ 1785 !*** ./node_modules/core-js/internals/array-species-create.js ***! 1786 \****************************************************************/ 1787/*! no static exports found */ 1788/***/ (function(module, exports, __webpack_require__) { 1789 1790var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 1791var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 1792var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1793 1794var SPECIES = wellKnownSymbol('species'); 1795 1796// `ArraySpeciesCreate` abstract operation 1797// https://tc39.github.io/ecma262/#sec-arrayspeciescreate 1798module.exports = function (originalArray, length) { 1799 var C; 1800 if (isArray(originalArray)) { 1801 C = originalArray.constructor; 1802 // cross-realm fallback 1803 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 1804 else if (isObject(C)) { 1805 C = C[SPECIES]; 1806 if (C === null) C = undefined; 1807 } 1808 } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); 1809}; 1810 1811 1812/***/ }), 1813
vendor: 986 bytes, lines 1814-1837
1814/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": 1815/*!****************************************************************************!*\ 1816 !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! 1817 \****************************************************************************/ 1818/*! no static exports found */ 1819/***/ (function(module, exports, __webpack_require__) { 1820 1821var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 1822var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js"); 1823 1824// call something on iterator step with safe closing on error 1825module.exports = function (iterator, fn, value, ENTRIES) { 1826 try { 1827 return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); 1828 // 7.4.6 IteratorClose(iterator, completion) 1829 } catch (error) { 1830 iteratorClose(iterator); 1831 throw error; 1832 } 1833}; 1834 1835 1836/***/ }), 1837
vendor: 1,425 bytes, lines 1838-1886
1838/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js": 1839/*!**************************************************************************!*\ 1840 !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! 1841 \**************************************************************************/ 1842/*! no static exports found */ 1843/***/ (function(module, exports, __webpack_require__) { 1844 1845var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1846 1847var ITERATOR = wellKnownSymbol('iterator'); 1848var SAFE_CLOSING = false; 1849 1850try { 1851 var called = 0; 1852 var iteratorWithReturn = { 1853 next: function () { 1854 return { done: !!called++ }; 1855 }, 1856 'return': function () { 1857 SAFE_CLOSING = true; 1858 } 1859 }; 1860 iteratorWithReturn[ITERATOR] = function () { 1861 return this; 1862 }; 1863 // eslint-disable-next-line no-throw-literal 1864 Array.from(iteratorWithReturn, function () { throw 2; }); 1865} catch (error) { /* empty */ } 1866 1867module.exports = function (exec, SKIP_CLOSING) { 1868 if (!SKIP_CLOSING && !SAFE_CLOSING) return false; 1869 var ITERATION_SUPPORT = false; 1870 try { 1871 var object = {}; 1872 object[ITERATOR] = function () { 1873 return { 1874 next: function () { 1875 return { done: ITERATION_SUPPORT = true }; 1876 } 1877 }; 1878 }; 1879 exec(object); 1880 } catch (error) { /* empty */ } 1881 return ITERATION_SUPPORT; 1882}; 1883 1884 1885/***/ }), 1886
vendor: 425 bytes, lines 1887-1902
1887/***/ "./node_modules/core-js/internals/classof-raw.js": 1888/*!*******************************************************!*\ 1889 !*** ./node_modules/core-js/internals/classof-raw.js ***! 1890 \*******************************************************/ 1891/*! no static exports found */ 1892/***/ (function(module, exports) { 1893 1894var toString = {}.toString; 1895 1896module.exports = function (it) { 1897 return toString.call(it).slice(8, -1); 1898}; 1899 1900 1901/***/ }), 1902
vendor: 1,550 bytes, lines 1903-1939
1903/***/ "./node_modules/core-js/internals/classof.js": 1904/*!***************************************************!*\ 1905 !*** ./node_modules/core-js/internals/classof.js ***! 1906 \***************************************************/ 1907/*! no static exports found */ 1908/***/ (function(module, exports, __webpack_require__) { 1909 1910var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 1911var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 1912var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1913 1914var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 1915// ES3 wrong here 1916var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; 1917 1918// fallback for IE11 Script Access Denied error 1919var tryGet = function (it, key) { 1920 try { 1921 return it[key]; 1922 } catch (error) { /* empty */ } 1923}; 1924 1925// getting tag from ES6+ `Object.prototype.toString` 1926module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 1927 var O, tag, result; 1928 return it === undefined ? 'Undefined' : it === null ? 'Null' 1929 // @@toStringTag case 1930 : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag 1931 // builtinTag case 1932 : CORRECT_ARGUMENTS ? classofRaw(O) 1933 // ES3 arguments fallback 1934 : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; 1935}; 1936 1937 1938/***/ }), 1939
vendor: 7,885 bytes, lines 1940-2137
1940/***/ "./node_modules/core-js/internals/collection-strong.js": 1941/*!*************************************************************!*\ 1942 !*** ./node_modules/core-js/internals/collection-strong.js ***! 1943 \*************************************************************/ 1944/*! no static exports found */ 1945/***/ (function(module, exports, __webpack_require__) { 1946 1947"use strict"; 1948 1949var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 1950var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 1951var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 1952var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 1953var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 1954var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 1955var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); 1956var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 1957var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 1958var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").fastKey; 1959var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 1960 1961var setInternalState = InternalStateModule.set; 1962var internalStateGetterFor = InternalStateModule.getterFor; 1963 1964module.exports = { 1965 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { 1966 var C = wrapper(function (that, iterable) { 1967 anInstance(that, C, CONSTRUCTOR_NAME); 1968 setInternalState(that, { 1969 type: CONSTRUCTOR_NAME, 1970 index: create(null), 1971 first: undefined, 1972 last: undefined, 1973 size: 0 1974 }); 1975 if (!DESCRIPTORS) that.size = 0; 1976 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 1977 }); 1978 1979 var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); 1980 1981 var define = function (that, key, value) { 1982 var state = getInternalState(that); 1983 var entry = getEntry(that, key); 1984 var previous, index; 1985 // change existing entry 1986 if (entry) { 1987 entry.value = value; 1988 // create new entry 1989 } else { 1990 state.last = entry = { 1991 index: index = fastKey(key, true), 1992 key: key, 1993 value: value, 1994 previous: previous = state.last, 1995 next: undefined, 1996 removed: false 1997 }; 1998 if (!state.first) state.first = entry; 1999 if (previous) previous.next = entry; 2000 if (DESCRIPTORS) state.size++; 2001 else that.size++; 2002 // add to index 2003 if (index !== 'F') state.index[index] = entry; 2004 } return that; 2005 }; 2006 2007 var getEntry = function (that, key) { 2008 var state = getInternalState(that); 2009 // fast case 2010 var index = fastKey(key); 2011 var entry; 2012 if (index !== 'F') return state.index[index]; 2013 // frozen object case 2014 for (entry = state.first; entry; entry = entry.next) { 2015 if (entry.key == key) return entry; 2016 } 2017 }; 2018 2019 redefineAll(C.prototype, { 2020 // 23.1.3.1 Map.prototype.clear() 2021 // 23.2.3.2 Set.prototype.clear() 2022 clear: function clear() { 2023 var that = this; 2024 var state = getInternalState(that); 2025 var data = state.index; 2026 var entry = state.first; 2027 while (entry) { 2028 entry.removed = true; 2029 if (entry.previous) entry.previous = entry.previous.next = undefined; 2030 delete data[entry.index]; 2031 entry = entry.next; 2032 } 2033 state.first = state.last = undefined; 2034 if (DESCRIPTORS) state.size = 0; 2035 else that.size = 0; 2036 }, 2037 // 23.1.3.3 Map.prototype.delete(key) 2038 // 23.2.3.4 Set.prototype.delete(value) 2039 'delete': function (key) { 2040 var that = this; 2041 var state = getInternalState(that); 2042 var entry = getEntry(that, key); 2043 if (entry) { 2044 var next = entry.next; 2045 var prev = entry.previous; 2046 delete state.index[entry.index]; 2047 entry.removed = true; 2048 if (prev) prev.next = next; 2049 if (next) next.previous = prev; 2050 if (state.first == entry) state.first = next; 2051 if (state.last == entry) state.last = prev; 2052 if (DESCRIPTORS) state.size--; 2053 else that.size--; 2054 } return !!entry; 2055 }, 2056 // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) 2057 // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) 2058 forEach: function forEach(callbackfn /* , that = undefined */) { 2059 var state = getInternalState(this); 2060 var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); 2061 var entry; 2062 while (entry = entry ? entry.next : state.first) { 2063 boundFunction(entry.value, entry.key, this); 2064 // revert to the last existing entry 2065 while (entry && entry.removed) entry = entry.previous; 2066 } 2067 }, 2068 // 23.1.3.7 Map.prototype.has(key) 2069 // 23.2.3.7 Set.prototype.has(value) 2070 has: function has(key) { 2071 return !!getEntry(this, key); 2072 } 2073 }); 2074 2075 redefineAll(C.prototype, IS_MAP ? { 2076 // 23.1.3.6 Map.prototype.get(key) 2077 get: function get(key) { 2078 var entry = getEntry(this, key); 2079 return entry && entry.value; 2080 }, 2081 // 23.1.3.9 Map.prototype.set(key, value) 2082 set: function set(key, value) { 2083 return define(this, key === 0 ? 0 : key, value); 2084 } 2085 } : { 2086 // 23.2.3.1 Set.prototype.add(value) 2087 add: function add(value) { 2088 return define(this, value = value === 0 ? 0 : value, value); 2089 } 2090 }); 2091 if (DESCRIPTORS) defineProperty(C.prototype, 'size', { 2092 get: function () { 2093 return getInternalState(this).size; 2094 } 2095 }); 2096 return C; 2097 }, 2098 setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { 2099 var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; 2100 var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); 2101 var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); 2102 // add .keys, .values, .entries, [@@iterator] 2103 // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 2104 defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { 2105 setInternalState(this, { 2106 type: ITERATOR_NAME, 2107 target: iterated, 2108 state: getInternalCollectionState(iterated), 2109 kind: kind, 2110 last: undefined 2111 }); 2112 }, function () { 2113 var state = getInternalIteratorState(this); 2114 var kind = state.kind; 2115 var entry = state.last; 2116 // revert to the last existing entry 2117 while (entry && entry.removed) entry = entry.previous; 2118 // get next entry 2119 if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { 2120 // or finish the iteration 2121 state.target = undefined; 2122 return { value: undefined, done: true }; 2123 } 2124 // return step by kind 2125 if (kind == 'keys') return { value: entry.key, done: false }; 2126 if (kind == 'values') return { value: entry.value, done: false }; 2127 return { value: [entry.key, entry.value], done: false }; 2128 }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); 2129 2130 // add [@@species], 23.1.2.2, 23.2.2.2 2131 setSpecies(CONSTRUCTOR_NAME); 2132 } 2133}; 2134 2135 2136/***/ }), 2137
vendor: 4,857 bytes, lines 2138-2270
2138/***/ "./node_modules/core-js/internals/collection-weak.js": 2139/*!***********************************************************!*\ 2140 !*** ./node_modules/core-js/internals/collection-weak.js ***! 2141 \***********************************************************/ 2142/*! no static exports found */ 2143/***/ (function(module, exports, __webpack_require__) { 2144 2145"use strict"; 2146 2147var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 2148var getWeakData = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").getWeakData; 2149var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2150var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2151var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 2152var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 2153var ArrayIterationModule = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js"); 2154var $has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 2155var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 2156 2157var setInternalState = InternalStateModule.set; 2158var internalStateGetterFor = InternalStateModule.getterFor; 2159var find = ArrayIterationModule.find; 2160var findIndex = ArrayIterationModule.findIndex; 2161var id = 0; 2162 2163// fallback for uncaught frozen keys 2164var uncaughtFrozenStore = function (store) { 2165 return store.frozen || (store.frozen = new UncaughtFrozenStore()); 2166}; 2167 2168var UncaughtFrozenStore = function () { 2169 this.entries = []; 2170}; 2171 2172var findUncaughtFrozen = function (store, key) { 2173 return find(store.entries, function (it) { 2174 return it[0] === key; 2175 }); 2176}; 2177 2178UncaughtFrozenStore.prototype = { 2179 get: function (key) { 2180 var entry = findUncaughtFrozen(this, key); 2181 if (entry) return entry[1]; 2182 }, 2183 has: function (key) { 2184 return !!findUncaughtFrozen(this, key); 2185 }, 2186 set: function (key, value) { 2187 var entry = findUncaughtFrozen(this, key); 2188 if (entry) entry[1] = value; 2189 else this.entries.push([key, value]); 2190 }, 2191 'delete': function (key) { 2192 var index = findIndex(this.entries, function (it) { 2193 return it[0] === key; 2194 }); 2195 if (~index) this.entries.splice(index, 1); 2196 return !!~index; 2197 } 2198}; 2199 2200module.exports = { 2201 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { 2202 var C = wrapper(function (that, iterable) { 2203 anInstance(that, C, CONSTRUCTOR_NAME); 2204 setInternalState(that, { 2205 type: CONSTRUCTOR_NAME, 2206 id: id++, 2207 frozen: undefined 2208 }); 2209 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 2210 }); 2211 2212 var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); 2213 2214 var define = function (that, key, value) { 2215 var state = getInternalState(that); 2216 var data = getWeakData(anObject(key), true); 2217 if (data === true) uncaughtFrozenStore(state).set(key, value); 2218 else data[state.id] = value; 2219 return that; 2220 }; 2221 2222 redefineAll(C.prototype, { 2223 // 23.3.3.2 WeakMap.prototype.delete(key) 2224 // 23.4.3.3 WeakSet.prototype.delete(value) 2225 'delete': function (key) { 2226 var state = getInternalState(this); 2227 if (!isObject(key)) return false; 2228 var data = getWeakData(key); 2229 if (data === true) return uncaughtFrozenStore(state)['delete'](key); 2230 return data && $has(data, state.id) && delete data[state.id]; 2231 }, 2232 // 23.3.3.4 WeakMap.prototype.has(key) 2233 // 23.4.3.4 WeakSet.prototype.has(value) 2234 has: function has(key) { 2235 var state = getInternalState(this); 2236 if (!isObject(key)) return false; 2237 var data = getWeakData(key); 2238 if (data === true) return uncaughtFrozenStore(state).has(key); 2239 return data && $has(data, state.id); 2240 } 2241 }); 2242 2243 redefineAll(C.prototype, IS_MAP ? { 2244 // 23.3.3.3 WeakMap.prototype.get(key) 2245 get: function get(key) { 2246 var state = getInternalState(this); 2247 if (isObject(key)) { 2248 var data = getWeakData(key); 2249 if (data === true) return uncaughtFrozenStore(state).get(key); 2250 return data ? data[state.id] : undefined; 2251 } 2252 }, 2253 // 23.3.3.5 WeakMap.prototype.set(key, value) 2254 set: function set(key, value) { 2255 return define(this, key, value); 2256 } 2257 } : { 2258 // 23.4.3.1 WeakSet.prototype.add(value) 2259 add: function add(value) { 2260 return define(this, value, true); 2261 } 2262 }); 2263 2264 return C; 2265 } 2266}; 2267 2268 2269/***/ }), 2270
vendor: 5,460 bytes, lines 2271-2381
2271/***/ "./node_modules/core-js/internals/collection.js": 2272/*!******************************************************!*\ 2273 !*** ./node_modules/core-js/internals/collection.js ***! 2274 \******************************************************/ 2275/*! no static exports found */ 2276/***/ (function(module, exports, __webpack_require__) { 2277 2278"use strict"; 2279 2280var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 2281var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2282var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 2283var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 2284var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js"); 2285var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 2286var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 2287var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2288var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2289var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); 2290var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 2291var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); 2292 2293module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { 2294 var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; 2295 var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; 2296 var ADDER = IS_MAP ? 'set' : 'add'; 2297 var NativeConstructor = global[CONSTRUCTOR_NAME]; 2298 var NativePrototype = NativeConstructor && NativeConstructor.prototype; 2299 var Constructor = NativeConstructor; 2300 var exported = {}; 2301 2302 var fixMethod = function (KEY) { 2303 var nativeMethod = NativePrototype[KEY]; 2304 redefine(NativePrototype, KEY, 2305 KEY == 'add' ? function add(value) { 2306 nativeMethod.call(this, value === 0 ? 0 : value); 2307 return this; 2308 } : KEY == 'delete' ? function (key) { 2309 return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); 2310 } : KEY == 'get' ? function get(key) { 2311 return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); 2312 } : KEY == 'has' ? function has(key) { 2313 return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); 2314 } : function set(key, value) { 2315 nativeMethod.call(this, key === 0 ? 0 : key, value); 2316 return this; 2317 } 2318 ); 2319 }; 2320 2321 // eslint-disable-next-line max-len 2322 if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { 2323 new NativeConstructor().entries().next(); 2324 })))) { 2325 // create collection constructor 2326 Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); 2327 InternalMetadataModule.REQUIRED = true; 2328 } else if (isForced(CONSTRUCTOR_NAME, true)) { 2329 var instance = new Constructor(); 2330 // early implementations not supports chaining 2331 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; 2332 // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false 2333 var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); 2334 // most early implementations doesn't supports iterables, most modern - not close it correctly 2335 // eslint-disable-next-line no-new 2336 var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); 2337 // for early implementations -0 and +0 not the same 2338 var BUGGY_ZERO = !IS_WEAK && fails(function () { 2339 // V8 ~ Chromium 42- fails only with 5+ elements 2340 var $instance = new NativeConstructor(); 2341 var index = 5; 2342 while (index--) $instance[ADDER](index, index); 2343 return !$instance.has(-0); 2344 }); 2345 2346 if (!ACCEPT_ITERABLES) { 2347 Constructor = wrapper(function (dummy, iterable) { 2348 anInstance(dummy, Constructor, CONSTRUCTOR_NAME); 2349 var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); 2350 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 2351 return that; 2352 }); 2353 Constructor.prototype = NativePrototype; 2354 NativePrototype.constructor = Constructor; 2355 } 2356 2357 if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { 2358 fixMethod('delete'); 2359 fixMethod('has'); 2360 IS_MAP && fixMethod('get'); 2361 } 2362 2363 if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); 2364 2365 // weak collections should not contains .clear method 2366 if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; 2367 } 2368 2369 exported[CONSTRUCTOR_NAME] = Constructor; 2370 $({ global: true, forced: Constructor != NativeConstructor }, exported); 2371 2372 setToStringTag(Constructor, CONSTRUCTOR_NAME); 2373 2374 if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); 2375 2376 return Constructor; 2377}; 2378 2379 2380/***/ }), 2381
vendor: 1,311 bytes, lines 2382-2406
2382/***/ "./node_modules/core-js/internals/copy-constructor-properties.js": 2383/*!***********************************************************************!*\ 2384 !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! 2385 \***********************************************************************/ 2386/*! no static exports found */ 2387/***/ (function(module, exports, __webpack_require__) { 2388 2389var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 2390var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); 2391var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 2392var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 2393 2394module.exports = function (target, source) { 2395 var keys = ownKeys(source); 2396 var defineProperty = definePropertyModule.f; 2397 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 2398 for (var i = 0; i < keys.length; i++) { 2399 var key = keys[i]; 2400 if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 2401 } 2402}; 2403 2404 2405/***/ }), 2406
vendor: 827 bytes, lines 2407-2432
2407/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js": 2408/*!*******************************************************************!*\ 2409 !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***! 2410 \*******************************************************************/ 2411/*! no static exports found */ 2412/***/ (function(module, exports, __webpack_require__) { 2413 2414var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 2415 2416var MATCH = wellKnownSymbol('match'); 2417 2418module.exports = function (METHOD_NAME) { 2419 var regexp = /./; 2420 try { 2421 '/./'[METHOD_NAME](regexp); 2422 } catch (error1) { 2423 try { 2424 regexp[MATCH] = false; 2425 return '/./'[METHOD_NAME](regexp); 2426 } catch (error2) { /* empty */ } 2427 } return false; 2428}; 2429 2430 2431/***/ }), 2432
vendor: 661 bytes, lines 2433-2450
2433/***/ "./node_modules/core-js/internals/correct-prototype-getter.js": 2434/*!********************************************************************!*\ 2435 !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! 2436 \********************************************************************/ 2437/*! no static exports found */ 2438/***/ (function(module, exports, __webpack_require__) { 2439 2440var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2441 2442module.exports = !fails(function () { 2443 function F() { /* empty */ } 2444 F.prototype.constructor = null; 2445 return Object.getPrototypeOf(new F()) !== F.prototype; 2446}); 2447 2448 2449/***/ }), 2450
vendor: 900 bytes, lines 2451-2473
2451/***/ "./node_modules/core-js/internals/create-html.js": 2452/*!*******************************************************!*\ 2453 !*** ./node_modules/core-js/internals/create-html.js ***! 2454 \*******************************************************/ 2455/*! no static exports found */ 2456/***/ (function(module, exports, __webpack_require__) { 2457 2458var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 2459 2460var quot = /"/g; 2461 2462// B.2.3.2.1 CreateHTML(string, tag, attribute, value) 2463// https://tc39.github.io/ecma262/#sec-createhtml 2464module.exports = function (string, tag, attribute, value) { 2465 var S = String(requireObjectCoercible(string)); 2466 var p1 = '<' + tag; 2467 if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; 2468 return p1 + '>' + S + '</' + tag + '>'; 2469}; 2470 2471 2472/***/ }), 2473
vendor: 1,510 bytes, lines 2474-2501
2474/***/ "./node_modules/core-js/internals/create-iterator-constructor.js": 2475/*!***********************************************************************!*\ 2476 !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! 2477 \***********************************************************************/ 2478/*! no static exports found */ 2479/***/ (function(module, exports, __webpack_require__) { 2480 2481"use strict"; 2482 2483var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; 2484var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 2485var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 2486var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 2487var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); 2488 2489var returnThis = function () { return this; }; 2490 2491module.exports = function (IteratorConstructor, NAME, next) { 2492 var TO_STRING_TAG = NAME + ' Iterator'; 2493 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); 2494 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); 2495 Iterators[TO_STRING_TAG] = returnThis; 2496 return IteratorConstructor; 2497}; 2498 2499 2500/***/ }), 2501
vendor: 1,081 bytes, lines 2502-2522
2502/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js": 2503/*!**************************************************************************!*\ 2504 !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***! 2505 \**************************************************************************/ 2506/*! no static exports found */ 2507/***/ (function(module, exports, __webpack_require__) { 2508 2509var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2510var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 2511var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 2512 2513module.exports = DESCRIPTORS ? function (object, key, value) { 2514 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 2515} : function (object, key, value) { 2516 object[key] = value; 2517 return object; 2518}; 2519 2520 2521/***/ }), 2522
vendor: 552 bytes, lines 2523-2541
2523/***/ "./node_modules/core-js/internals/create-property-descriptor.js": 2524/*!**********************************************************************!*\ 2525 !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! 2526 \**********************************************************************/ 2527/*! no static exports found */ 2528/***/ (function(module, exports) { 2529 2530module.exports = function (bitmap, value) { 2531 return { 2532 enumerable: !(bitmap & 1), 2533 configurable: !(bitmap & 2), 2534 writable: !(bitmap & 4), 2535 value: value 2536 }; 2537}; 2538 2539 2540/***/ }), 2541
vendor: 1,050 bytes, lines 2542-2563
2542/***/ "./node_modules/core-js/internals/create-property.js": 2543/*!***********************************************************!*\ 2544 !*** ./node_modules/core-js/internals/create-property.js ***! 2545 \***********************************************************/ 2546/*! no static exports found */ 2547/***/ (function(module, exports, __webpack_require__) { 2548 2549"use strict"; 2550 2551var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 2552var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 2553var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 2554 2555module.exports = function (object, key, value) { 2556 var propertyKey = toPrimitive(key); 2557 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); 2558 else object[propertyKey] = value; 2559}; 2560 2561 2562/***/ }), 2563
vendor: 1,755 bytes, lines 2564-2606
2564/***/ "./node_modules/core-js/internals/date-to-iso-string.js": 2565/*!**************************************************************!*\ 2566 !*** ./node_modules/core-js/internals/date-to-iso-string.js ***! 2567 \**************************************************************/ 2568/*! no static exports found */ 2569/***/ (function(module, exports, __webpack_require__) { 2570 2571"use strict"; 2572 2573var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2574var padStart = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").start; 2575 2576var abs = Math.abs; 2577var DatePrototype = Date.prototype; 2578var getTime = DatePrototype.getTime; 2579var nativeDateToISOString = DatePrototype.toISOString; 2580 2581// `Date.prototype.toISOString` method implementation 2582// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring 2583// PhantomJS / old WebKit fails here: 2584module.exports = (fails(function () { 2585 return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; 2586}) || !fails(function () { 2587 nativeDateToISOString.call(new Date(NaN)); 2588})) ? function toISOString() { 2589 if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); 2590 var date = this; 2591 var year = date.getUTCFullYear(); 2592 var milliseconds = date.getUTCMilliseconds(); 2593 var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; 2594 return sign + padStart(abs(year), sign ? 6 : 4, 0) + 2595 '-' + padStart(date.getUTCMonth() + 1, 2, 0) + 2596 '-' + padStart(date.getUTCDate(), 2, 0) + 2597 'T' + padStart(date.getUTCHours(), 2, 0) + 2598 ':' + padStart(date.getUTCMinutes(), 2, 0) + 2599 ':' + padStart(date.getUTCSeconds(), 2, 0) + 2600 '.' + padStart(milliseconds, 3, 0) + 2601 'Z'; 2602} : nativeDateToISOString; 2603 2604 2605/***/ }), 2606
vendor: 825 bytes, lines 2607-2627
2607/***/ "./node_modules/core-js/internals/date-to-primitive.js": 2608/*!*************************************************************!*\ 2609 !*** ./node_modules/core-js/internals/date-to-primitive.js ***! 2610 \*************************************************************/ 2611/*! no static exports found */ 2612/***/ (function(module, exports, __webpack_require__) { 2613 2614"use strict"; 2615 2616var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2617var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 2618 2619module.exports = function (hint) { 2620 if (hint !== 'string' && hint !== 'number' && hint !== 'default') { 2621 throw TypeError('Incorrect hint'); 2622 } return toPrimitive(anObject(this), hint !== 'number'); 2623}; 2624 2625 2626/***/ }), 2627
vendor: 5,196 bytes, lines 2628-2729
2628/***/ "./node_modules/core-js/internals/define-iterator.js": 2629/*!***********************************************************!*\ 2630 !*** ./node_modules/core-js/internals/define-iterator.js ***! 2631 \***********************************************************/ 2632/*! no static exports found */ 2633/***/ (function(module, exports, __webpack_require__) { 2634 2635"use strict"; 2636 2637var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 2638var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); 2639var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 2640var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 2641var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 2642var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 2643var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 2644var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 2645var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 2646var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); 2647var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js"); 2648 2649var IteratorPrototype = IteratorsCore.IteratorPrototype; 2650var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; 2651var ITERATOR = wellKnownSymbol('iterator'); 2652var KEYS = 'keys'; 2653var VALUES = 'values'; 2654var ENTRIES = 'entries'; 2655 2656var returnThis = function () { return this; }; 2657 2658module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { 2659 createIteratorConstructor(IteratorConstructor, NAME, next); 2660 2661 var getIterationMethod = function (KIND) { 2662 if (KIND === DEFAULT && defaultIterator) return defaultIterator; 2663 if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; 2664 switch (KIND) { 2665 case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; 2666 case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; 2667 case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; 2668 } return function () { return new IteratorConstructor(this); }; 2669 }; 2670 2671 var TO_STRING_TAG = NAME + ' Iterator'; 2672 var INCORRECT_VALUES_NAME = false; 2673 var IterablePrototype = Iterable.prototype; 2674 var nativeIterator = IterablePrototype[ITERATOR] 2675 || IterablePrototype['@@iterator'] 2676 || DEFAULT && IterablePrototype[DEFAULT]; 2677 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); 2678 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; 2679 var CurrentIteratorPrototype, methods, KEY; 2680 2681 // fix native 2682 if (anyNativeIterator) { 2683 CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); 2684 if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { 2685 if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { 2686 if (setPrototypeOf) { 2687 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); 2688 } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { 2689 createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); 2690 } 2691 } 2692 // Set @@toStringTag to native iterators 2693 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); 2694 if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; 2695 } 2696 } 2697 2698 // fix Array#{values, @@iterator}.name in V8 / FF 2699 if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { 2700 INCORRECT_VALUES_NAME = true; 2701 defaultIterator = function values() { return nativeIterator.call(this); }; 2702 } 2703 2704 // define iterator 2705 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { 2706 createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); 2707 } 2708 Iterators[NAME] = defaultIterator; 2709 2710 // export additional methods 2711 if (DEFAULT) { 2712 methods = { 2713 values: getIterationMethod(VALUES), 2714 keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), 2715 entries: getIterationMethod(ENTRIES) 2716 }; 2717 if (FORCED) for (KEY in methods) { 2718 if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { 2719 redefine(IterablePrototype, KEY, methods[KEY]); 2720 } 2721 } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); 2722 } 2723 2724 return methods; 2725}; 2726 2727 2728/***/ }), 2729
vendor: 1,107 bytes, lines 2730-2751
2730/***/ "./node_modules/core-js/internals/define-well-known-symbol.js": 2731/*!********************************************************************!*\ 2732 !*** ./node_modules/core-js/internals/define-well-known-symbol.js ***! 2733 \********************************************************************/ 2734/*! no static exports found */ 2735/***/ (function(module, exports, __webpack_require__) { 2736 2737var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); 2738var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 2739var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); 2740var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 2741 2742module.exports = function (NAME) { 2743 var Symbol = path.Symbol || (path.Symbol = {}); 2744 if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { 2745 value: wrappedWellKnownSymbolModule.f(NAME) 2746 }); 2747}; 2748 2749 2750/***/ }), 2751
vendor: 614 bytes, lines 2752-2768
2752/***/ "./node_modules/core-js/internals/descriptors.js": 2753/*!*******************************************************!*\ 2754 !*** ./node_modules/core-js/internals/descriptors.js ***! 2755 \*******************************************************/ 2756/*! no static exports found */ 2757/***/ (function(module, exports, __webpack_require__) { 2758 2759var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2760 2761// Thank's IE8 for his funny defineProperty 2762module.exports = !fails(function () { 2763 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 2764}); 2765 2766 2767/***/ }), 2768
vendor: 855 bytes, lines 2769-2789
2769/***/ "./node_modules/core-js/internals/document-create-element.js": 2770/*!*******************************************************************!*\ 2771 !*** ./node_modules/core-js/internals/document-create-element.js ***! 2772 \*******************************************************************/ 2773/*! no static exports found */ 2774/***/ (function(module, exports, __webpack_require__) { 2775 2776var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2777var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2778 2779var document = global.document; 2780// typeof document.createElement is 'object' in old IE 2781var EXISTS = isObject(document) && isObject(document.createElement); 2782 2783module.exports = function (it) { 2784 return EXISTS ? document.createElement(it) : {}; 2785}; 2786 2787 2788/***/ }), 2789
vendor: 1,080 bytes, lines 2790-2835
2790/***/ "./node_modules/core-js/internals/dom-iterables.js": 2791/*!*********************************************************!*\ 2792 !*** ./node_modules/core-js/internals/dom-iterables.js ***! 2793 \*********************************************************/ 2794/*! no static exports found */ 2795/***/ (function(module, exports) { 2796 2797// iterable DOM collections 2798// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods 2799module.exports = { 2800 CSSRuleList: 0, 2801 CSSStyleDeclaration: 0, 2802 CSSValueList: 0, 2803 ClientRectList: 0, 2804 DOMRectList: 0, 2805 DOMStringList: 0, 2806 DOMTokenList: 1, 2807 DataTransferItemList: 0, 2808 FileList: 0, 2809 HTMLAllCollection: 0, 2810 HTMLCollection: 0, 2811 HTMLFormElement: 0, 2812 HTMLSelectElement: 0, 2813 MediaList: 0, 2814 MimeTypeArray: 0, 2815 NamedNodeMap: 0, 2816 NodeList: 1, 2817 PaintRequestList: 0, 2818 Plugin: 0, 2819 PluginArray: 0, 2820 SVGLengthList: 0, 2821 SVGNumberList: 0, 2822 SVGPathSegList: 0, 2823 SVGPointList: 0, 2824 SVGStringList: 0, 2825 SVGTransformList: 0, 2826 SourceBufferList: 0, 2827 StyleSheetList: 0, 2828 TextTrackCueList: 0, 2829 TextTrackList: 0, 2830 TouchList: 0 2831}; 2832 2833 2834/***/ }), 2835
vendor: 550 bytes, lines 2836-2849
2836/***/ "./node_modules/core-js/internals/engine-is-ios.js": 2837/*!*********************************************************!*\ 2838 !*** ./node_modules/core-js/internals/engine-is-ios.js ***! 2839 \*********************************************************/ 2840/*! no static exports found */ 2841/***/ (function(module, exports, __webpack_require__) { 2842 2843var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); 2844 2845module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); 2846 2847 2848/***/ }), 2849
vendor: 633 bytes, lines 2850-2864
2850/***/ "./node_modules/core-js/internals/engine-is-node.js": 2851/*!**********************************************************!*\ 2852 !*** ./node_modules/core-js/internals/engine-is-node.js ***! 2853 \**********************************************************/ 2854/*! no static exports found */ 2855/***/ (function(module, exports, __webpack_require__) { 2856 2857var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 2858var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2859 2860module.exports = classof(global.process) == 'process'; 2861 2862 2863/***/ }), 2864
vendor: 549 bytes, lines 2865-2878
2865/***/ "./node_modules/core-js/internals/engine-user-agent.js": 2866/*!*************************************************************!*\ 2867 !*** ./node_modules/core-js/internals/engine-user-agent.js ***! 2868 \*************************************************************/ 2869/*! no static exports found */ 2870/***/ (function(module, exports, __webpack_require__) { 2871 2872var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 2873 2874module.exports = getBuiltIn('navigator', 'userAgent') || ''; 2875 2876 2877/***/ }), 2878
vendor: 1,027 bytes, lines 2879-2909
2879/***/ "./node_modules/core-js/internals/engine-v8-version.js": 2880/*!*************************************************************!*\ 2881 !*** ./node_modules/core-js/internals/engine-v8-version.js ***! 2882 \*************************************************************/ 2883/*! no static exports found */ 2884/***/ (function(module, exports, __webpack_require__) { 2885 2886var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2887var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); 2888 2889var process = global.process; 2890var versions = process && process.versions; 2891var v8 = versions && versions.v8; 2892var match, version; 2893 2894if (v8) { 2895 match = v8.split('.'); 2896 version = match[0] + match[1]; 2897} else if (userAgent) { 2898 match = userAgent.match(/Edge\/(\d+)/); 2899 if (!match || match[1] >= 74) { 2900 match = userAgent.match(/Chrome\/(\d+)/); 2901 if (match) version = match[1]; 2902 } 2903} 2904 2905module.exports = version && +version; 2906 2907 2908/***/ }), 2909
vendor: 505 bytes, lines 2910-2930
2910/***/ "./node_modules/core-js/internals/enum-bug-keys.js": 2911/*!*********************************************************!*\ 2912 !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! 2913 \*********************************************************/ 2914/*! no static exports found */ 2915/***/ (function(module, exports) { 2916 2917// IE8- don't enum bug keys 2918module.exports = [ 2919 'constructor', 2920 'hasOwnProperty', 2921 'isPrototypeOf', 2922 'propertyIsEnumerable', 2923 'toLocaleString', 2924 'toString', 2925 'valueOf' 2926]; 2927 2928 2929/***/ }), 2930
vendor: 3,355 bytes, lines 2931-2995
2931/***/ "./node_modules/core-js/internals/export.js": 2932/*!**************************************************!*\ 2933 !*** ./node_modules/core-js/internals/export.js ***! 2934 \**************************************************/ 2935/*! no static exports found */ 2936/***/ (function(module, exports, __webpack_require__) { 2937 2938var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2939var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 2940var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 2941var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 2942var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); 2943var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); 2944var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 2945 2946/* 2947 options.target - name of the target object 2948 options.global - target is the global object 2949 options.stat - export as static methods of target 2950 options.proto - export as prototype methods of target 2951 options.real - real prototype method for the `pure` version 2952 options.forced - export even if the native feature is available 2953 options.bind - bind methods to the target, required for the `pure` version 2954 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 2955 options.unsafe - use the simple assignment of property instead of delete + defineProperty 2956 options.sham - add a flag to not completely full polyfills 2957 options.enumerable - export as enumerable property 2958 options.noTargetGet - prevent calling a getter on target 2959*/ 2960module.exports = function (options, source) { 2961 var TARGET = options.target; 2962 var GLOBAL = options.global; 2963 var STATIC = options.stat; 2964 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 2965 if (GLOBAL) { 2966 target = global; 2967 } else if (STATIC) { 2968 target = global[TARGET] || setGlobal(TARGET, {}); 2969 } else { 2970 target = (global[TARGET] || {}).prototype; 2971 } 2972 if (target) for (key in source) { 2973 sourceProperty = source[key]; 2974 if (options.noTargetGet) { 2975 descriptor = getOwnPropertyDescriptor(target, key); 2976 targetProperty = descriptor && descriptor.value; 2977 } else targetProperty = target[key]; 2978 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 2979 // contained in target 2980 if (!FORCED && targetProperty !== undefined) { 2981 if (typeof sourceProperty === typeof targetProperty) continue; 2982 copyConstructorProperties(sourceProperty, targetProperty); 2983 } 2984 // add a flag to not completely full polyfills 2985 if (options.sham || (targetProperty && targetProperty.sham)) { 2986 createNonEnumerableProperty(sourceProperty, 'sham', true); 2987 } 2988 // extend global 2989 redefine(target, key, sourceProperty, options); 2990 } 2991}; 2992 2993 2994/***/ }), 2995
vendor: 403 bytes, lines 2996-3013
2996/***/ "./node_modules/core-js/internals/fails.js": 2997/*!*************************************************!*\ 2998 !*** ./node_modules/core-js/internals/fails.js ***! 2999 \*************************************************/ 3000/*! no static exports found */ 3001/***/ (function(module, exports) { 3002 3003module.exports = function (exec) { 3004 try { 3005 return !!exec(); 3006 } catch (error) { 3007 return true; 3008 } 3009}; 3010 3011 3012/***/ }), 3013
vendor: 5,515 bytes, lines 3014-3150
3014/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js": 3015/*!******************************************************************************!*\ 3016 !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***! 3017 \******************************************************************************/ 3018/*! no static exports found */ 3019/***/ (function(module, exports, __webpack_require__) { 3020 3021"use strict"; 3022 3023// TODO: Remove from `core-js@4` since it's moved to entry points 3024__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 3025var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 3026var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3027var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3028var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 3029var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 3030 3031var SPECIES = wellKnownSymbol('species'); 3032 3033var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 3034 // #replace needs built-in support for named groups. 3035 // #match works fine because it just return the exec results, even if it has 3036 // a "grops" property. 3037 var re = /./; 3038 re.exec = function () { 3039 var result = []; 3040 result.groups = { a: '7' }; 3041 return result; 3042 }; 3043 return ''.replace(re, '$<a>') !== '7'; 3044}); 3045 3046// IE <= 11 replaces $0 with the whole match, as if it was $& 3047// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 3048var REPLACE_KEEPS_$0 = (function () { 3049 return 'a'.replace(/./, '$0') === '$0'; 3050})(); 3051 3052var REPLACE = wellKnownSymbol('replace'); 3053// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string 3054var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { 3055 if (/./[REPLACE]) { 3056 return /./[REPLACE]('a', '$0') === ''; 3057 } 3058 return false; 3059})(); 3060 3061// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 3062// Weex JS has frozen built-in prototypes, so use try / catch wrapper 3063var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { 3064 var re = /(?:)/; 3065 var originalExec = re.exec; 3066 re.exec = function () { return originalExec.apply(this, arguments); }; 3067 var result = 'ab'.split(re); 3068 return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; 3069}); 3070 3071module.exports = function (KEY, length, exec, sham) { 3072 var SYMBOL = wellKnownSymbol(KEY); 3073 3074 var DELEGATES_TO_SYMBOL = !fails(function () { 3075 // String methods call symbol-named RegEp methods 3076 var O = {}; 3077 O[SYMBOL] = function () { return 7; }; 3078 return ''[KEY](O) != 7; 3079 }); 3080 3081 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { 3082 // Symbol-named RegExp methods call .exec 3083 var execCalled = false; 3084 var re = /a/; 3085 3086 if (KEY === 'split') { 3087 // We can't use real regex here since it causes deoptimization 3088 // and serious performance degradation in V8 3089 // https://github.com/zloirock/core-js/issues/306 3090 re = {}; 3091 // RegExp[@@split] doesn't call the regex's exec method, but first creates 3092 // a new one. We need to return the patched regex when creating the new one. 3093 re.constructor = {}; 3094 re.constructor[SPECIES] = function () { return re; }; 3095 re.flags = ''; 3096 re[SYMBOL] = /./[SYMBOL]; 3097 } 3098 3099 re.exec = function () { execCalled = true; return null; }; 3100 3101 re[SYMBOL](''); 3102 return !execCalled; 3103 }); 3104 3105 if ( 3106 !DELEGATES_TO_SYMBOL || 3107 !DELEGATES_TO_EXEC || 3108 (KEY === 'replace' && !( 3109 REPLACE_SUPPORTS_NAMED_GROUPS && 3110 REPLACE_KEEPS_$0 && 3111 !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 3112 )) || 3113 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 3114 ) { 3115 var nativeRegExpMethod = /./[SYMBOL]; 3116 var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { 3117 if (regexp.exec === regexpExec) { 3118 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 3119 // The native String method already delegates to @@method (this 3120 // polyfilled function), leasing to infinite recursion. 3121 // We avoid it by directly calling the native @@method method. 3122 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 3123 } 3124 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 3125 } 3126 return { done: false }; 3127 }, { 3128 REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, 3129 REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 3130 }); 3131 var stringMethod = methods[0]; 3132 var regexMethod = methods[1]; 3133 3134 redefine(String.prototype, KEY, stringMethod); 3135 redefine(RegExp.prototype, SYMBOL, length == 2 3136 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 3137 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 3138 ? function (string, arg) { return regexMethod.call(string, this, arg); } 3139 // 21.2.5.6 RegExp.prototype[@@match](string) 3140 // 21.2.5.9 RegExp.prototype[@@search](string) 3141 : function (string) { return regexMethod.call(string, this); } 3142 ); 3143 } 3144 3145 if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); 3146}; 3147 3148 3149/***/ }), 3150
vendor: 1,683 bytes, lines 3151-3194
3151/***/ "./node_modules/core-js/internals/flatten-into-array.js": 3152/*!**************************************************************!*\ 3153 !*** ./node_modules/core-js/internals/flatten-into-array.js ***! 3154 \**************************************************************/ 3155/*! no static exports found */ 3156/***/ (function(module, exports, __webpack_require__) { 3157 3158"use strict"; 3159 3160var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 3161var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 3162var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 3163 3164// `FlattenIntoArray` abstract operation 3165// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray 3166var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { 3167 var targetIndex = start; 3168 var sourceIndex = 0; 3169 var mapFn = mapper ? bind(mapper, thisArg, 3) : false; 3170 var element; 3171 3172 while (sourceIndex < sourceLen) { 3173 if (sourceIndex in source) { 3174 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; 3175 3176 if (depth > 0 && isArray(element)) { 3177 targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; 3178 } else { 3179 if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); 3180 target[targetIndex] = element; 3181 } 3182 3183 targetIndex++; 3184 } 3185 sourceIndex++; 3186 } 3187 return targetIndex; 3188}; 3189 3190module.exports = flattenIntoArray; 3191 3192 3193/***/ }), 3194
vendor: 535 bytes, lines 3195-3210
3195/***/ "./node_modules/core-js/internals/freezing.js": 3196/*!****************************************************!*\ 3197 !*** ./node_modules/core-js/internals/freezing.js ***! 3198 \****************************************************/ 3199/*! no static exports found */ 3200/***/ (function(module, exports, __webpack_require__) { 3201 3202var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3203 3204module.exports = !fails(function () { 3205 return Object.isExtensible(Object.preventExtensions({})); 3206}); 3207 3208 3209/***/ }), 3210
vendor: 1,045 bytes, lines 3211-3245
3211/***/ "./node_modules/core-js/internals/function-bind-context.js": 3212/*!*****************************************************************!*\ 3213 !*** ./node_modules/core-js/internals/function-bind-context.js ***! 3214 \*****************************************************************/ 3215/*! no static exports found */ 3216/***/ (function(module, exports, __webpack_require__) { 3217 3218var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 3219 3220// optional / simple context binding 3221module.exports = function (fn, that, length) { 3222 aFunction(fn); 3223 if (that === undefined) return fn; 3224 switch (length) { 3225 case 0: return function () { 3226 return fn.call(that); 3227 }; 3228 case 1: return function (a) { 3229 return fn.call(that, a); 3230 }; 3231 case 2: return function (a, b) { 3232 return fn.call(that, a, b); 3233 }; 3234 case 3: return function (a, b, c) { 3235 return fn.call(that, a, b, c); 3236 }; 3237 } 3238 return function (/* ...args */) { 3239 return fn.apply(that, arguments); 3240 }; 3241}; 3242 3243 3244/***/ }), 3245
vendor: 1,547 bytes, lines 3246-3284
3246/***/ "./node_modules/core-js/internals/function-bind.js": 3247/*!*********************************************************!*\ 3248 !*** ./node_modules/core-js/internals/function-bind.js ***! 3249 \*********************************************************/ 3250/*! no static exports found */ 3251/***/ (function(module, exports, __webpack_require__) { 3252 3253"use strict"; 3254 3255var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 3256var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3257 3258var slice = [].slice; 3259var factories = {}; 3260 3261var construct = function (C, argsLength, args) { 3262 if (!(argsLength in factories)) { 3263 for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; 3264 // eslint-disable-next-line no-new-func 3265 factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); 3266 } return factories[argsLength](C, args); 3267}; 3268 3269// `Function.prototype.bind` method implementation 3270// https://tc39.github.io/ecma262/#sec-function.prototype.bind 3271module.exports = Function.bind || function bind(that /* , ...args */) { 3272 var fn = aFunction(this); 3273 var partArgs = slice.call(arguments, 1); 3274 var boundFunction = function bound(/* args... */) { 3275 var args = partArgs.concat(slice.call(arguments)); 3276 return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); 3277 }; 3278 if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; 3279 return boundFunction; 3280}; 3281 3282 3283/***/ }), 3284
vendor: 900 bytes, lines 3285-3306
3285/***/ "./node_modules/core-js/internals/get-built-in.js": 3286/*!********************************************************!*\ 3287 !*** ./node_modules/core-js/internals/get-built-in.js ***! 3288 \********************************************************/ 3289/*! no static exports found */ 3290/***/ (function(module, exports, __webpack_require__) { 3291 3292var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); 3293var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3294 3295var aFunction = function (variable) { 3296 return typeof variable == 'function' ? variable : undefined; 3297}; 3298 3299module.exports = function (namespace, method) { 3300 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) 3301 : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; 3302}; 3303 3304 3305/***/ }), 3306
vendor: 916 bytes, lines 3307-3328
3307/***/ "./node_modules/core-js/internals/get-iterator-method.js": 3308/*!***************************************************************!*\ 3309 !*** ./node_modules/core-js/internals/get-iterator-method.js ***! 3310 \***************************************************************/ 3311/*! no static exports found */ 3312/***/ (function(module, exports, __webpack_require__) { 3313 3314var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 3315var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); 3316var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3317 3318var ITERATOR = wellKnownSymbol('iterator'); 3319 3320module.exports = function (it) { 3321 if (it != undefined) return it[ITERATOR] 3322 || it['@@iterator'] 3323 || Iterators[classof(it)]; 3324}; 3325 3326 3327/***/ }), 3328
vendor: 831 bytes, lines 3329-3348
3329/***/ "./node_modules/core-js/internals/get-iterator.js": 3330/*!********************************************************!*\ 3331 !*** ./node_modules/core-js/internals/get-iterator.js ***! 3332 \********************************************************/ 3333/*! no static exports found */ 3334/***/ (function(module, exports, __webpack_require__) { 3335 3336var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3337var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); 3338 3339module.exports = function (it) { 3340 var iteratorMethod = getIteratorMethod(it); 3341 if (typeof iteratorMethod != 'function') { 3342 throw TypeError(String(it) + ' is not iterable'); 3343 } return anObject(iteratorMethod.call(it)); 3344}; 3345 3346 3347/***/ }), 3348
vendor: 1,014 bytes, lines 3349-3373
3349/***/ "./node_modules/core-js/internals/global.js": 3350/*!**************************************************!*\ 3351 !*** ./node_modules/core-js/internals/global.js ***! 3352 \**************************************************/ 3353/*! no static exports found */ 3354/***/ (function(module, exports, __webpack_require__) { 3355 3356/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { 3357 return it && it.Math == Math && it; 3358}; 3359 3360// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 3361module.exports = 3362 // eslint-disable-next-line no-undef 3363 check(typeof globalThis == 'object' && globalThis) || 3364 check(typeof window == 'object' && window) || 3365 check(typeof self == 'object' && self) || 3366 check(typeof global == 'object' && global) || 3367 // eslint-disable-next-line no-new-func 3368 (function () { return this; })() || Function('return this')(); 3369 3370/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) 3371 3372/***/ }), 3373
vendor: 408 bytes, lines 3374-3389
3374/***/ "./node_modules/core-js/internals/has.js": 3375/*!***********************************************!*\ 3376 !*** ./node_modules/core-js/internals/has.js ***! 3377 \***********************************************/ 3378/*! no static exports found */ 3379/***/ (function(module, exports) { 3380 3381var hasOwnProperty = {}.hasOwnProperty; 3382 3383module.exports = function (it, key) { 3384 return hasOwnProperty.call(it, key); 3385}; 3386 3387 3388/***/ }), 3389
vendor: 340 bytes, lines 3390-3401
3390/***/ "./node_modules/core-js/internals/hidden-keys.js": 3391/*!*******************************************************!*\ 3392 !*** ./node_modules/core-js/internals/hidden-keys.js ***! 3393 \*******************************************************/ 3394/*! no static exports found */ 3395/***/ (function(module, exports) { 3396 3397module.exports = {}; 3398 3399 3400/***/ }), 3401
vendor: 653 bytes, lines 3402-3420
3402/***/ "./node_modules/core-js/internals/host-report-errors.js": 3403/*!**************************************************************!*\ 3404 !*** ./node_modules/core-js/internals/host-report-errors.js ***! 3405 \**************************************************************/ 3406/*! no static exports found */ 3407/***/ (function(module, exports, __webpack_require__) { 3408 3409var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3410 3411module.exports = function (a, b) { 3412 var console = global.console; 3413 if (console && console.error) { 3414 arguments.length === 1 ? console.error(a) : console.error(a, b); 3415 } 3416}; 3417 3418 3419/***/ }), 3420
vendor: 496 bytes, lines 3421-3434
3421/***/ "./node_modules/core-js/internals/html.js": 3422/*!************************************************!*\ 3423 !*** ./node_modules/core-js/internals/html.js ***! 3424 \************************************************/ 3425/*! no static exports found */ 3426/***/ (function(module, exports, __webpack_require__) { 3427 3428var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 3429 3430module.exports = getBuiltIn('document', 'documentElement'); 3431 3432 3433/***/ }), 3434
vendor: 937 bytes, lines 3435-3455
3435/***/ "./node_modules/core-js/internals/ie8-dom-define.js": 3436/*!**********************************************************!*\ 3437 !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! 3438 \**********************************************************/ 3439/*! no static exports found */ 3440/***/ (function(module, exports, __webpack_require__) { 3441 3442var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 3443var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3444var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); 3445 3446// Thank's IE8 for his funny defineProperty 3447module.exports = !DESCRIPTORS && !fails(function () { 3448 return Object.defineProperty(createElement('div'), 'a', { 3449 get: function () { return 7; } 3450 }).a != 7; 3451}); 3452 3453 3454/***/ }), 3455
vendor: 3,135 bytes, lines 3456-3554
3456/***/ "./node_modules/core-js/internals/ieee754.js": 3457/*!***************************************************!*\ 3458 !*** ./node_modules/core-js/internals/ieee754.js ***! 3459 \***************************************************/ 3460/*! no static exports found */ 3461/***/ (function(module, exports) { 3462 3463// IEEE754 conversions based on https://github.com/feross/ieee754 3464// eslint-disable-next-line no-shadow-restricted-names 3465var Infinity = 1 / 0; 3466var abs = Math.abs; 3467var pow = Math.pow; 3468var floor = Math.floor; 3469var log = Math.log; 3470var LN2 = Math.LN2; 3471 3472var pack = function (number, mantissaLength, bytes) { 3473 var buffer = new Array(bytes); 3474 var exponentLength = bytes * 8 - mantissaLength - 1; 3475 var eMax = (1 << exponentLength) - 1; 3476 var eBias = eMax >> 1; 3477 var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; 3478 var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; 3479 var index = 0; 3480 var exponent, mantissa, c; 3481 number = abs(number); 3482 // eslint-disable-next-line no-self-compare 3483 if (number != number || number === Infinity) { 3484 // eslint-disable-next-line no-self-compare 3485 mantissa = number != number ? 1 : 0; 3486 exponent = eMax; 3487 } else { 3488 exponent = floor(log(number) / LN2); 3489 if (number * (c = pow(2, -exponent)) < 1) { 3490 exponent--; 3491 c *= 2; 3492 } 3493 if (exponent + eBias >= 1) { 3494 number += rt / c; 3495 } else { 3496 number += rt * pow(2, 1 - eBias); 3497 } 3498 if (number * c >= 2) { 3499 exponent++; 3500 c /= 2; 3501 } 3502 if (exponent + eBias >= eMax) { 3503 mantissa = 0; 3504 exponent = eMax; 3505 } else if (exponent + eBias >= 1) { 3506 mantissa = (number * c - 1) * pow(2, mantissaLength); 3507 exponent = exponent + eBias; 3508 } else { 3509 mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); 3510 exponent = 0; 3511 } 3512 } 3513 for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); 3514 exponent = exponent << mantissaLength | mantissa; 3515 exponentLength += mantissaLength; 3516 for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); 3517 buffer[--index] |= sign * 128; 3518 return buffer; 3519}; 3520 3521var unpack = function (buffer, mantissaLength) { 3522 var bytes = buffer.length; 3523 var exponentLength = bytes * 8 - mantissaLength - 1; 3524 var eMax = (1 << exponentLength) - 1; 3525 var eBias = eMax >> 1; 3526 var nBits = exponentLength - 7; 3527 var index = bytes - 1; 3528 var sign = buffer[index--]; 3529 var exponent = sign & 127; 3530 var mantissa; 3531 sign >>= 7; 3532 for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); 3533 mantissa = exponent & (1 << -nBits) - 1; 3534 exponent >>= -nBits; 3535 nBits += mantissaLength; 3536 for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); 3537 if (exponent === 0) { 3538 exponent = 1 - eBias; 3539 } else if (exponent === eMax) { 3540 return mantissa ? NaN : sign ? -Infinity : Infinity; 3541 } else { 3542 mantissa = mantissa + pow(2, mantissaLength); 3543 exponent = exponent - eBias; 3544 } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); 3545}; 3546 3547module.exports = { 3548 pack: pack, 3549 unpack: unpack 3550}; 3551 3552 3553/***/ }), 3554
vendor: 983 bytes, lines 3555-3578
3555/***/ "./node_modules/core-js/internals/indexed-object.js": 3556/*!**********************************************************!*\ 3557 !*** ./node_modules/core-js/internals/indexed-object.js ***! 3558 \**********************************************************/ 3559/*! no static exports found */ 3560/***/ (function(module, exports, __webpack_require__) { 3561 3562var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3563var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 3564 3565var split = ''.split; 3566 3567// fallback for non-array-like ES3 and non-enumerable old V8 strings 3568module.exports = fails(function () { 3569 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 3570 // eslint-disable-next-line no-prototype-builtins 3571 return !Object('z').propertyIsEnumerable(0); 3572}) ? function (it) { 3573 return classof(it) == 'String' ? split.call(it, '') : Object(it); 3574} : Object; 3575 3576 3577/***/ }), 3578
vendor: 1,209 bytes, lines 3579-3606
3579/***/ "./node_modules/core-js/internals/inherit-if-required.js": 3580/*!***************************************************************!*\ 3581 !*** ./node_modules/core-js/internals/inherit-if-required.js ***! 3582 \***************************************************************/ 3583/*! no static exports found */ 3584/***/ (function(module, exports, __webpack_require__) { 3585 3586var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3587var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 3588 3589// makes subclassing work correct for wrapped built-ins 3590module.exports = function ($this, dummy, Wrapper) { 3591 var NewTarget, NewTargetPrototype; 3592 if ( 3593 // it can work only with native `setPrototypeOf` 3594 setPrototypeOf && 3595 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 3596 typeof (NewTarget = dummy.constructor) == 'function' && 3597 NewTarget !== Wrapper && 3598 isObject(NewTargetPrototype = NewTarget.prototype) && 3599 NewTargetPrototype !== Wrapper.prototype 3600 ) setPrototypeOf($this, NewTargetPrototype); 3601 return $this; 3602}; 3603 3604 3605/***/ }), 3606
vendor: 758 bytes, lines 3607-3629
3607/***/ "./node_modules/core-js/internals/inspect-source.js": 3608/*!**********************************************************!*\ 3609 !*** ./node_modules/core-js/internals/inspect-source.js ***! 3610 \**********************************************************/ 3611/*! no static exports found */ 3612/***/ (function(module, exports, __webpack_require__) { 3613 3614var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 3615 3616var functionToString = Function.toString; 3617 3618// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper 3619if (typeof store.inspectSource != 'function') { 3620 store.inspectSource = function (it) { 3621 return functionToString.call(it); 3622 }; 3623} 3624 3625module.exports = store.inspectSource; 3626 3627 3628/***/ }), 3629
vendor: 2,522 bytes, lines 3630-3701
3630/***/ "./node_modules/core-js/internals/internal-metadata.js": 3631/*!*************************************************************!*\ 3632 !*** ./node_modules/core-js/internals/internal-metadata.js ***! 3633 \*************************************************************/ 3634/*! no static exports found */ 3635/***/ (function(module, exports, __webpack_require__) { 3636 3637var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 3638var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3639var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 3640var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 3641var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 3642var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); 3643 3644var METADATA = uid('meta'); 3645var id = 0; 3646 3647var isExtensible = Object.isExtensible || function () { 3648 return true; 3649}; 3650 3651var setMetadata = function (it) { 3652 defineProperty(it, METADATA, { value: { 3653 objectID: 'O' + ++id, // object ID 3654 weakData: {} // weak collections IDs 3655 } }); 3656}; 3657 3658var fastKey = function (it, create) { 3659 // return a primitive with prefix 3660 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; 3661 if (!has(it, METADATA)) { 3662 // can't set metadata to uncaught frozen object 3663 if (!isExtensible(it)) return 'F'; 3664 // not necessary to add metadata 3665 if (!create) return 'E'; 3666 // add missing metadata 3667 setMetadata(it); 3668 // return object ID 3669 } return it[METADATA].objectID; 3670}; 3671 3672var getWeakData = function (it, create) { 3673 if (!has(it, METADATA)) { 3674 // can't set metadata to uncaught frozen object 3675 if (!isExtensible(it)) return true; 3676 // not necessary to add metadata 3677 if (!create) return false; 3678 // add missing metadata 3679 setMetadata(it); 3680 // return the store of weak collections IDs 3681 } return it[METADATA].weakData; 3682}; 3683 3684// add metadata on freeze-family methods calling 3685var onFreeze = function (it) { 3686 if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); 3687 return it; 3688}; 3689 3690var meta = module.exports = { 3691 REQUIRED: false, 3692 fastKey: fastKey, 3693 getWeakData: getWeakData, 3694 onFreeze: onFreeze 3695}; 3696 3697hiddenKeys[METADATA] = true; 3698 3699 3700/***/ }), 3701
vendor: 2,578 bytes, lines 3702-3776
3702/***/ "./node_modules/core-js/internals/internal-state.js": 3703/*!**********************************************************!*\ 3704 !*** ./node_modules/core-js/internals/internal-state.js ***! 3705 \**********************************************************/ 3706/*! no static exports found */ 3707/***/ (function(module, exports, __webpack_require__) { 3708 3709var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); 3710var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3711var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3712var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 3713var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 3714var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 3715var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 3716var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 3717 3718var WeakMap = global.WeakMap; 3719var set, get, has; 3720 3721var enforce = function (it) { 3722 return has(it) ? get(it) : set(it, {}); 3723}; 3724 3725var getterFor = function (TYPE) { 3726 return function (it) { 3727 var state; 3728 if (!isObject(it) || (state = get(it)).type !== TYPE) { 3729 throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 3730 } return state; 3731 }; 3732}; 3733 3734if (NATIVE_WEAK_MAP) { 3735 var store = shared.state || (shared.state = new WeakMap()); 3736 var wmget = store.get; 3737 var wmhas = store.has; 3738 var wmset = store.set; 3739 set = function (it, metadata) { 3740 metadata.facade = it; 3741 wmset.call(store, it, metadata); 3742 return metadata; 3743 }; 3744 get = function (it) { 3745 return wmget.call(store, it) || {}; 3746 }; 3747 has = function (it) { 3748 return wmhas.call(store, it); 3749 }; 3750} else { 3751 var STATE = sharedKey('state'); 3752 hiddenKeys[STATE] = true; 3753 set = function (it, metadata) { 3754 metadata.facade = it; 3755 createNonEnumerableProperty(it, STATE, metadata); 3756 return metadata; 3757 }; 3758 get = function (it) { 3759 return objectHas(it, STATE) ? it[STATE] : {}; 3760 }; 3761 has = function (it) { 3762 return objectHas(it, STATE); 3763 }; 3764} 3765 3766module.exports = { 3767 set: set, 3768 get: get, 3769 has: has, 3770 enforce: enforce, 3771 getterFor: getterFor 3772}; 3773 3774 3775/***/ }), 3776
vendor: 891 bytes, lines 3777-3797
3777/***/ "./node_modules/core-js/internals/is-array-iterator-method.js": 3778/*!********************************************************************!*\ 3779 !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! 3780 \********************************************************************/ 3781/*! no static exports found */ 3782/***/ (function(module, exports, __webpack_require__) { 3783 3784var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3785var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); 3786 3787var ITERATOR = wellKnownSymbol('iterator'); 3788var ArrayPrototype = Array.prototype; 3789 3790// check on default Array iterator 3791module.exports = function (it) { 3792 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); 3793}; 3794 3795 3796/***/ }), 3797
vendor: 621 bytes, lines 3798-3815
3798/***/ "./node_modules/core-js/internals/is-array.js": 3799/*!****************************************************!*\ 3800 !*** ./node_modules/core-js/internals/is-array.js ***! 3801 \****************************************************/ 3802/*! no static exports found */ 3803/***/ (function(module, exports, __webpack_require__) { 3804 3805var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 3806 3807// `IsArray` abstract operation 3808// https://tc39.github.io/ecma262/#sec-isarray 3809module.exports = Array.isArray || function isArray(arg) { 3810 return classof(arg) == 'Array'; 3811}; 3812 3813 3814/***/ }), 3815
vendor: 966 bytes, lines 3816-3847
3816/***/ "./node_modules/core-js/internals/is-forced.js": 3817/*!*****************************************************!*\ 3818 !*** ./node_modules/core-js/internals/is-forced.js ***! 3819 \*****************************************************/ 3820/*! no static exports found */ 3821/***/ (function(module, exports, __webpack_require__) { 3822 3823var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3824 3825var replacement = /#|\.prototype\./; 3826 3827var isForced = function (feature, detection) { 3828 var value = data[normalize(feature)]; 3829 return value == POLYFILL ? true 3830 : value == NATIVE ? false 3831 : typeof detection == 'function' ? fails(detection) 3832 : !!detection; 3833}; 3834 3835var normalize = isForced.normalize = function (string) { 3836 return String(string).replace(replacement, '.').toLowerCase(); 3837}; 3838 3839var data = isForced.data = {}; 3840var NATIVE = isForced.NATIVE = 'N'; 3841var POLYFILL = isForced.POLYFILL = 'P'; 3842 3843module.exports = isForced; 3844 3845 3846/***/ }), 3847
vendor: 682 bytes, lines 3848-3867
3848/***/ "./node_modules/core-js/internals/is-integer.js": 3849/*!******************************************************!*\ 3850 !*** ./node_modules/core-js/internals/is-integer.js ***! 3851 \******************************************************/ 3852/*! no static exports found */ 3853/***/ (function(module, exports, __webpack_require__) { 3854 3855var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3856 3857var floor = Math.floor; 3858 3859// `Number.isInteger` method implementation 3860// https://tc39.github.io/ecma262/#sec-number.isinteger 3861module.exports = function isInteger(it) { 3862 return !isObject(it) && isFinite(it) && floor(it) === it; 3863}; 3864 3865 3866/***/ }), 3867
vendor: 421 bytes, lines 3868-3881
3868/***/ "./node_modules/core-js/internals/is-object.js": 3869/*!*****************************************************!*\ 3870 !*** ./node_modules/core-js/internals/is-object.js ***! 3871 \*****************************************************/ 3872/*! no static exports found */ 3873/***/ (function(module, exports) { 3874 3875module.exports = function (it) { 3876 return typeof it === 'object' ? it !== null : typeof it === 'function'; 3877}; 3878 3879 3880/***/ }), 3881
vendor: 327 bytes, lines 3882-3893
3882/***/ "./node_modules/core-js/internals/is-pure.js": 3883/*!***************************************************!*\ 3884 !*** ./node_modules/core-js/internals/is-pure.js ***! 3885 \***************************************************/ 3886/*! no static exports found */ 3887/***/ (function(module, exports) { 3888 3889module.exports = false; 3890 3891 3892/***/ }), 3893
vendor: 980 bytes, lines 3894-3916
3894/***/ "./node_modules/core-js/internals/is-regexp.js": 3895/*!*****************************************************!*\ 3896 !*** ./node_modules/core-js/internals/is-regexp.js ***! 3897 \*****************************************************/ 3898/*! no static exports found */ 3899/***/ (function(module, exports, __webpack_require__) { 3900 3901var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3902var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 3903var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3904 3905var MATCH = wellKnownSymbol('match'); 3906 3907// `IsRegExp` abstract operation 3908// https://tc39.github.io/ecma262/#sec-isregexp 3909module.exports = function (it) { 3910 var isRegExp; 3911 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); 3912}; 3913 3914 3915/***/ }), 3916
vendor: 2,813 bytes, lines 3917-3985
3917/***/ "./node_modules/core-js/internals/iterate.js": 3918/*!***************************************************!*\ 3919 !*** ./node_modules/core-js/internals/iterate.js ***! 3920 \***************************************************/ 3921/*! no static exports found */ 3922/***/ (function(module, exports, __webpack_require__) { 3923 3924var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3925var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); 3926var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 3927var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 3928var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); 3929var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js"); 3930 3931var Result = function (stopped, result) { 3932 this.stopped = stopped; 3933 this.result = result; 3934}; 3935 3936module.exports = function (iterable, unboundFunction, options) { 3937 var that = options && options.that; 3938 var AS_ENTRIES = !!(options && options.AS_ENTRIES); 3939 var IS_ITERATOR = !!(options && options.IS_ITERATOR); 3940 var INTERRUPTED = !!(options && options.INTERRUPTED); 3941 var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); 3942 var iterator, iterFn, index, length, result, next, step; 3943 3944 var stop = function (condition) { 3945 if (iterator) iteratorClose(iterator); 3946 return new Result(true, condition); 3947 }; 3948 3949 var callFn = function (value) { 3950 if (AS_ENTRIES) { 3951 anObject(value); 3952 return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); 3953 } return INTERRUPTED ? fn(value, stop) : fn(value); 3954 }; 3955 3956 if (IS_ITERATOR) { 3957 iterator = iterable; 3958 } else { 3959 iterFn = getIteratorMethod(iterable); 3960 if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); 3961 // optimisation for array iterators 3962 if (isArrayIteratorMethod(iterFn)) { 3963 for (index = 0, length = toLength(iterable.length); length > index; index++) { 3964 result = callFn(iterable[index]); 3965 if (result && result instanceof Result) return result; 3966 } return new Result(false); 3967 } 3968 iterator = iterFn.call(iterable); 3969 } 3970 3971 next = iterator.next; 3972 while (!(step = next.call(iterator)).done) { 3973 try { 3974 result = callFn(step.value); 3975 } catch (error) { 3976 iteratorClose(iterator); 3977 throw error; 3978 } 3979 if (typeof result == 'object' && result && result instanceof Result) return result; 3980 } return new Result(false); 3981}; 3982 3983 3984/***/ }), 3985
vendor: 647 bytes, lines 3986-4004
3986/***/ "./node_modules/core-js/internals/iterator-close.js": 3987/*!**********************************************************!*\ 3988 !*** ./node_modules/core-js/internals/iterator-close.js ***! 3989 \**********************************************************/ 3990/*! no static exports found */ 3991/***/ (function(module, exports, __webpack_require__) { 3992 3993var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3994 3995module.exports = function (iterator) { 3996 var returnMethod = iterator['return']; 3997 if (returnMethod !== undefined) { 3998 return anObject(returnMethod.call(iterator)).value; 3999 } 4000}; 4001 4002 4003/***/ }), 4004
vendor: 2,064 bytes, lines 4005-4053
4005/***/ "./node_modules/core-js/internals/iterators-core.js": 4006/*!**********************************************************!*\ 4007 !*** ./node_modules/core-js/internals/iterators-core.js ***! 4008 \**********************************************************/ 4009/*! no static exports found */ 4010/***/ (function(module, exports, __webpack_require__) { 4011 4012"use strict"; 4013 4014var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 4015var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 4016var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 4017var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 4018var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 4019 4020var ITERATOR = wellKnownSymbol('iterator'); 4021var BUGGY_SAFARI_ITERATORS = false; 4022 4023var returnThis = function () { return this; }; 4024 4025// `%IteratorPrototype%` object 4026// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object 4027var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; 4028 4029if ([].keys) { 4030 arrayIterator = [].keys(); 4031 // Safari 8 has buggy iterators w/o `next` 4032 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; 4033 else { 4034 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); 4035 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; 4036 } 4037} 4038 4039if (IteratorPrototype == undefined) IteratorPrototype = {}; 4040 4041// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 4042if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { 4043 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); 4044} 4045 4046module.exports = { 4047 IteratorPrototype: IteratorPrototype, 4048 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS 4049}; 4050 4051 4052/***/ }), 4053
vendor: 332 bytes, lines 4054-4065
4054/***/ "./node_modules/core-js/internals/iterators.js": 4055/*!*****************************************************!*\ 4056 !*** ./node_modules/core-js/internals/iterators.js ***! 4057 \*****************************************************/ 4058/*! no static exports found */ 4059/***/ (function(module, exports) { 4060 4061module.exports = {}; 4062 4063 4064/***/ }), 4065
vendor: 765 bytes, lines 4066-4089
4066/***/ "./node_modules/core-js/internals/math-expm1.js": 4067/*!******************************************************!*\ 4068 !*** ./node_modules/core-js/internals/math-expm1.js ***! 4069 \******************************************************/ 4070/*! no static exports found */ 4071/***/ (function(module, exports) { 4072 4073var nativeExpm1 = Math.expm1; 4074var exp = Math.exp; 4075 4076// `Math.expm1` method implementation 4077// https://tc39.github.io/ecma262/#sec-math.expm1 4078module.exports = (!nativeExpm1 4079 // Old FF bug 4080 || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 4081 // Tor Browser bug 4082 || nativeExpm1(-2e-17) != -2e-17 4083) ? function expm1(x) { 4084 return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; 4085} : nativeExpm1; 4086 4087 4088/***/ }), 4089
vendor: 1,209 bytes, lines 4090-4126
4090/***/ "./node_modules/core-js/internals/math-fround.js": 4091/*!*******************************************************!*\ 4092 !*** ./node_modules/core-js/internals/math-fround.js ***! 4093 \*******************************************************/ 4094/*! no static exports found */ 4095/***/ (function(module, exports, __webpack_require__) { 4096 4097var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); 4098 4099var abs = Math.abs; 4100var pow = Math.pow; 4101var EPSILON = pow(2, -52); 4102var EPSILON32 = pow(2, -23); 4103var MAX32 = pow(2, 127) * (2 - EPSILON32); 4104var MIN32 = pow(2, -126); 4105 4106var roundTiesToEven = function (n) { 4107 return n + 1 / EPSILON - 1 / EPSILON; 4108}; 4109 4110// `Math.fround` method implementation 4111// https://tc39.github.io/ecma262/#sec-math.fround 4112module.exports = Math.fround || function fround(x) { 4113 var $abs = abs(x); 4114 var $sign = sign(x); 4115 var a, result; 4116 if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; 4117 a = (1 + EPSILON32 / EPSILON) * $abs; 4118 result = a - (a - $abs); 4119 // eslint-disable-next-line no-self-compare 4120 if (result > MAX32 || result != result) return $sign * Infinity; 4121 return $sign * result; 4122}; 4123 4124 4125/***/ }), 4126
vendor: 546 bytes, lines 4127-4144
4127/***/ "./node_modules/core-js/internals/math-log1p.js": 4128/*!******************************************************!*\ 4129 !*** ./node_modules/core-js/internals/math-log1p.js ***! 4130 \******************************************************/ 4131/*! no static exports found */ 4132/***/ (function(module, exports) { 4133 4134var log = Math.log; 4135 4136// `Math.log1p` method implementation 4137// https://tc39.github.io/ecma262/#sec-math.log1p 4138module.exports = Math.log1p || function log1p(x) { 4139 return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); 4140}; 4141 4142 4143/***/ }), 4144
vendor: 550 bytes, lines 4145-4161
4145/***/ "./node_modules/core-js/internals/math-sign.js": 4146/*!*****************************************************!*\ 4147 !*** ./node_modules/core-js/internals/math-sign.js ***! 4148 \*****************************************************/ 4149/*! no static exports found */ 4150/***/ (function(module, exports) { 4151 4152// `Math.sign` method implementation 4153// https://tc39.github.io/ecma262/#sec-math.sign 4154module.exports = Math.sign || function sign(x) { 4155 // eslint-disable-next-line no-self-compare 4156 return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; 4157}; 4158 4159 4160/***/ }), 4161
vendor: 3,187 bytes, lines 4162-4250
4162/***/ "./node_modules/core-js/internals/microtask.js": 4163/*!*****************************************************!*\ 4164 !*** ./node_modules/core-js/internals/microtask.js ***! 4165 \*****************************************************/ 4166/*! no static exports found */ 4167/***/ (function(module, exports, __webpack_require__) { 4168 4169var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4170var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 4171var macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set; 4172var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js"); 4173var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 4174 4175var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; 4176var document = global.document; 4177var process = global.process; 4178var Promise = global.Promise; 4179// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` 4180var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); 4181var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; 4182 4183var flush, head, last, notify, toggle, node, promise, then; 4184 4185// modern engines have queueMicrotask method 4186if (!queueMicrotask) { 4187 flush = function () { 4188 var parent, fn; 4189 if (IS_NODE && (parent = process.domain)) parent.exit(); 4190 while (head) { 4191 fn = head.fn; 4192 head = head.next; 4193 try { 4194 fn(); 4195 } catch (error) { 4196 if (head) notify(); 4197 else last = undefined; 4198 throw error; 4199 } 4200 } last = undefined; 4201 if (parent) parent.enter(); 4202 }; 4203 4204 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 4205 if (!IS_IOS && !IS_NODE && MutationObserver && document) { 4206 toggle = true; 4207 node = document.createTextNode(''); 4208 new MutationObserver(flush).observe(node, { characterData: true }); 4209 notify = function () { 4210 node.data = toggle = !toggle; 4211 }; 4212 // environments with maybe non-completely correct, but existent Promise 4213 } else if (Promise && Promise.resolve) { 4214 // Promise.resolve without an argument throws an error in LG WebOS 2 4215 promise = Promise.resolve(undefined); 4216 then = promise.then; 4217 notify = function () { 4218 then.call(promise, flush); 4219 }; 4220 // Node.js without promises 4221 } else if (IS_NODE) { 4222 notify = function () { 4223 process.nextTick(flush); 4224 }; 4225 // for other environments - macrotask based on: 4226 // - setImmediate 4227 // - MessageChannel 4228 // - window.postMessag 4229 // - onreadystatechange 4230 // - setTimeout 4231 } else { 4232 notify = function () { 4233 // strange IE + webpack dev server bug - use .call(global) 4234 macrotask.call(global, flush); 4235 }; 4236 } 4237} 4238 4239module.exports = queueMicrotask || function (fn) { 4240 var task = { fn: fn, next: undefined }; 4241 if (last) last.next = task; 4242 if (!head) { 4243 head = task; 4244 notify(); 4245 } last = task; 4246}; 4247 4248 4249/***/ }), 4250
vendor: 541 bytes, lines 4251-4264
4251/***/ "./node_modules/core-js/internals/native-promise-constructor.js": 4252/*!**********************************************************************!*\ 4253 !*** ./node_modules/core-js/internals/native-promise-constructor.js ***! 4254 \**********************************************************************/ 4255/*! no static exports found */ 4256/***/ (function(module, exports, __webpack_require__) { 4257 4258var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4259 4260module.exports = global.Promise; 4261 4262 4263/***/ }), 4264
vendor: 652 bytes, lines 4265-4282
4265/***/ "./node_modules/core-js/internals/native-symbol.js": 4266/*!*********************************************************!*\ 4267 !*** ./node_modules/core-js/internals/native-symbol.js ***! 4268 \*********************************************************/ 4269/*! no static exports found */ 4270/***/ (function(module, exports, __webpack_require__) { 4271 4272var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4273 4274module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 4275 // Chrome 38 Symbol has incorrect toString conversion 4276 // eslint-disable-next-line no-undef 4277 return !String(Symbol()); 4278}); 4279 4280 4281/***/ }), 4282
vendor: 1,685 bytes, lines 4283-4326
4283/***/ "./node_modules/core-js/internals/native-url.js": 4284/*!******************************************************!*\ 4285 !*** ./node_modules/core-js/internals/native-url.js ***! 4286 \******************************************************/ 4287/*! no static exports found */ 4288/***/ (function(module, exports, __webpack_require__) { 4289 4290var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4291var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 4292var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 4293 4294var ITERATOR = wellKnownSymbol('iterator'); 4295 4296module.exports = !fails(function () { 4297 var url = new URL('b?a=1&b=2&c=3', 'http://a'); 4298 var searchParams = url.searchParams; 4299 var result = ''; 4300 url.pathname = 'c%20d'; 4301 searchParams.forEach(function (value, key) { 4302 searchParams['delete']('b'); 4303 result += key + value; 4304 }); 4305 return (IS_PURE && !url.toJSON) 4306 || !searchParams.sort 4307 || url.href !== 'http://a/c%20d?a=1&c=3' 4308 || searchParams.get('c') !== '3' 4309 || String(new URLSearchParams('?a=1')) !== 'a=1' 4310 || !searchParams[ITERATOR] 4311 // throws in Edge 4312 || new URL('https://a@b').username !== 'a' 4313 || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' 4314 // not punycoded in Edge 4315 || new URL('http://ÑеÑÑ').host !== 'xn--e1aybc' 4316 // not escaped in Chrome 62- 4317 || new URL('http://a#б').hash !== '#%D0%B1' 4318 // fails in Chrome 66- 4319 || result !== 'a1c3' 4320 // throws in Safari 4321 || new URL('http://x', undefined).host !== 'x'; 4322}); 4323 4324 4325/***/ }), 4326
vendor: 719 bytes, lines 4327-4343
4327/***/ "./node_modules/core-js/internals/native-weak-map.js": 4328/*!***********************************************************!*\ 4329 !*** ./node_modules/core-js/internals/native-weak-map.js ***! 4330 \***********************************************************/ 4331/*! no static exports found */ 4332/***/ (function(module, exports, __webpack_require__) { 4333 4334var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4335var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 4336 4337var WeakMap = global.WeakMap; 4338 4339module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); 4340 4341 4342/***/ }), 4343
vendor: 973 bytes, lines 4344-4373
4344/***/ "./node_modules/core-js/internals/new-promise-capability.js": 4345/*!******************************************************************!*\ 4346 !*** ./node_modules/core-js/internals/new-promise-capability.js ***! 4347 \******************************************************************/ 4348/*! no static exports found */ 4349/***/ (function(module, exports, __webpack_require__) { 4350 4351"use strict"; 4352 4353var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 4354 4355var PromiseCapability = function (C) { 4356 var resolve, reject; 4357 this.promise = new C(function ($$resolve, $$reject) { 4358 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); 4359 resolve = $$resolve; 4360 reject = $$reject; 4361 }); 4362 this.resolve = aFunction(resolve); 4363 this.reject = aFunction(reject); 4364}; 4365 4366// 25.4.1.5 NewPromiseCapability(C) 4367module.exports.f = function (C) { 4368 return new PromiseCapability(C); 4369}; 4370 4371 4372/***/ }), 4373
vendor: 603 bytes, lines 4374-4391
4374/***/ "./node_modules/core-js/internals/not-a-regexp.js": 4375/*!********************************************************!*\ 4376 !*** ./node_modules/core-js/internals/not-a-regexp.js ***! 4377 \********************************************************/ 4378/*! no static exports found */ 4379/***/ (function(module, exports, __webpack_require__) { 4380 4381var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 4382 4383module.exports = function (it) { 4384 if (isRegExp(it)) { 4385 throw TypeError("The method doesn't accept regular expressions"); 4386 } return it; 4387}; 4388 4389 4390/***/ }), 4391
vendor: 707 bytes, lines 4392-4411
4392/***/ "./node_modules/core-js/internals/number-is-finite.js": 4393/*!************************************************************!*\ 4394 !*** ./node_modules/core-js/internals/number-is-finite.js ***! 4395 \************************************************************/ 4396/*! no static exports found */ 4397/***/ (function(module, exports, __webpack_require__) { 4398 4399var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4400 4401var globalIsFinite = global.isFinite; 4402 4403// `Number.isFinite` method 4404// https://tc39.github.io/ecma262/#sec-number.isfinite 4405module.exports = Number.isFinite || function isFinite(it) { 4406 return typeof it == 'number' && globalIsFinite(it); 4407}; 4408 4409 4410/***/ }), 4411
vendor: 1,131 bytes, lines 4412-4436
4412/***/ "./node_modules/core-js/internals/number-parse-float.js": 4413/*!**************************************************************!*\ 4414 !*** ./node_modules/core-js/internals/number-parse-float.js ***! 4415 \**************************************************************/ 4416/*! no static exports found */ 4417/***/ (function(module, exports, __webpack_require__) { 4418 4419var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4420var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 4421var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 4422 4423var $parseFloat = global.parseFloat; 4424var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; 4425 4426// `parseFloat` method 4427// https://tc39.github.io/ecma262/#sec-parsefloat-string 4428module.exports = FORCED ? function parseFloat(string) { 4429 var trimmedString = trim(String(string)); 4430 var result = $parseFloat(trimmedString); 4431 return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; 4432} : $parseFloat; 4433 4434 4435/***/ }), 4436
vendor: 1,116 bytes, lines 4437-4461
4437/***/ "./node_modules/core-js/internals/number-parse-int.js": 4438/*!************************************************************!*\ 4439 !*** ./node_modules/core-js/internals/number-parse-int.js ***! 4440 \************************************************************/ 4441/*! no static exports found */ 4442/***/ (function(module, exports, __webpack_require__) { 4443 4444var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4445var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 4446var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 4447 4448var $parseInt = global.parseInt; 4449var hex = /^[+-]?0[Xx]/; 4450var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; 4451 4452// `parseInt` method 4453// https://tc39.github.io/ecma262/#sec-parseint-string-radix 4454module.exports = FORCED ? function parseInt(string, radix) { 4455 var S = trim(String(string)); 4456 return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); 4457} : $parseInt; 4458 4459 4460/***/ }), 4461
vendor: 2,925 bytes, lines 4462-4525
4462/***/ "./node_modules/core-js/internals/object-assign.js": 4463/*!*********************************************************!*\ 4464 !*** ./node_modules/core-js/internals/object-assign.js ***! 4465 \*********************************************************/ 4466/*! no static exports found */ 4467/***/ (function(module, exports, __webpack_require__) { 4468 4469"use strict"; 4470 4471var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4472var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4473var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 4474var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); 4475var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); 4476var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 4477var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 4478 4479var nativeAssign = Object.assign; 4480var defineProperty = Object.defineProperty; 4481 4482// `Object.assign` method 4483// https://tc39.github.io/ecma262/#sec-object.assign 4484module.exports = !nativeAssign || fails(function () { 4485 // should have correct order of operations (Edge bug) 4486 if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { 4487 enumerable: true, 4488 get: function () { 4489 defineProperty(this, 'b', { 4490 value: 3, 4491 enumerable: false 4492 }); 4493 } 4494 }), { b: 2 })).b !== 1) return true; 4495 // should work with symbols and should have deterministic property order (V8 bug) 4496 var A = {}; 4497 var B = {}; 4498 // eslint-disable-next-line no-undef 4499 var symbol = Symbol(); 4500 var alphabet = 'abcdefghijklmnopqrst'; 4501 A[symbol] = 7; 4502 alphabet.split('').forEach(function (chr) { B[chr] = chr; }); 4503 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; 4504}) ? function assign(target, source) { // eslint-disable-line no-unused-vars 4505 var T = toObject(target); 4506 var argumentsLength = arguments.length; 4507 var index = 1; 4508 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 4509 var propertyIsEnumerable = propertyIsEnumerableModule.f; 4510 while (argumentsLength > index) { 4511 var S = IndexedObject(arguments[index++]); 4512 var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); 4513 var length = keys.length; 4514 var j = 0; 4515 var key; 4516 while (length > j) { 4517 key = keys[j++]; 4518 if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; 4519 } 4520 } return T; 4521} : nativeAssign; 4522 4523 4524/***/ }), 4525
vendor: 3,716 bytes, lines 4526-4614
4526/***/ "./node_modules/core-js/internals/object-create.js": 4527/*!*********************************************************!*\ 4528 !*** ./node_modules/core-js/internals/object-create.js ***! 4529 \*********************************************************/ 4530/*! no static exports found */ 4531/***/ (function(module, exports, __webpack_require__) { 4532 4533var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4534var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); 4535var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 4536var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 4537var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); 4538var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); 4539var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 4540 4541var GT = '>'; 4542var LT = '<'; 4543var PROTOTYPE = 'prototype'; 4544var SCRIPT = 'script'; 4545var IE_PROTO = sharedKey('IE_PROTO'); 4546 4547var EmptyConstructor = function () { /* empty */ }; 4548 4549var scriptTag = function (content) { 4550 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 4551}; 4552 4553// Create object with fake `null` prototype: use ActiveX Object with cleared prototype 4554var NullProtoObjectViaActiveX = function (activeXDocument) { 4555 activeXDocument.write(scriptTag('')); 4556 activeXDocument.close(); 4557 var temp = activeXDocument.parentWindow.Object; 4558 activeXDocument = null; // avoid memory leak 4559 return temp; 4560}; 4561 4562// Create object with fake `null` prototype: use iframe Object with cleared prototype 4563var NullProtoObjectViaIFrame = function () { 4564 // Thrash, waste and sodomy: IE GC bug 4565 var iframe = documentCreateElement('iframe'); 4566 var JS = 'java' + SCRIPT + ':'; 4567 var iframeDocument; 4568 iframe.style.display = 'none'; 4569 html.appendChild(iframe); 4570 // https://github.com/zloirock/core-js/issues/475 4571 iframe.src = String(JS); 4572 iframeDocument = iframe.contentWindow.document; 4573 iframeDocument.open(); 4574 iframeDocument.write(scriptTag('document.F=Object')); 4575 iframeDocument.close(); 4576 return iframeDocument.F; 4577}; 4578 4579// Check for document.domain and active x support 4580// No need to use active x approach when document.domain is not set 4581// see https://github.com/es-shims/es5-shim/issues/150 4582// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 4583// avoid IE GC bug 4584var activeXDocument; 4585var NullProtoObject = function () { 4586 try { 4587 /* global ActiveXObject */ 4588 activeXDocument = document.domain && new ActiveXObject('htmlfile'); 4589 } catch (error) { /* ignore */ } 4590 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); 4591 var length = enumBugKeys.length; 4592 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 4593 return NullProtoObject(); 4594}; 4595 4596hiddenKeys[IE_PROTO] = true; 4597 4598// `Object.create` method 4599// https://tc39.github.io/ecma262/#sec-object.create 4600module.exports = Object.create || function create(O, Properties) { 4601 var result; 4602 if (O !== null) { 4603 EmptyConstructor[PROTOTYPE] = anObject(O); 4604 result = new EmptyConstructor(); 4605 EmptyConstructor[PROTOTYPE] = null; 4606 // add "__proto__" for Object.getPrototypeOf polyfill 4607 result[IE_PROTO] = O; 4608 } else result = NullProtoObject(); 4609 return Properties === undefined ? result : defineProperties(result, Properties); 4610}; 4611 4612 4613/***/ }), 4614
vendor: 1,316 bytes, lines 4615-4641
4615/***/ "./node_modules/core-js/internals/object-define-properties.js": 4616/*!********************************************************************!*\ 4617 !*** ./node_modules/core-js/internals/object-define-properties.js ***! 4618 \********************************************************************/ 4619/*! no static exports found */ 4620/***/ (function(module, exports, __webpack_require__) { 4621 4622var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4623var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 4624var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4625var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 4626 4627// `Object.defineProperties` method 4628// https://tc39.github.io/ecma262/#sec-object.defineproperties 4629module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { 4630 anObject(O); 4631 var keys = objectKeys(Properties); 4632 var length = keys.length; 4633 var index = 0; 4634 var key; 4635 while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); 4636 return O; 4637}; 4638 4639 4640/***/ }), 4641
vendor: 1,459 bytes, lines 4642-4672
4642/***/ "./node_modules/core-js/internals/object-define-property.js": 4643/*!******************************************************************!*\ 4644 !*** ./node_modules/core-js/internals/object-define-property.js ***! 4645 \******************************************************************/ 4646/*! no static exports found */ 4647/***/ (function(module, exports, __webpack_require__) { 4648 4649var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4650var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); 4651var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4652var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 4653 4654var nativeDefineProperty = Object.defineProperty; 4655 4656// `Object.defineProperty` method 4657// https://tc39.github.io/ecma262/#sec-object.defineproperty 4658exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { 4659 anObject(O); 4660 P = toPrimitive(P, true); 4661 anObject(Attributes); 4662 if (IE8_DOM_DEFINE) try { 4663 return nativeDefineProperty(O, P, Attributes); 4664 } catch (error) { /* empty */ } 4665 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); 4666 if ('value' in Attributes) O[P] = Attributes.value; 4667 return O; 4668}; 4669 4670 4671/***/ }), 4672
vendor: 1,937 bytes, lines 4673-4703
4673/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js": 4674/*!******************************************************************************!*\ 4675 !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! 4676 \******************************************************************************/ 4677/*! no static exports found */ 4678/***/ (function(module, exports, __webpack_require__) { 4679 4680var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4681var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); 4682var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 4683var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4684var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 4685var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 4686var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); 4687 4688var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 4689 4690// `Object.getOwnPropertyDescriptor` method 4691// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor 4692exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 4693 O = toIndexedObject(O); 4694 P = toPrimitive(P, true); 4695 if (IE8_DOM_DEFINE) try { 4696 return nativeGetOwnPropertyDescriptor(O, P); 4697 } catch (error) { /* empty */ } 4698 if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); 4699}; 4700 4701 4702/***/ }), 4703
vendor: 1,343 bytes, lines 4704-4736
4704/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js": 4705/*!**********************************************************************************!*\ 4706 !*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***! 4707 \**********************************************************************************/ 4708/*! no static exports found */ 4709/***/ (function(module, exports, __webpack_require__) { 4710 4711var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4712var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 4713 4714var toString = {}.toString; 4715 4716var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames 4717 ? Object.getOwnPropertyNames(window) : []; 4718 4719var getWindowNames = function (it) { 4720 try { 4721 return nativeGetOwnPropertyNames(it); 4722 } catch (error) { 4723 return windowNames.slice(); 4724 } 4725}; 4726 4727// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window 4728module.exports.f = function getOwnPropertyNames(it) { 4729 return windowNames && toString.call(it) == '[object Window]' 4730 ? getWindowNames(it) 4731 : nativeGetOwnPropertyNames(toIndexedObject(it)); 4732}; 4733 4734 4735/***/ }), 4736
vendor: 975 bytes, lines 4737-4757
4737/***/ "./node_modules/core-js/internals/object-get-own-property-names.js": 4738/*!*************************************************************************!*\ 4739 !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! 4740 \*************************************************************************/ 4741/*! no static exports found */ 4742/***/ (function(module, exports, __webpack_require__) { 4743 4744var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); 4745var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 4746 4747var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 4748 4749// `Object.getOwnPropertyNames` method 4750// https://tc39.github.io/ecma262/#sec-object.getownpropertynames 4751exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 4752 return internalObjectKeys(O, hiddenKeys); 4753}; 4754 4755 4756/***/ }), 4757
vendor: 441 bytes, lines 4758-4769
4758/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js": 4759/*!***************************************************************************!*\ 4760 !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! 4761 \***************************************************************************/ 4762/*! no static exports found */ 4763/***/ (function(module, exports) { 4764 4765exports.f = Object.getOwnPropertySymbols; 4766 4767 4768/***/ }), 4769
vendor: 1,371 bytes, lines 4770-4797
4770/***/ "./node_modules/core-js/internals/object-get-prototype-of.js": 4771/*!*******************************************************************!*\ 4772 !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! 4773 \*******************************************************************/ 4774/*! no static exports found */ 4775/***/ (function(module, exports, __webpack_require__) { 4776 4777var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 4778var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 4779var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 4780var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); 4781 4782var IE_PROTO = sharedKey('IE_PROTO'); 4783var ObjectPrototype = Object.prototype; 4784 4785// `Object.getPrototypeOf` method 4786// https://tc39.github.io/ecma262/#sec-object.getprototypeof 4787module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { 4788 O = toObject(O); 4789 if (has(O, IE_PROTO)) return O[IE_PROTO]; 4790 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 4791 return O.constructor.prototype; 4792 } return O instanceof Object ? ObjectPrototype : null; 4793}; 4794 4795 4796/***/ }), 4797
vendor: 1,227 bytes, lines 4798-4825
4798/***/ "./node_modules/core-js/internals/object-keys-internal.js": 4799/*!****************************************************************!*\ 4800 !*** ./node_modules/core-js/internals/object-keys-internal.js ***! 4801 \****************************************************************/ 4802/*! no static exports found */ 4803/***/ (function(module, exports, __webpack_require__) { 4804 4805var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 4806var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4807var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; 4808var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 4809 4810module.exports = function (object, names) { 4811 var O = toIndexedObject(object); 4812 var i = 0; 4813 var result = []; 4814 var key; 4815 for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); 4816 // Don't enum bug & hidden keys 4817 while (names.length > i) if (has(O, key = names[i++])) { 4818 ~indexOf(result, key) || result.push(key); 4819 } 4820 return result; 4821}; 4822 4823 4824/***/ }), 4825
vendor: 788 bytes, lines 4826-4844
4826/***/ "./node_modules/core-js/internals/object-keys.js": 4827/*!*******************************************************!*\ 4828 !*** ./node_modules/core-js/internals/object-keys.js ***! 4829 \*******************************************************/ 4830/*! no static exports found */ 4831/***/ (function(module, exports, __webpack_require__) { 4832 4833var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); 4834var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 4835 4836// `Object.keys` method 4837// https://tc39.github.io/ecma262/#sec-object.keys 4838module.exports = Object.keys || function keys(O) { 4839 return internalObjectKeys(O, enumBugKeys); 4840}; 4841 4842 4843/***/ }), 4844
vendor: 1,003 bytes, lines 4845-4869
4845/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js": 4846/*!*************************************************************************!*\ 4847 !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! 4848 \*************************************************************************/ 4849/*! no static exports found */ 4850/***/ (function(module, exports, __webpack_require__) { 4851 4852"use strict"; 4853 4854var nativePropertyIsEnumerable = {}.propertyIsEnumerable; 4855var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 4856 4857// Nashorn ~ JDK8 bug 4858var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); 4859 4860// `Object.prototype.propertyIsEnumerable` method implementation 4861// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable 4862exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 4863 var descriptor = getOwnPropertyDescriptor(this, V); 4864 return !!descriptor && descriptor.enumerable; 4865} : nativePropertyIsEnumerable; 4866 4867 4868/***/ }), 4869
vendor: 1,083 bytes, lines 4870-4894
4870/***/ "./node_modules/core-js/internals/object-prototype-accessors-forced.js": 4871/*!*****************************************************************************!*\ 4872 !*** ./node_modules/core-js/internals/object-prototype-accessors-forced.js ***! 4873 \*****************************************************************************/ 4874/*! no static exports found */ 4875/***/ (function(module, exports, __webpack_require__) { 4876 4877"use strict"; 4878 4879var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 4880var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4881var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4882 4883// Forced replacement object prototype accessors methods 4884module.exports = IS_PURE || !fails(function () { 4885 var key = Math.random(); 4886 // In FF throws only define methods 4887 // eslint-disable-next-line no-undef, no-useless-call 4888 __defineSetter__.call(null, key, function () { /* empty */ }); 4889 delete global[key]; 4890}); 4891 4892 4893/***/ }), 4894
vendor: 1,388 bytes, lines 4895-4929
4895/***/ "./node_modules/core-js/internals/object-set-prototype-of.js": 4896/*!*******************************************************************!*\ 4897 !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! 4898 \*******************************************************************/ 4899/*! no static exports found */ 4900/***/ (function(module, exports, __webpack_require__) { 4901 4902var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4903var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); 4904 4905// `Object.setPrototypeOf` method 4906// https://tc39.github.io/ecma262/#sec-object.setprototypeof 4907// Works with __proto__ only. Old v8 can't work with null proto objects. 4908/* eslint-disable no-proto */ 4909module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 4910 var CORRECT_SETTER = false; 4911 var test = {}; 4912 var setter; 4913 try { 4914 setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; 4915 setter.call(test, []); 4916 CORRECT_SETTER = test instanceof Array; 4917 } catch (error) { /* empty */ } 4918 return function setPrototypeOf(O, proto) { 4919 anObject(O); 4920 aPossiblePrototype(proto); 4921 if (CORRECT_SETTER) setter.call(O, proto); 4922 else O.__proto__ = proto; 4923 return O; 4924 }; 4925}() : undefined); 4926 4927 4928/***/ }), 4929
vendor: 1,634 bytes, lines 4930-4972
4930/***/ "./node_modules/core-js/internals/object-to-array.js": 4931/*!***********************************************************!*\ 4932 !*** ./node_modules/core-js/internals/object-to-array.js ***! 4933 \***********************************************************/ 4934/*! no static exports found */ 4935/***/ (function(module, exports, __webpack_require__) { 4936 4937var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4938var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 4939var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4940var propertyIsEnumerable = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js").f; 4941 4942// `Object.{ entries, values }` methods implementation 4943var createMethod = function (TO_ENTRIES) { 4944 return function (it) { 4945 var O = toIndexedObject(it); 4946 var keys = objectKeys(O); 4947 var length = keys.length; 4948 var i = 0; 4949 var result = []; 4950 var key; 4951 while (length > i) { 4952 key = keys[i++]; 4953 if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { 4954 result.push(TO_ENTRIES ? [key, O[key]] : O[key]); 4955 } 4956 } 4957 return result; 4958 }; 4959}; 4960 4961module.exports = { 4962 // `Object.entries` method 4963 // https://tc39.github.io/ecma262/#sec-object.entries 4964 entries: createMethod(true), 4965 // `Object.values` method 4966 // https://tc39.github.io/ecma262/#sec-object.values 4967 values: createMethod(false) 4968}; 4969 4970 4971/***/ }), 4972
vendor: 879 bytes, lines 4973-4993
4973/***/ "./node_modules/core-js/internals/object-to-string.js": 4974/*!************************************************************!*\ 4975 !*** ./node_modules/core-js/internals/object-to-string.js ***! 4976 \************************************************************/ 4977/*! no static exports found */ 4978/***/ (function(module, exports, __webpack_require__) { 4979 4980"use strict"; 4981 4982var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 4983var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 4984 4985// `Object.prototype.toString` method implementation 4986// https://tc39.github.io/ecma262/#sec-object.prototype.tostring 4987module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 4988 return '[object ' + classof(this) + ']'; 4989}; 4990 4991 4992/***/ }), 4993
vendor: 1,249 bytes, lines 4994-5015
4994/***/ "./node_modules/core-js/internals/own-keys.js": 4995/*!****************************************************!*\ 4996 !*** ./node_modules/core-js/internals/own-keys.js ***! 4997 \****************************************************/ 4998/*! no static exports found */ 4999/***/ (function(module, exports, __webpack_require__) { 5000 5001var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 5002var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); 5003var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); 5004var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 5005 5006// all object keys, includes non-enumerable and symbols 5007module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 5008 var keys = getOwnPropertyNamesModule.f(anObject(it)); 5009 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 5010 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; 5011}; 5012 5013 5014/***/ }), 5015
vendor: 445 bytes, lines 5016-5029
5016/***/ "./node_modules/core-js/internals/path.js": 5017/*!************************************************!*\ 5018 !*** ./node_modules/core-js/internals/path.js ***! 5019 \************************************************/ 5020/*! no static exports found */ 5021/***/ (function(module, exports, __webpack_require__) { 5022 5023var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 5024 5025module.exports = global; 5026 5027 5028/***/ }), 5029
vendor: 459 bytes, lines 5030-5047
5030/***/ "./node_modules/core-js/internals/perform.js": 5031/*!***************************************************!*\ 5032 !*** ./node_modules/core-js/internals/perform.js ***! 5033 \***************************************************/ 5034/*! no static exports found */ 5035/***/ (function(module, exports) { 5036 5037module.exports = function (exec) { 5038 try { 5039 return { error: false, value: exec() }; 5040 } catch (error) { 5041 return { error: true, value: error }; 5042 } 5043}; 5044 5045 5046/***/ }), 5047
vendor: 991 bytes, lines 5048-5070
5048/***/ "./node_modules/core-js/internals/promise-resolve.js": 5049/*!***********************************************************!*\ 5050 !*** ./node_modules/core-js/internals/promise-resolve.js ***! 5051 \***********************************************************/ 5052/*! no static exports found */ 5053/***/ (function(module, exports, __webpack_require__) { 5054 5055var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 5056var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 5057var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); 5058 5059module.exports = function (C, x) { 5060 anObject(C); 5061 if (isObject(x) && x.constructor === C) return x; 5062 var promiseCapability = newPromiseCapability.f(C); 5063 var resolve = promiseCapability.resolve; 5064 resolve(x); 5065 return promiseCapability.promise; 5066}; 5067 5068 5069/***/ }), 5070
vendor: 594 bytes, lines 5071-5087
5071/***/ "./node_modules/core-js/internals/redefine-all.js": 5072/*!********************************************************!*\ 5073 !*** ./node_modules/core-js/internals/redefine-all.js ***! 5074 \********************************************************/ 5075/*! no static exports found */ 5076/***/ (function(module, exports, __webpack_require__) { 5077 5078var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 5079 5080module.exports = function (target, src, options) { 5081 for (var key in src) redefine(target, key, src[key], options); 5082 return target; 5083}; 5084 5085 5086/***/ }), 5087
vendor: 2,330 bytes, lines 5088-5138
5088/***/ "./node_modules/core-js/internals/redefine.js": 5089/*!****************************************************!*\ 5090 !*** ./node_modules/core-js/internals/redefine.js ***! 5091 \****************************************************/ 5092/*! no static exports found */ 5093/***/ (function(module, exports, __webpack_require__) { 5094 5095var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 5096var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 5097var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 5098var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); 5099var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 5100var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 5101 5102var getInternalState = InternalStateModule.get; 5103var enforceInternalState = InternalStateModule.enforce; 5104var TEMPLATE = String(String).split('String'); 5105 5106(module.exports = function (O, key, value, options) { 5107 var unsafe = options ? !!options.unsafe : false; 5108 var simple = options ? !!options.enumerable : false; 5109 var noTargetGet = options ? !!options.noTargetGet : false; 5110 var state; 5111 if (typeof value == 'function') { 5112 if (typeof key == 'string' && !has(value, 'name')) { 5113 createNonEnumerableProperty(value, 'name', key); 5114 } 5115 state = enforceInternalState(value); 5116 if (!state.source) { 5117 state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); 5118 } 5119 } 5120 if (O === global) { 5121 if (simple) O[key] = value; 5122 else setGlobal(key, value); 5123 return; 5124 } else if (!unsafe) { 5125 delete O[key]; 5126 } else if (!noTargetGet && O[key]) { 5127 simple = true; 5128 } 5129 if (simple) O[key] = value; 5130 else createNonEnumerableProperty(O, key, value); 5131// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 5132})(Function.prototype, 'toString', function toString() { 5133 return typeof this == 'function' && getInternalState(this).source || inspectSource(this); 5134}); 5135 5136 5137/***/ }), 5138
vendor: 1,108 bytes, lines 5139-5171
5139/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js": 5140/*!****************************************************************!*\ 5141 !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***! 5142 \****************************************************************/ 5143/*! no static exports found */ 5144/***/ (function(module, exports, __webpack_require__) { 5145 5146var classof = __webpack_require__(/*! ./classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 5147var regexpExec = __webpack_require__(/*! ./regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 5148 5149// `RegExpExec` abstract operation 5150// https://tc39.github.io/ecma262/#sec-regexpexec 5151module.exports = function (R, S) { 5152 var exec = R.exec; 5153 if (typeof exec === 'function') { 5154 var result = exec.call(R, S); 5155 if (typeof result !== 'object') { 5156 throw TypeError('RegExp exec method returned something other than an Object or null'); 5157 } 5158 return result; 5159 } 5160 5161 if (classof(R) !== 'RegExp') { 5162 throw TypeError('RegExp#exec called on incompatible receiver'); 5163 } 5164 5165 return regexpExec.call(R, S); 5166}; 5167 5168 5169 5170/***/ }), 5171
vendor: 3,302 bytes, lines 5172-5270
5172/***/ "./node_modules/core-js/internals/regexp-exec.js": 5173/*!*******************************************************!*\ 5174 !*** ./node_modules/core-js/internals/regexp-exec.js ***! 5175 \*******************************************************/ 5176/*! no static exports found */ 5177/***/ (function(module, exports, __webpack_require__) { 5178 5179"use strict"; 5180 5181var regexpFlags = __webpack_require__(/*! ./regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 5182var stickyHelpers = __webpack_require__(/*! ./regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); 5183 5184var nativeExec = RegExp.prototype.exec; 5185// This always refers to the native implementation, because the 5186// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 5187// which loads this file before patching the method. 5188var nativeReplace = String.prototype.replace; 5189 5190var patchedExec = nativeExec; 5191 5192var UPDATES_LAST_INDEX_WRONG = (function () { 5193 var re1 = /a/; 5194 var re2 = /b*/g; 5195 nativeExec.call(re1, 'a'); 5196 nativeExec.call(re2, 'a'); 5197 return re1.lastIndex !== 0 || re2.lastIndex !== 0; 5198})(); 5199 5200var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; 5201 5202// nonparticipating capturing group, copied from es5-shim's String#split patch. 5203var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 5204 5205var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; 5206 5207if (PATCH) { 5208 patchedExec = function exec(str) { 5209 var re = this; 5210 var lastIndex, reCopy, match, i; 5211 var sticky = UNSUPPORTED_Y && re.sticky; 5212 var flags = regexpFlags.call(re); 5213 var source = re.source; 5214 var charsAdded = 0; 5215 var strCopy = str; 5216 5217 if (sticky) { 5218 flags = flags.replace('y', ''); 5219 if (flags.indexOf('g') === -1) { 5220 flags += 'g'; 5221 } 5222 5223 strCopy = String(str).slice(re.lastIndex); 5224 // Support anchored sticky behavior. 5225 if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { 5226 source = '(?: ' + source + ')'; 5227 strCopy = ' ' + strCopy; 5228 charsAdded++; 5229 } 5230 // ^(? + rx + ) is needed, in combination with some str slicing, to 5231 // simulate the 'y' flag. 5232 reCopy = new RegExp('^(?:' + source + ')', flags); 5233 } 5234 5235 if (NPCG_INCLUDED) { 5236 reCopy = new RegExp('^' + source + '$(?!\\s)', flags); 5237 } 5238 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; 5239 5240 match = nativeExec.call(sticky ? reCopy : re, strCopy); 5241 5242 if (sticky) { 5243 if (match) { 5244 match.input = match.input.slice(charsAdded); 5245 match[0] = match[0].slice(charsAdded); 5246 match.index = re.lastIndex; 5247 re.lastIndex += match[0].length; 5248 } else re.lastIndex = 0; 5249 } else if (UPDATES_LAST_INDEX_WRONG && match) { 5250 re.lastIndex = re.global ? match.index + match[0].length : lastIndex; 5251 } 5252 if (NPCG_INCLUDED && match && match.length > 1) { 5253 // Fix browsers whose `exec` methods don't consistently return `undefined` 5254 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 5255 nativeReplace.call(match[0], reCopy, function () { 5256 for (i = 1; i < arguments.length - 2; i++) { 5257 if (arguments[i] === undefined) match[i] = undefined; 5258 } 5259 }); 5260 } 5261 5262 return match; 5263 }; 5264} 5265 5266module.exports = patchedExec; 5267 5268 5269/***/ }), 5270
vendor: 902 bytes, lines 5271-5298
5271/***/ "./node_modules/core-js/internals/regexp-flags.js": 5272/*!********************************************************!*\ 5273 !*** ./node_modules/core-js/internals/regexp-flags.js ***! 5274 \********************************************************/ 5275/*! no static exports found */ 5276/***/ (function(module, exports, __webpack_require__) { 5277 5278"use strict"; 5279 5280var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 5281 5282// `RegExp.prototype.flags` getter implementation 5283// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags 5284module.exports = function () { 5285 var that = anObject(this); 5286 var result = ''; 5287 if (that.global) result += 'g'; 5288 if (that.ignoreCase) result += 'i'; 5289 if (that.multiline) result += 'm'; 5290 if (that.dotAll) result += 's'; 5291 if (that.unicode) result += 'u'; 5292 if (that.sticky) result += 'y'; 5293 return result; 5294}; 5295 5296 5297/***/ }), 5298
vendor: 1,046 bytes, lines 5299-5333
5299/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js": 5300/*!*****************************************************************!*\ 5301 !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***! 5302 \*****************************************************************/ 5303/*! no static exports found */ 5304/***/ (function(module, exports, __webpack_require__) { 5305 5306"use strict"; 5307 5308 5309var fails = __webpack_require__(/*! ./fails */ "./node_modules/core-js/internals/fails.js"); 5310 5311// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, 5312// so we use an intermediate function. 5313function RE(s, f) { 5314 return RegExp(s, f); 5315} 5316 5317exports.UNSUPPORTED_Y = fails(function () { 5318 // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError 5319 var re = RE('a', 'y'); 5320 re.lastIndex = 2; 5321 return re.exec('abcd') != null; 5322}); 5323 5324exports.BROKEN_CARET = fails(function () { 5325 // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 5326 var re = RE('^r', 'gy'); 5327 re.lastIndex = 2; 5328 return re.exec('str') != null; 5329}); 5330 5331 5332/***/ }), 5333
vendor: 599 bytes, lines 5334-5350
5334/***/ "./node_modules/core-js/internals/require-object-coercible.js": 5335/*!********************************************************************!*\ 5336 !*** ./node_modules/core-js/internals/require-object-coercible.js ***! 5337 \********************************************************************/ 5338/*! no static exports found */ 5339/***/ (function(module, exports) { 5340 5341// `RequireObjectCoercible` abstract operation 5342// https://tc39.github.io/ecma262/#sec-requireobjectcoercible 5343module.exports = function (it) { 5344 if (it == undefined) throw TypeError("Can't call method on " + it); 5345 return it; 5346}; 5347 5348 5349/***/ }), 5350
vendor: 563 bytes, lines 5351-5367
5351/***/ "./node_modules/core-js/internals/same-value.js": 5352/*!******************************************************!*\ 5353 !*** ./node_modules/core-js/internals/same-value.js ***! 5354 \******************************************************/ 5355/*! no static exports found */ 5356/***/ (function(module, exports) { 5357 5358// `SameValue` abstract operation 5359// https://tc39.github.io/ecma262/#sec-samevalue 5360module.exports = Object.is || function is(x, y) { 5361 // eslint-disable-next-line no-self-compare 5362 return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; 5363}; 5364 5365 5366/***/ }), 5367
vendor: 788 bytes, lines 5368-5388
5368/***/ "./node_modules/core-js/internals/set-global.js": 5369/*!******************************************************!*\ 5370 !*** ./node_modules/core-js/internals/set-global.js ***! 5371 \******************************************************/ 5372/*! no static exports found */ 5373/***/ (function(module, exports, __webpack_require__) { 5374 5375var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 5376var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 5377 5378module.exports = function (key, value) { 5379 try { 5380 createNonEnumerableProperty(global, key, value); 5381 } catch (error) { 5382 global[key] = value; 5383 } return value; 5384}; 5385 5386 5387/***/ }), 5388
vendor: 1,265 bytes, lines 5389-5419
5389/***/ "./node_modules/core-js/internals/set-species.js": 5390/*!*******************************************************!*\ 5391 !*** ./node_modules/core-js/internals/set-species.js ***! 5392 \*******************************************************/ 5393/*! no static exports found */ 5394/***/ (function(module, exports, __webpack_require__) { 5395 5396"use strict"; 5397 5398var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 5399var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 5400var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 5401var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 5402 5403var SPECIES = wellKnownSymbol('species'); 5404 5405module.exports = function (CONSTRUCTOR_NAME) { 5406 var Constructor = getBuiltIn(CONSTRUCTOR_NAME); 5407 var defineProperty = definePropertyModule.f; 5408 5409 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { 5410 defineProperty(Constructor, SPECIES, { 5411 configurable: true, 5412 get: function () { return this; } 5413 }); 5414 } 5415}; 5416 5417 5418/***/ }), 5419
vendor: 999 bytes, lines 5420-5441
5420/***/ "./node_modules/core-js/internals/set-to-string-tag.js": 5421/*!*************************************************************!*\ 5422 !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! 5423 \*************************************************************/ 5424/*! no static exports found */ 5425/***/ (function(module, exports, __webpack_require__) { 5426 5427var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 5428var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 5429var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 5430 5431var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 5432 5433module.exports = function (it, TAG, STATIC) { 5434 if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { 5435 defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); 5436 } 5437}; 5438 5439 5440/***/ }), 5441
vendor: 653 bytes, lines 5442-5460
5442/***/ "./node_modules/core-js/internals/shared-key.js": 5443/*!******************************************************!*\ 5444 !*** ./node_modules/core-js/internals/shared-key.js ***! 5445 \******************************************************/ 5446/*! no static exports found */ 5447/***/ (function(module, exports, __webpack_require__) { 5448 5449var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 5450var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 5451 5452var keys = shared('keys'); 5453 5454module.exports = function (key) { 5455 return keys[key] || (keys[key] = uid(key)); 5456}; 5457 5458 5459/***/ }), 5460
vendor: 683 bytes, lines 5461-5478
5461/***/ "./node_modules/core-js/internals/shared-store.js": 5462/*!********************************************************!*\ 5463 !*** ./node_modules/core-js/internals/shared-store.js ***! 5464 \********************************************************/ 5465/*! no static exports found */ 5466/***/ (function(module, exports, __webpack_require__) { 5467 5468var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 5469var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js"); 5470 5471var SHARED = '__core-js_shared__'; 5472var store = global[SHARED] || setGlobal(SHARED, {}); 5473 5474module.exports = store; 5475 5476 5477/***/ }), 5478
vendor: 803 bytes, lines 5479-5499
5479/***/ "./node_modules/core-js/internals/shared.js": 5480/*!**************************************************!*\ 5481 !*** ./node_modules/core-js/internals/shared.js ***! 5482 \**************************************************/ 5483/*! no static exports found */ 5484/***/ (function(module, exports, __webpack_require__) { 5485 5486var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 5487var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 5488 5489(module.exports = function (key, value) { 5490 return store[key] || (store[key] = value !== undefined ? value : {}); 5491})('versions', []).push({ 5492 version: '3.8.1', 5493 mode: IS_PURE ? 'pure' : 'global', 5494 copyright: '© 2020 Denis Pushkarev (zloirock.ru)' 5495}); 5496 5497 5498/***/ }), 5499
vendor: 1,092 bytes, lines 5500-5523
5500/***/ "./node_modules/core-js/internals/species-constructor.js": 5501/*!***************************************************************!*\ 5502 !*** ./node_modules/core-js/internals/species-constructor.js ***! 5503 \***************************************************************/ 5504/*! no static exports found */ 5505/***/ (function(module, exports, __webpack_require__) { 5506 5507var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 5508var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 5509var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 5510 5511var SPECIES = wellKnownSymbol('species'); 5512 5513// `SpeciesConstructor` abstract operation 5514// https://tc39.github.io/ecma262/#sec-speciesconstructor 5515module.exports = function (O, defaultConstructor) { 5516 var C = anObject(O).constructor; 5517 var S; 5518 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); 5519}; 5520 5521 5522/***/ }), 5523
vendor: 751 bytes, lines 5524-5544
5524/***/ "./node_modules/core-js/internals/string-html-forced.js": 5525/*!**************************************************************!*\ 5526 !*** ./node_modules/core-js/internals/string-html-forced.js ***! 5527 \**************************************************************/ 5528/*! no static exports found */ 5529/***/ (function(module, exports, __webpack_require__) { 5530 5531var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 5532 5533// check the existence of a method, lowercase 5534// of a tag and escaping quotes in arguments 5535module.exports = function (METHOD_NAME) { 5536 return fails(function () { 5537 var test = ''[METHOD_NAME]('"'); 5538 return test !== test.toLowerCase() || test.split('"').length > 3; 5539 }); 5540}; 5541 5542 5543/***/ }), 5544
vendor: 1,656 bytes, lines 5545-5582
5545/***/ "./node_modules/core-js/internals/string-multibyte.js": 5546/*!************************************************************!*\ 5547 !*** ./node_modules/core-js/internals/string-multibyte.js ***! 5548 \************************************************************/ 5549/*! no static exports found */ 5550/***/ (function(module, exports, __webpack_require__) { 5551 5552var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 5553var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 5554 5555// `String.prototype.{ codePointAt, at }` methods implementation 5556var createMethod = function (CONVERT_TO_STRING) { 5557 return function ($this, pos) { 5558 var S = String(requireObjectCoercible($this)); 5559 var position = toInteger(pos); 5560 var size = S.length; 5561 var first, second; 5562 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 5563 first = S.charCodeAt(position); 5564 return first < 0xD800 || first > 0xDBFF || position + 1 === size 5565 || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF 5566 ? CONVERT_TO_STRING ? S.charAt(position) : first 5567 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 5568 }; 5569}; 5570 5571module.exports = { 5572 // `String.prototype.codePointAt` method 5573 // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat 5574 codeAt: createMethod(false), 5575 // `String.prototype.at` method 5576 // https://github.com/mathiasbynens/String.prototype.at 5577 charAt: createMethod(true) 5578}; 5579 5580 5581/***/ }), 5582
vendor: 700 bytes, lines 5583-5598
5583/***/ "./node_modules/core-js/internals/string-pad-webkit-bug.js": 5584/*!*****************************************************************!*\ 5585 !*** ./node_modules/core-js/internals/string-pad-webkit-bug.js ***! 5586 \*****************************************************************/ 5587/*! no static exports found */ 5588/***/ (function(module, exports, __webpack_require__) { 5589 5590// https://github.com/zloirock/core-js/issues/280 5591var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); 5592 5593// eslint-disable-next-line unicorn/no-unsafe-regex 5594module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 5595 5596 5597/***/ }), 5598
vendor: 1,819 bytes, lines 5599-5640
5599/***/ "./node_modules/core-js/internals/string-pad.js": 5600/*!******************************************************!*\ 5601 !*** ./node_modules/core-js/internals/string-pad.js ***! 5602 \******************************************************/ 5603/*! no static exports found */ 5604/***/ (function(module, exports, __webpack_require__) { 5605 5606// https://github.com/tc39/proposal-string-pad-start-end 5607var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 5608var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); 5609var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 5610 5611var ceil = Math.ceil; 5612 5613// `String.prototype.{ padStart, padEnd }` methods implementation 5614var createMethod = function (IS_END) { 5615 return function ($this, maxLength, fillString) { 5616 var S = String(requireObjectCoercible($this)); 5617 var stringLength = S.length; 5618 var fillStr = fillString === undefined ? ' ' : String(fillString); 5619 var intMaxLength = toLength(maxLength); 5620 var fillLen, stringFiller; 5621 if (intMaxLength <= stringLength || fillStr == '') return S; 5622 fillLen = intMaxLength - stringLength; 5623 stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); 5624 if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); 5625 return IS_END ? S + stringFiller : stringFiller + S; 5626 }; 5627}; 5628 5629module.exports = { 5630 // `String.prototype.padStart` method 5631 // https://tc39.github.io/ecma262/#sec-string.prototype.padstart 5632 start: createMethod(false), 5633 // `String.prototype.padEnd` method 5634 // https://tc39.github.io/ecma262/#sec-string.prototype.padend 5635 end: createMethod(true) 5636}; 5637 5638 5639/***/ }), 5640
vendor: 5,620 bytes, lines 5641-5820
5641/***/ "./node_modules/core-js/internals/string-punycode-to-ascii.js": 5642/*!********************************************************************!*\ 5643 !*** ./node_modules/core-js/internals/string-punycode-to-ascii.js ***! 5644 \********************************************************************/ 5645/*! no static exports found */ 5646/***/ (function(module, exports, __webpack_require__) { 5647 5648"use strict"; 5649 5650// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js 5651var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 5652var base = 36; 5653var tMin = 1; 5654var tMax = 26; 5655var skew = 38; 5656var damp = 700; 5657var initialBias = 72; 5658var initialN = 128; // 0x80 5659var delimiter = '-'; // '\x2D' 5660var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars 5661var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators 5662var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; 5663var baseMinusTMin = base - tMin; 5664var floor = Math.floor; 5665var stringFromCharCode = String.fromCharCode; 5666 5667/** 5668 * Creates an array containing the numeric code points of each Unicode 5669 * character in the string. While JavaScript uses UCS-2 internally, 5670 * this function will convert a pair of surrogate halves (each of which 5671 * UCS-2 exposes as separate characters) into a single code point, 5672 * matching UTF-16. 5673 */ 5674var ucs2decode = function (string) { 5675 var output = []; 5676 var counter = 0; 5677 var length = string.length; 5678 while (counter < length) { 5679 var value = string.charCodeAt(counter++); 5680 if (value >= 0xD800 && value <= 0xDBFF && counter < length) { 5681 // It's a high surrogate, and there is a next character. 5682 var extra = string.charCodeAt(counter++); 5683 if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. 5684 output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); 5685 } else { 5686 // It's an unmatched surrogate; only append this code unit, in case the 5687 // next code unit is the high surrogate of a surrogate pair. 5688 output.push(value); 5689 counter--; 5690 } 5691 } else { 5692 output.push(value); 5693 } 5694 } 5695 return output; 5696}; 5697 5698/** 5699 * Converts a digit/integer into a basic code point. 5700 */ 5701var digitToBasic = function (digit) { 5702 // 0..25 map to ASCII a..z or A..Z 5703 // 26..35 map to ASCII 0..9 5704 return digit + 22 + 75 * (digit < 26); 5705}; 5706 5707/** 5708 * Bias adaptation function as per section 3.4 of RFC 3492. 5709 * https://tools.ietf.org/html/rfc3492#section-3.4 5710 */ 5711var adapt = function (delta, numPoints, firstTime) { 5712 var k = 0; 5713 delta = firstTime ? floor(delta / damp) : delta >> 1; 5714 delta += floor(delta / numPoints); 5715 for (; delta > baseMinusTMin * tMax >> 1; k += base) { 5716 delta = floor(delta / baseMinusTMin); 5717 } 5718 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); 5719}; 5720 5721/** 5722 * Converts a string of Unicode symbols (e.g. a domain name label) to a 5723 * Punycode string of ASCII-only symbols. 5724 */ 5725// eslint-disable-next-line max-statements 5726var encode = function (input) { 5727 var output = []; 5728 5729 // Convert the input in UCS-2 to an array of Unicode code points. 5730 input = ucs2decode(input); 5731 5732 // Cache the length. 5733 var inputLength = input.length; 5734 5735 // Initialize the state. 5736 var n = initialN; 5737 var delta = 0; 5738 var bias = initialBias; 5739 var i, currentValue; 5740 5741 // Handle the basic code points. 5742 for (i = 0; i < input.length; i++) { 5743 currentValue = input[i]; 5744 if (currentValue < 0x80) { 5745 output.push(stringFromCharCode(currentValue)); 5746 } 5747 } 5748 5749 var basicLength = output.length; // number of basic code points. 5750 var handledCPCount = basicLength; // number of code points that have been handled; 5751 5752 // Finish the basic string with a delimiter unless it's empty. 5753 if (basicLength) { 5754 output.push(delimiter); 5755 } 5756 5757 // Main encoding loop: 5758 while (handledCPCount < inputLength) { 5759 // All non-basic code points < n have been handled already. Find the next larger one: 5760 var m = maxInt; 5761 for (i = 0; i < input.length; i++) { 5762 currentValue = input[i]; 5763 if (currentValue >= n && currentValue < m) { 5764 m = currentValue; 5765 } 5766 } 5767 5768 // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. 5769 var handledCPCountPlusOne = handledCPCount + 1; 5770 if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { 5771 throw RangeError(OVERFLOW_ERROR); 5772 } 5773 5774 delta += (m - n) * handledCPCountPlusOne; 5775 n = m; 5776 5777 for (i = 0; i < input.length; i++) { 5778 currentValue = input[i]; 5779 if (currentValue < n && ++delta > maxInt) { 5780 throw RangeError(OVERFLOW_ERROR); 5781 } 5782 if (currentValue == n) { 5783 // Represent delta as a generalized variable-length integer. 5784 var q = delta; 5785 for (var k = base; /* no condition */; k += base) { 5786 var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); 5787 if (q < t) break; 5788 var qMinusT = q - t; 5789 var baseMinusT = base - t; 5790 output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); 5791 q = floor(qMinusT / baseMinusT); 5792 } 5793 5794 output.push(stringFromCharCode(digitToBasic(q))); 5795 bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); 5796 delta = 0; 5797 ++handledCPCount; 5798 } 5799 } 5800 5801 ++delta; 5802 ++n; 5803 } 5804 return output.join(''); 5805}; 5806 5807module.exports = function (input) { 5808 var encoded = []; 5809 var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); 5810 var i, label; 5811 for (i = 0; i < labels.length; i++) { 5812 label = labels[i]; 5813 encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); 5814 } 5815 return encoded.join('.'); 5816}; 5817 5818 5819/***/ }), 5820
vendor: 1,075 bytes, lines 5821-5846
5821/***/ "./node_modules/core-js/internals/string-repeat.js": 5822/*!*********************************************************!*\ 5823 !*** ./node_modules/core-js/internals/string-repeat.js ***! 5824 \*********************************************************/ 5825/*! no static exports found */ 5826/***/ (function(module, exports, __webpack_require__) { 5827 5828"use strict"; 5829 5830var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 5831var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 5832 5833// `String.prototype.repeat` method implementation 5834// https://tc39.github.io/ecma262/#sec-string.prototype.repeat 5835module.exports = ''.repeat || function repeat(count) { 5836 var str = String(requireObjectCoercible(this)); 5837 var result = ''; 5838 var n = toInteger(count); 5839 if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); 5840 for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; 5841 return result; 5842}; 5843 5844 5845/***/ }), 5846
vendor: 919 bytes, lines 5847-5869
5847/***/ "./node_modules/core-js/internals/string-trim-forced.js": 5848/*!**************************************************************!*\ 5849 !*** ./node_modules/core-js/internals/string-trim-forced.js ***! 5850 \**************************************************************/ 5851/*! no static exports found */ 5852/***/ (function(module, exports, __webpack_require__) { 5853 5854var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 5855var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 5856 5857var non = '\u200B\u0085\u180E'; 5858 5859// check that a method works with the correct list 5860// of whitespaces and has a correct name 5861module.exports = function (METHOD_NAME) { 5862 return fails(function () { 5863 return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; 5864 }); 5865}; 5866 5867 5868/***/ }), 5869
vendor: 1,566 bytes, lines 5870-5908
5870/***/ "./node_modules/core-js/internals/string-trim.js": 5871/*!*******************************************************!*\ 5872 !*** ./node_modules/core-js/internals/string-trim.js ***! 5873 \*******************************************************/ 5874/*! no static exports found */ 5875/***/ (function(module, exports, __webpack_require__) { 5876 5877var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 5878var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 5879 5880var whitespace = '[' + whitespaces + ']'; 5881var ltrim = RegExp('^' + whitespace + whitespace + '*'); 5882var rtrim = RegExp(whitespace + whitespace + '*$'); 5883 5884// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation 5885var createMethod = function (TYPE) { 5886 return function ($this) { 5887 var string = String(requireObjectCoercible($this)); 5888 if (TYPE & 1) string = string.replace(ltrim, ''); 5889 if (TYPE & 2) string = string.replace(rtrim, ''); 5890 return string; 5891 }; 5892}; 5893 5894module.exports = { 5895 // `String.prototype.{ trimLeft, trimStart }` methods 5896 // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart 5897 start: createMethod(1), 5898 // `String.prototype.{ trimRight, trimEnd }` methods 5899 // https://tc39.github.io/ecma262/#sec-string.prototype.trimend 5900 end: createMethod(2), 5901 // `String.prototype.trim` method 5902 // https://tc39.github.io/ecma262/#sec-string.prototype.trim 5903 trim: createMethod(3) 5904}; 5905 5906 5907/***/ }), 5908
vendor: 3,758 bytes, lines 5909-6026
5909/***/ "./node_modules/core-js/internals/task.js": 5910/*!************************************************!*\ 5911 !*** ./node_modules/core-js/internals/task.js ***! 5912 \************************************************/ 5913/*! no static exports found */ 5914/***/ (function(module, exports, __webpack_require__) { 5915 5916var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 5917var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 5918var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 5919var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); 5920var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); 5921var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js"); 5922var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 5923 5924var location = global.location; 5925var set = global.setImmediate; 5926var clear = global.clearImmediate; 5927var process = global.process; 5928var MessageChannel = global.MessageChannel; 5929var Dispatch = global.Dispatch; 5930var counter = 0; 5931var queue = {}; 5932var ONREADYSTATECHANGE = 'onreadystatechange'; 5933var defer, channel, port; 5934 5935var run = function (id) { 5936 // eslint-disable-next-line no-prototype-builtins 5937 if (queue.hasOwnProperty(id)) { 5938 var fn = queue[id]; 5939 delete queue[id]; 5940 fn(); 5941 } 5942}; 5943 5944var runner = function (id) { 5945 return function () { 5946 run(id); 5947 }; 5948}; 5949 5950var listener = function (event) { 5951 run(event.data); 5952}; 5953 5954var post = function (id) { 5955 // old engines have not location.origin 5956 global.postMessage(id + '', location.protocol + '//' + location.host); 5957}; 5958 5959// Node.js 0.9+ & IE10+ has setImmediate, otherwise: 5960if (!set || !clear) { 5961 set = function setImmediate(fn) { 5962 var args = []; 5963 var i = 1; 5964 while (arguments.length > i) args.push(arguments[i++]); 5965 queue[++counter] = function () { 5966 // eslint-disable-next-line no-new-func 5967 (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); 5968 }; 5969 defer(counter); 5970 return counter; 5971 }; 5972 clear = function clearImmediate(id) { 5973 delete queue[id]; 5974 }; 5975 // Node.js 0.8- 5976 if (IS_NODE) { 5977 defer = function (id) { 5978 process.nextTick(runner(id)); 5979 }; 5980 // Sphere (JS game engine) Dispatch API 5981 } else if (Dispatch && Dispatch.now) { 5982 defer = function (id) { 5983 Dispatch.now(runner(id)); 5984 }; 5985 // Browsers with MessageChannel, includes WebWorkers 5986 // except iOS - https://github.com/zloirock/core-js/issues/624 5987 } else if (MessageChannel && !IS_IOS) { 5988 channel = new MessageChannel(); 5989 port = channel.port2; 5990 channel.port1.onmessage = listener; 5991 defer = bind(port.postMessage, port, 1); 5992 // Browsers with postMessage, skip WebWorkers 5993 // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' 5994 } else if ( 5995 global.addEventListener && 5996 typeof postMessage == 'function' && 5997 !global.importScripts && 5998 location && location.protocol !== 'file:' && 5999 !fails(post) 6000 ) { 6001 defer = post; 6002 global.addEventListener('message', listener, false); 6003 // IE8- 6004 } else if (ONREADYSTATECHANGE in createElement('script')) { 6005 defer = function (id) { 6006 html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { 6007 html.removeChild(this); 6008 run(id); 6009 }; 6010 }; 6011 // Rest old browsers 6012 } else { 6013 defer = function (id) { 6014 setTimeout(runner(id), 0); 6015 }; 6016 } 6017} 6018 6019module.exports = { 6020 set: set, 6021 clear: clear 6022}; 6023 6024 6025/***/ }), 6026
vendor: 747 bytes, lines 6027-6047
6027/***/ "./node_modules/core-js/internals/this-number-value.js": 6028/*!*************************************************************!*\ 6029 !*** ./node_modules/core-js/internals/this-number-value.js ***! 6030 \*************************************************************/ 6031/*! no static exports found */ 6032/***/ (function(module, exports, __webpack_require__) { 6033 6034var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 6035 6036// `thisNumberValue` abstract operation 6037// https://tc39.github.io/ecma262/#sec-thisnumbervalue 6038module.exports = function (value) { 6039 if (typeof value != 'number' && classof(value) != 'Number') { 6040 throw TypeError('Incorrect invocation'); 6041 } 6042 return +value; 6043}; 6044 6045 6046/***/ }), 6047
vendor: 869 bytes, lines 6048-6070
6048/***/ "./node_modules/core-js/internals/to-absolute-index.js": 6049/*!*************************************************************!*\ 6050 !*** ./node_modules/core-js/internals/to-absolute-index.js ***! 6051 \*************************************************************/ 6052/*! no static exports found */ 6053/***/ (function(module, exports, __webpack_require__) { 6054 6055var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 6056 6057var max = Math.max; 6058var min = Math.min; 6059 6060// Helper for a popular repeating case of the spec: 6061// Let integer be ? ToInteger(index). 6062// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 6063module.exports = function (index, length) { 6064 var integer = toInteger(index); 6065 return integer < 0 ? max(integer + length, 0) : min(integer, length); 6066}; 6067 6068 6069/***/ }), 6070
vendor: 859 bytes, lines 6071-6093
6071/***/ "./node_modules/core-js/internals/to-index.js": 6072/*!****************************************************!*\ 6073 !*** ./node_modules/core-js/internals/to-index.js ***! 6074 \****************************************************/ 6075/*! no static exports found */ 6076/***/ (function(module, exports, __webpack_require__) { 6077 6078var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 6079var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 6080 6081// `ToIndex` abstract operation 6082// https://tc39.github.io/ecma262/#sec-toindex 6083module.exports = function (it) { 6084 if (it === undefined) return 0; 6085 var number = toInteger(it); 6086 var length = toLength(number); 6087 if (number !== length) throw RangeError('Wrong length or index'); 6088 return length; 6089}; 6090 6091 6092/***/ }), 6093
vendor: 799 bytes, lines 6094-6111
6094/***/ "./node_modules/core-js/internals/to-indexed-object.js": 6095/*!*************************************************************!*\ 6096 !*** ./node_modules/core-js/internals/to-indexed-object.js ***! 6097 \*************************************************************/ 6098/*! no static exports found */ 6099/***/ (function(module, exports, __webpack_require__) { 6100 6101// toObject with fallback for non-array-like ES3 strings 6102var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 6103var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 6104 6105module.exports = function (it) { 6106 return IndexedObject(requireObjectCoercible(it)); 6107}; 6108 6109 6110/***/ }), 6111
vendor: 571 bytes, lines 6112-6130
6112/***/ "./node_modules/core-js/internals/to-integer.js": 6113/*!******************************************************!*\ 6114 !*** ./node_modules/core-js/internals/to-integer.js ***! 6115 \******************************************************/ 6116/*! no static exports found */ 6117/***/ (function(module, exports) { 6118 6119var ceil = Math.ceil; 6120var floor = Math.floor; 6121 6122// `ToInteger` abstract operation 6123// https://tc39.github.io/ecma262/#sec-tointeger 6124module.exports = function (argument) { 6125 return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); 6126}; 6127 6128 6129/***/ }), 6130
vendor: 702 bytes, lines 6131-6150
6131/***/ "./node_modules/core-js/internals/to-length.js": 6132/*!*****************************************************!*\ 6133 !*** ./node_modules/core-js/internals/to-length.js ***! 6134 \*****************************************************/ 6135/*! no static exports found */ 6136/***/ (function(module, exports, __webpack_require__) { 6137 6138var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 6139 6140var min = Math.min; 6141 6142// `ToLength` abstract operation 6143// https://tc39.github.io/ecma262/#sec-tolength 6144module.exports = function (argument) { 6145 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 6146}; 6147 6148 6149/***/ }), 6150
vendor: 666 bytes, lines 6151-6168
6151/***/ "./node_modules/core-js/internals/to-object.js": 6152/*!*****************************************************!*\ 6153 !*** ./node_modules/core-js/internals/to-object.js ***! 6154 \*****************************************************/ 6155/*! no static exports found */ 6156/***/ (function(module, exports, __webpack_require__) { 6157 6158var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 6159 6160// `ToObject` abstract operation 6161// https://tc39.github.io/ecma262/#sec-toobject 6162module.exports = function (argument) { 6163 return Object(requireObjectCoercible(argument)); 6164}; 6165 6166 6167/***/ }), 6168
vendor: 631 bytes, lines 6169-6186
6169/***/ "./node_modules/core-js/internals/to-offset.js": 6170/*!*****************************************************!*\ 6171 !*** ./node_modules/core-js/internals/to-offset.js ***! 6172 \*****************************************************/ 6173/*! no static exports found */ 6174/***/ (function(module, exports, __webpack_require__) { 6175 6176var toPositiveInteger = __webpack_require__(/*! ../internals/to-positive-integer */ "./node_modules/core-js/internals/to-positive-integer.js"); 6177 6178module.exports = function (it, BYTES) { 6179 var offset = toPositiveInteger(it); 6180 if (offset % BYTES) throw RangeError('Wrong offset'); 6181 return offset; 6182}; 6183 6184 6185/***/ }), 6186
vendor: 647 bytes, lines 6187-6204
6187/***/ "./node_modules/core-js/internals/to-positive-integer.js": 6188/*!***************************************************************!*\ 6189 !*** ./node_modules/core-js/internals/to-positive-integer.js ***! 6190 \***************************************************************/ 6191/*! no static exports found */ 6192/***/ (function(module, exports, __webpack_require__) { 6193 6194var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 6195 6196module.exports = function (it) { 6197 var result = toInteger(it); 6198 if (result < 0) throw RangeError("The argument can't be less than 0"); 6199 return result; 6200}; 6201 6202 6203/***/ }), 6204
vendor: 1,188 bytes, lines 6205-6229
6205/***/ "./node_modules/core-js/internals/to-primitive.js": 6206/*!********************************************************!*\ 6207 !*** ./node_modules/core-js/internals/to-primitive.js ***! 6208 \********************************************************/ 6209/*! no static exports found */ 6210/***/ (function(module, exports, __webpack_require__) { 6211 6212var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 6213 6214// `ToPrimitive` abstract operation 6215// https://tc39.github.io/ecma262/#sec-toprimitive 6216// instead of the ES6 spec version, we didn't implement @@toPrimitive case 6217// and the second argument - flag - preferred type is a string 6218module.exports = function (input, PREFERRED_STRING) { 6219 if (!isObject(input)) return input; 6220 var fn, val; 6221 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 6222 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; 6223 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 6224 throw TypeError("Can't convert object to primitive value"); 6225}; 6226 6227 6228/***/ }), 6229
vendor: 663 bytes, lines 6230-6248
6230/***/ "./node_modules/core-js/internals/to-string-tag-support.js": 6231/*!*****************************************************************!*\ 6232 !*** ./node_modules/core-js/internals/to-string-tag-support.js ***! 6233 \*****************************************************************/ 6234/*! no static exports found */ 6235/***/ (function(module, exports, __webpack_require__) { 6236 6237var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 6238 6239var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 6240var test = {}; 6241 6242test[TO_STRING_TAG] = 'z'; 6243 6244module.exports = String(test) === '[object z]'; 6245 6246 6247/***/ }), 6248
vendor: 11,949 bytes, lines 6249-6490
6249/***/ "./node_modules/core-js/internals/typed-array-constructor.js": 6250/*!*******************************************************************!*\ 6251 !*** ./node_modules/core-js/internals/typed-array-constructor.js ***! 6252 \*******************************************************************/ 6253/*! no static exports found */ 6254/***/ (function(module, exports, __webpack_require__) { 6255 6256"use strict"; 6257 6258var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6259var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 6260var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 6261var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); 6262var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 6263var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); 6264var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 6265var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 6266var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 6267var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 6268var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js"); 6269var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js"); 6270var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 6271var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 6272var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 6273var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 6274var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 6275var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 6276var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 6277var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js"); 6278var forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; 6279var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 6280var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 6281var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 6282var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 6283var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); 6284 6285var getInternalState = InternalStateModule.get; 6286var setInternalState = InternalStateModule.set; 6287var nativeDefineProperty = definePropertyModule.f; 6288var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 6289var round = Math.round; 6290var RangeError = global.RangeError; 6291var ArrayBuffer = ArrayBufferModule.ArrayBuffer; 6292var DataView = ArrayBufferModule.DataView; 6293var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; 6294var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; 6295var TypedArray = ArrayBufferViewCore.TypedArray; 6296var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; 6297var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 6298var isTypedArray = ArrayBufferViewCore.isTypedArray; 6299var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; 6300var WRONG_LENGTH = 'Wrong length'; 6301 6302var fromList = function (C, list) { 6303 var index = 0; 6304 var length = list.length; 6305 var result = new (aTypedArrayConstructor(C))(length); 6306 while (length > index) result[index] = list[index++]; 6307 return result; 6308}; 6309 6310var addGetter = function (it, key) { 6311 nativeDefineProperty(it, key, { get: function () { 6312 return getInternalState(this)[key]; 6313 } }); 6314}; 6315 6316var isArrayBuffer = function (it) { 6317 var klass; 6318 return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; 6319}; 6320 6321var isTypedArrayIndex = function (target, key) { 6322 return isTypedArray(target) 6323 && typeof key != 'symbol' 6324 && key in target 6325 && String(+key) == String(key); 6326}; 6327 6328var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { 6329 return isTypedArrayIndex(target, key = toPrimitive(key, true)) 6330 ? createPropertyDescriptor(2, target[key]) 6331 : nativeGetOwnPropertyDescriptor(target, key); 6332}; 6333 6334var wrappedDefineProperty = function defineProperty(target, key, descriptor) { 6335 if (isTypedArrayIndex(target, key = toPrimitive(key, true)) 6336 && isObject(descriptor) 6337 && has(descriptor, 'value') 6338 && !has(descriptor, 'get') 6339 && !has(descriptor, 'set') 6340 // TODO: add validation descriptor w/o calling accessors 6341 && !descriptor.configurable 6342 && (!has(descriptor, 'writable') || descriptor.writable) 6343 && (!has(descriptor, 'enumerable') || descriptor.enumerable) 6344 ) { 6345 target[key] = descriptor.value; 6346 return target; 6347 } return nativeDefineProperty(target, key, descriptor); 6348}; 6349 6350if (DESCRIPTORS) { 6351 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 6352 getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; 6353 definePropertyModule.f = wrappedDefineProperty; 6354 addGetter(TypedArrayPrototype, 'buffer'); 6355 addGetter(TypedArrayPrototype, 'byteOffset'); 6356 addGetter(TypedArrayPrototype, 'byteLength'); 6357 addGetter(TypedArrayPrototype, 'length'); 6358 } 6359 6360 $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { 6361 getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, 6362 defineProperty: wrappedDefineProperty 6363 }); 6364 6365 module.exports = function (TYPE, wrapper, CLAMPED) { 6366 var BYTES = TYPE.match(/\d+$/)[0] / 8; 6367 var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; 6368 var GETTER = 'get' + TYPE; 6369 var SETTER = 'set' + TYPE; 6370 var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; 6371 var TypedArrayConstructor = NativeTypedArrayConstructor; 6372 var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; 6373 var exported = {}; 6374 6375 var getter = function (that, index) { 6376 var data = getInternalState(that); 6377 return data.view[GETTER](index * BYTES + data.byteOffset, true); 6378 }; 6379 6380 var setter = function (that, index, value) { 6381 var data = getInternalState(that); 6382 if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; 6383 data.view[SETTER](index * BYTES + data.byteOffset, value, true); 6384 }; 6385 6386 var addElement = function (that, index) { 6387 nativeDefineProperty(that, index, { 6388 get: function () { 6389 return getter(this, index); 6390 }, 6391 set: function (value) { 6392 return setter(this, index, value); 6393 }, 6394 enumerable: true 6395 }); 6396 }; 6397 6398 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 6399 TypedArrayConstructor = wrapper(function (that, data, offset, $length) { 6400 anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); 6401 var index = 0; 6402 var byteOffset = 0; 6403 var buffer, byteLength, length; 6404 if (!isObject(data)) { 6405 length = toIndex(data); 6406 byteLength = length * BYTES; 6407 buffer = new ArrayBuffer(byteLength); 6408 } else if (isArrayBuffer(data)) { 6409 buffer = data; 6410 byteOffset = toOffset(offset, BYTES); 6411 var $len = data.byteLength; 6412 if ($length === undefined) { 6413 if ($len % BYTES) throw RangeError(WRONG_LENGTH); 6414 byteLength = $len - byteOffset; 6415 if (byteLength < 0) throw RangeError(WRONG_LENGTH); 6416 } else { 6417 byteLength = toLength($length) * BYTES; 6418 if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); 6419 } 6420 length = byteLength / BYTES; 6421 } else if (isTypedArray(data)) { 6422 return fromList(TypedArrayConstructor, data); 6423 } else { 6424 return typedArrayFrom.call(TypedArrayConstructor, data); 6425 } 6426 setInternalState(that, { 6427 buffer: buffer, 6428 byteOffset: byteOffset, 6429 byteLength: byteLength, 6430 length: length, 6431 view: new DataView(buffer) 6432 }); 6433 while (index < length) addElement(that, index++); 6434 }); 6435 6436 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 6437 TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); 6438 } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { 6439 TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { 6440 anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); 6441 return inheritIfRequired(function () { 6442 if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); 6443 if (isArrayBuffer(data)) return $length !== undefined 6444 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) 6445 : typedArrayOffset !== undefined 6446 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) 6447 : new NativeTypedArrayConstructor(data); 6448 if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); 6449 return typedArrayFrom.call(TypedArrayConstructor, data); 6450 }(), dummy, TypedArrayConstructor); 6451 }); 6452 6453 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 6454 forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { 6455 if (!(key in TypedArrayConstructor)) { 6456 createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); 6457 } 6458 }); 6459 TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; 6460 } 6461 6462 if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { 6463 createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); 6464 } 6465 6466 if (TYPED_ARRAY_TAG) { 6467 createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); 6468 } 6469 6470 exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; 6471 6472 $({ 6473 global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS 6474 }, exported); 6475 6476 if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { 6477 createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); 6478 } 6479 6480 if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { 6481 createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); 6482 } 6483 6484 setSpecies(CONSTRUCTOR_NAME); 6485 }; 6486} else module.exports = function () { /* empty */ }; 6487 6488 6489/***/ }), 6490
vendor: 1,607 bytes, lines 6491-6523
6491/***/ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js": 6492/*!*************************************************************************************!*\ 6493 !*** ./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js ***! 6494 \*************************************************************************************/ 6495/*! no static exports found */ 6496/***/ (function(module, exports, __webpack_require__) { 6497 6498/* eslint-disable no-new */ 6499var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 6500var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 6501var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); 6502var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").NATIVE_ARRAY_BUFFER_VIEWS; 6503 6504var ArrayBuffer = global.ArrayBuffer; 6505var Int8Array = global.Int8Array; 6506 6507module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { 6508 Int8Array(1); 6509}) || !fails(function () { 6510 new Int8Array(-1); 6511}) || !checkCorrectnessOfIteration(function (iterable) { 6512 new Int8Array(); 6513 new Int8Array(null); 6514 new Int8Array(1.5); 6515 new Int8Array(iterable); 6516}, true) || fails(function () { 6517 // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill 6518 return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; 6519}); 6520 6521 6522/***/ }), 6523
vendor: 2,050 bytes, lines 6524-6566
6524/***/ "./node_modules/core-js/internals/typed-array-from.js": 6525/*!************************************************************!*\ 6526 !*** ./node_modules/core-js/internals/typed-array-from.js ***! 6527 \************************************************************/ 6528/*! no static exports found */ 6529/***/ (function(module, exports, __webpack_require__) { 6530 6531var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 6532var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 6533var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); 6534var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js"); 6535var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 6536var aTypedArrayConstructor = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").aTypedArrayConstructor; 6537 6538module.exports = function from(source /* , mapfn, thisArg */) { 6539 var O = toObject(source); 6540 var argumentsLength = arguments.length; 6541 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 6542 var mapping = mapfn !== undefined; 6543 var iteratorMethod = getIteratorMethod(O); 6544 var i, length, result, step, iterator, next; 6545 if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { 6546 iterator = iteratorMethod.call(O); 6547 next = iterator.next; 6548 O = []; 6549 while (!(step = next.call(iterator)).done) { 6550 O.push(step.value); 6551 } 6552 } 6553 if (mapping && argumentsLength > 2) { 6554 mapfn = bind(mapfn, arguments[2], 2); 6555 } 6556 length = toLength(O.length); 6557 result = new (aTypedArrayConstructor(this))(length); 6558 for (i = 0; length > i; i++) { 6559 result[i] = mapping ? mapfn(O[i], i) : O[i]; 6560 } 6561 return result; 6562}; 6563 6564 6565/***/ }), 6566
vendor: 464 bytes, lines 6567-6583
6567/***/ "./node_modules/core-js/internals/uid.js": 6568/*!***********************************************!*\ 6569 !*** ./node_modules/core-js/internals/uid.js ***! 6570 \***********************************************/ 6571/*! no static exports found */ 6572/***/ (function(module, exports) { 6573 6574var id = 0; 6575var postfix = Math.random(); 6576 6577module.exports = function (key) { 6578 return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); 6579}; 6580 6581 6582/***/ }), 6583
vendor: 661 bytes, lines 6584-6601
6584/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js": 6585/*!*************************************************************!*\ 6586 !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***! 6587 \*************************************************************/ 6588/*! no static exports found */ 6589/***/ (function(module, exports, __webpack_require__) { 6590 6591var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); 6592 6593module.exports = NATIVE_SYMBOL 6594 // eslint-disable-next-line no-undef 6595 && !Symbol.sham 6596 // eslint-disable-next-line no-undef 6597 && typeof Symbol.iterator == 'symbol'; 6598 6599 6600/***/ }), 6601
vendor: 564 bytes, lines 6602-6615
6602/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js": 6603/*!*********************************************************************!*\ 6604 !*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***! 6605 \*********************************************************************/ 6606/*! no static exports found */ 6607/***/ (function(module, exports, __webpack_require__) { 6608 6609var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 6610 6611exports.f = wellKnownSymbol; 6612 6613 6614/***/ }), 6615
vendor: 1,500 bytes, lines 6616-6643
6616/***/ "./node_modules/core-js/internals/well-known-symbol.js": 6617/*!*************************************************************!*\ 6618 !*** ./node_modules/core-js/internals/well-known-symbol.js ***! 6619 \*************************************************************/ 6620/*! no static exports found */ 6621/***/ (function(module, exports, __webpack_require__) { 6622 6623var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 6624var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 6625var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 6626var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 6627var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); 6628var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); 6629 6630var WellKnownSymbolsStore = shared('wks'); 6631var Symbol = global.Symbol; 6632var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 6633 6634module.exports = function (name) { 6635 if (!has(WellKnownSymbolsStore, name)) { 6636 if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name]; 6637 else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); 6638 } return WellKnownSymbolsStore[name]; 6639}; 6640 6641 6642/***/ }), 6643
vendor: 571 bytes, lines 6644-6657
6644/***/ "./node_modules/core-js/internals/whitespaces.js": 6645/*!*******************************************************!*\ 6646 !*** ./node_modules/core-js/internals/whitespaces.js ***! 6647 \*******************************************************/ 6648/*! no static exports found */ 6649/***/ (function(module, exports) { 6650 6651// a string of all valid unicode whitespaces 6652// eslint-disable-next-line max-len 6653module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 6654 6655 6656/***/ }), 6657
vendor: 2,151 bytes, lines 6658-6700
6658/***/ "./node_modules/core-js/modules/es.aggregate-error.js": 6659/*!************************************************************!*\ 6660 !*** ./node_modules/core-js/modules/es.aggregate-error.js ***! 6661 \************************************************************/ 6662/*! no static exports found */ 6663/***/ (function(module, exports, __webpack_require__) { 6664 6665"use strict"; 6666 6667var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6668var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 6669var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 6670var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 6671var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 6672var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 6673var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 6674 6675var $AggregateError = function AggregateError(errors, message) { 6676 var that = this; 6677 if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); 6678 if (setPrototypeOf) { 6679 that = setPrototypeOf(new Error(undefined), getPrototypeOf(that)); 6680 } 6681 if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message)); 6682 var errorsArray = []; 6683 iterate(errors, errorsArray.push, { that: errorsArray }); 6684 createNonEnumerableProperty(that, 'errors', errorsArray); 6685 return that; 6686}; 6687 6688$AggregateError.prototype = create(Error.prototype, { 6689 constructor: createPropertyDescriptor(5, $AggregateError), 6690 message: createPropertyDescriptor(5, ''), 6691 name: createPropertyDescriptor(5, 'AggregateError') 6692}); 6693 6694$({ global: true }, { 6695 AggregateError: $AggregateError 6696}); 6697 6698 6699/***/ }), 6700
vendor: 1,219 bytes, lines 6701-6729
6701/***/ "./node_modules/core-js/modules/es.array-buffer.constructor.js": 6702/*!*********************************************************************!*\ 6703 !*** ./node_modules/core-js/modules/es.array-buffer.constructor.js ***! 6704 \*********************************************************************/ 6705/*! no static exports found */ 6706/***/ (function(module, exports, __webpack_require__) { 6707 6708"use strict"; 6709 6710var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6711var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 6712var arrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); 6713var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 6714 6715var ARRAY_BUFFER = 'ArrayBuffer'; 6716var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; 6717var NativeArrayBuffer = global[ARRAY_BUFFER]; 6718 6719// `ArrayBuffer` constructor 6720// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor 6721$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { 6722 ArrayBuffer: ArrayBuffer 6723}); 6724 6725setSpecies(ARRAY_BUFFER); 6726 6727 6728/***/ }), 6729
vendor: 924 bytes, lines 6730-6750
6730/***/ "./node_modules/core-js/modules/es.array-buffer.is-view.js": 6731/*!*****************************************************************!*\ 6732 !*** ./node_modules/core-js/modules/es.array-buffer.is-view.js ***! 6733 \*****************************************************************/ 6734/*! no static exports found */ 6735/***/ (function(module, exports, __webpack_require__) { 6736 6737var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6738var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 6739 6740var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; 6741 6742// `ArrayBuffer.isView` method 6743// https://tc39.github.io/ecma262/#sec-arraybuffer.isview 6744$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { 6745 isView: ArrayBufferViewCore.isView 6746}); 6747 6748 6749/***/ }), 6750
vendor: 2,348 bytes, lines 6751-6798
6751/***/ "./node_modules/core-js/modules/es.array-buffer.slice.js": 6752/*!***************************************************************!*\ 6753 !*** ./node_modules/core-js/modules/es.array-buffer.slice.js ***! 6754 \***************************************************************/ 6755/*! no static exports found */ 6756/***/ (function(module, exports, __webpack_require__) { 6757 6758"use strict"; 6759 6760var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6761var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 6762var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); 6763var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 6764var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 6765var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 6766var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 6767 6768var ArrayBuffer = ArrayBufferModule.ArrayBuffer; 6769var DataView = ArrayBufferModule.DataView; 6770var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; 6771 6772var INCORRECT_SLICE = fails(function () { 6773 return !new ArrayBuffer(2).slice(1, undefined).byteLength; 6774}); 6775 6776// `ArrayBuffer.prototype.slice` method 6777// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice 6778$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { 6779 slice: function slice(start, end) { 6780 if (nativeArrayBufferSlice !== undefined && end === undefined) { 6781 return nativeArrayBufferSlice.call(anObject(this), start); // FF fix 6782 } 6783 var length = anObject(this).byteLength; 6784 var first = toAbsoluteIndex(start, length); 6785 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 6786 var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); 6787 var viewSource = new DataView(this); 6788 var viewTarget = new DataView(result); 6789 var index = 0; 6790 while (first < fin) { 6791 viewTarget.setUint8(index++, viewSource.getUint8(first++)); 6792 } return result; 6793 } 6794}); 6795 6796 6797/***/ }), 6798
vendor: 3,513 bytes, lines 6799-6870
6799/***/ "./node_modules/core-js/modules/es.array.concat.js": 6800/*!*********************************************************!*\ 6801 !*** ./node_modules/core-js/modules/es.array.concat.js ***! 6802 \*********************************************************/ 6803/*! no static exports found */ 6804/***/ (function(module, exports, __webpack_require__) { 6805 6806"use strict"; 6807 6808var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6809var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 6810var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 6811var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 6812var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 6813var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 6814var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 6815var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 6816var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 6817var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 6818var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 6819 6820var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); 6821var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 6822var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; 6823 6824// We can't use this feature detection in V8 since it causes 6825// deoptimization and serious performance degradation 6826// https://github.com/zloirock/core-js/issues/679 6827var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { 6828 var array = []; 6829 array[IS_CONCAT_SPREADABLE] = false; 6830 return array.concat()[0] !== array; 6831}); 6832 6833var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); 6834 6835var isConcatSpreadable = function (O) { 6836 if (!isObject(O)) return false; 6837 var spreadable = O[IS_CONCAT_SPREADABLE]; 6838 return spreadable !== undefined ? !!spreadable : isArray(O); 6839}; 6840 6841var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; 6842 6843// `Array.prototype.concat` method 6844// https://tc39.github.io/ecma262/#sec-array.prototype.concat 6845// with adding support of @@isConcatSpreadable and @@species 6846$({ target: 'Array', proto: true, forced: FORCED }, { 6847 concat: function concat(arg) { // eslint-disable-line no-unused-vars 6848 var O = toObject(this); 6849 var A = arraySpeciesCreate(O, 0); 6850 var n = 0; 6851 var i, k, length, len, E; 6852 for (i = -1, length = arguments.length; i < length; i++) { 6853 E = i === -1 ? O : arguments[i]; 6854 if (isConcatSpreadable(E)) { 6855 len = toLength(E.length); 6856 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 6857 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); 6858 } else { 6859 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 6860 createProperty(A, n++, E); 6861 } 6862 } 6863 A.length = n; 6864 return A; 6865 } 6866}); 6867 6868 6869/***/ }), 6870
vendor: 1,019 bytes, lines 6871-6893
6871/***/ "./node_modules/core-js/modules/es.array.copy-within.js": 6872/*!**************************************************************!*\ 6873 !*** ./node_modules/core-js/modules/es.array.copy-within.js ***! 6874 \**************************************************************/ 6875/*! no static exports found */ 6876/***/ (function(module, exports, __webpack_require__) { 6877 6878var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6879var copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js"); 6880var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 6881 6882// `Array.prototype.copyWithin` method 6883// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin 6884$({ target: 'Array', proto: true }, { 6885 copyWithin: copyWithin 6886}); 6887 6888// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 6889addToUnscopables('copyWithin'); 6890 6891 6892/***/ }), 6893
vendor: 1,341 bytes, lines 6894-6921
6894/***/ "./node_modules/core-js/modules/es.array.every.js": 6895/*!********************************************************!*\ 6896 !*** ./node_modules/core-js/modules/es.array.every.js ***! 6897 \********************************************************/ 6898/*! no static exports found */ 6899/***/ (function(module, exports, __webpack_require__) { 6900 6901"use strict"; 6902 6903var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6904var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every; 6905var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 6906var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 6907 6908var STRICT_METHOD = arrayMethodIsStrict('every'); 6909var USES_TO_LENGTH = arrayMethodUsesToLength('every'); 6910 6911// `Array.prototype.every` method 6912// https://tc39.github.io/ecma262/#sec-array.prototype.every 6913$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { 6914 every: function every(callbackfn /* , thisArg */) { 6915 return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 6916 } 6917}); 6918 6919 6920/***/ }), 6921
vendor: 941 bytes, lines 6922-6944
6922/***/ "./node_modules/core-js/modules/es.array.fill.js": 6923/*!*******************************************************!*\ 6924 !*** ./node_modules/core-js/modules/es.array.fill.js ***! 6925 \*******************************************************/ 6926/*! no static exports found */ 6927/***/ (function(module, exports, __webpack_require__) { 6928 6929var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6930var fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); 6931var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 6932 6933// `Array.prototype.fill` method 6934// https://tc39.github.io/ecma262/#sec-array.prototype.fill 6935$({ target: 'Array', proto: true }, { 6936 fill: fill 6937}); 6938 6939// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 6940addToUnscopables('fill'); 6941 6942 6943/***/ }), 6944
vendor: 1,458 bytes, lines 6945-6974
6945/***/ "./node_modules/core-js/modules/es.array.filter.js": 6946/*!*********************************************************!*\ 6947 !*** ./node_modules/core-js/modules/es.array.filter.js ***! 6948 \*********************************************************/ 6949/*! no static exports found */ 6950/***/ (function(module, exports, __webpack_require__) { 6951 6952"use strict"; 6953 6954var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6955var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter; 6956var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 6957var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 6958 6959var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); 6960// Edge 14- issue 6961var USES_TO_LENGTH = arrayMethodUsesToLength('filter'); 6962 6963// `Array.prototype.filter` method 6964// https://tc39.github.io/ecma262/#sec-array.prototype.filter 6965// with adding support of @@species 6966$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 6967 filter: function filter(callbackfn /* , thisArg */) { 6968 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 6969 } 6970}); 6971 6972 6973/***/ }), 6974
vendor: 1,599 bytes, lines 6975-7010
6975/***/ "./node_modules/core-js/modules/es.array.find-index.js": 6976/*!*************************************************************!*\ 6977 !*** ./node_modules/core-js/modules/es.array.find-index.js ***! 6978 \*************************************************************/ 6979/*! no static exports found */ 6980/***/ (function(module, exports, __webpack_require__) { 6981 6982"use strict"; 6983 6984var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 6985var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex; 6986var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 6987var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 6988 6989var FIND_INDEX = 'findIndex'; 6990var SKIPS_HOLES = true; 6991 6992var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX); 6993 6994// Shouldn't skip holes 6995if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); 6996 6997// `Array.prototype.findIndex` method 6998// https://tc39.github.io/ecma262/#sec-array.prototype.findindex 6999$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { 7000 findIndex: function findIndex(callbackfn /* , that = undefined */) { 7001 return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 7002 } 7003}); 7004 7005// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7006addToUnscopables(FIND_INDEX); 7007 7008 7009/***/ }), 7010
vendor: 1,505 bytes, lines 7011-7046
7011/***/ "./node_modules/core-js/modules/es.array.find.js": 7012/*!*******************************************************!*\ 7013 !*** ./node_modules/core-js/modules/es.array.find.js ***! 7014 \*******************************************************/ 7015/*! no static exports found */ 7016/***/ (function(module, exports, __webpack_require__) { 7017 7018"use strict"; 7019 7020var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7021var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find; 7022var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 7023var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7024 7025var FIND = 'find'; 7026var SKIPS_HOLES = true; 7027 7028var USES_TO_LENGTH = arrayMethodUsesToLength(FIND); 7029 7030// Shouldn't skip holes 7031if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); 7032 7033// `Array.prototype.find` method 7034// https://tc39.github.io/ecma262/#sec-array.prototype.find 7035$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { 7036 find: function find(callbackfn /* , that = undefined */) { 7037 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 7038 } 7039}); 7040 7041// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7042addToUnscopables(FIND); 7043 7044 7045/***/ }), 7046
vendor: 1,568 bytes, lines 7047-7079
7047/***/ "./node_modules/core-js/modules/es.array.flat-map.js": 7048/*!***********************************************************!*\ 7049 !*** ./node_modules/core-js/modules/es.array.flat-map.js ***! 7050 \***********************************************************/ 7051/*! no static exports found */ 7052/***/ (function(module, exports, __webpack_require__) { 7053 7054"use strict"; 7055 7056var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7057var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js"); 7058var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 7059var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 7060var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 7061var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 7062 7063// `Array.prototype.flatMap` method 7064// https://github.com/tc39/proposal-flatMap 7065$({ target: 'Array', proto: true }, { 7066 flatMap: function flatMap(callbackfn /* , thisArg */) { 7067 var O = toObject(this); 7068 var sourceLen = toLength(O.length); 7069 var A; 7070 aFunction(callbackfn); 7071 A = arraySpeciesCreate(O, 0); 7072 A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 7073 return A; 7074 } 7075}); 7076 7077 7078/***/ }), 7079
vendor: 1,551 bytes, lines 7080-7111
7080/***/ "./node_modules/core-js/modules/es.array.flat.js": 7081/*!*******************************************************!*\ 7082 !*** ./node_modules/core-js/modules/es.array.flat.js ***! 7083 \*******************************************************/ 7084/*! no static exports found */ 7085/***/ (function(module, exports, __webpack_require__) { 7086 7087"use strict"; 7088 7089var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7090var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js"); 7091var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 7092var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 7093var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 7094var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 7095 7096// `Array.prototype.flat` method 7097// https://github.com/tc39/proposal-flatMap 7098$({ target: 'Array', proto: true }, { 7099 flat: function flat(/* depthArg = 1 */) { 7100 var depthArg = arguments.length ? arguments[0] : undefined; 7101 var O = toObject(this); 7102 var sourceLen = toLength(O.length); 7103 var A = arraySpeciesCreate(O, 0); 7104 A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); 7105 return A; 7106 } 7107}); 7108 7109 7110/***/ }), 7111
vendor: 789 bytes, lines 7112-7132
7112/***/ "./node_modules/core-js/modules/es.array.for-each.js": 7113/*!***********************************************************!*\ 7114 !*** ./node_modules/core-js/modules/es.array.for-each.js ***! 7115 \***********************************************************/ 7116/*! no static exports found */ 7117/***/ (function(module, exports, __webpack_require__) { 7118 7119"use strict"; 7120 7121var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7122var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js"); 7123 7124// `Array.prototype.forEach` method 7125// https://tc39.github.io/ecma262/#sec-array.prototype.foreach 7126$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { 7127 forEach: forEach 7128}); 7129 7130 7131/***/ }), 7132
vendor: 994 bytes, lines 7133-7156
7133/***/ "./node_modules/core-js/modules/es.array.from.js": 7134/*!*******************************************************!*\ 7135 !*** ./node_modules/core-js/modules/es.array.from.js ***! 7136 \*******************************************************/ 7137/*! no static exports found */ 7138/***/ (function(module, exports, __webpack_require__) { 7139 7140var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7141var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js"); 7142var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); 7143 7144var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { 7145 Array.from(iterable); 7146}); 7147 7148// `Array.from` method 7149// https://tc39.github.io/ecma262/#sec-array.from 7150$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { 7151 from: from 7152}); 7153 7154 7155/***/ }), 7156
vendor: 1,412 bytes, lines 7157-7186
7157/***/ "./node_modules/core-js/modules/es.array.includes.js": 7158/*!***********************************************************!*\ 7159 !*** ./node_modules/core-js/modules/es.array.includes.js ***! 7160 \***********************************************************/ 7161/*! no static exports found */ 7162/***/ (function(module, exports, __webpack_require__) { 7163 7164"use strict"; 7165 7166var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7167var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes; 7168var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 7169var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7170 7171var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 7172 7173// `Array.prototype.includes` method 7174// https://tc39.github.io/ecma262/#sec-array.prototype.includes 7175$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, { 7176 includes: function includes(el /* , fromIndex = 0 */) { 7177 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 7178 } 7179}); 7180 7181// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7182addToUnscopables('includes'); 7183 7184 7185/***/ }), 7186
vendor: 1,623 bytes, lines 7187-7220
7187/***/ "./node_modules/core-js/modules/es.array.index-of.js": 7188/*!***********************************************************!*\ 7189 !*** ./node_modules/core-js/modules/es.array.index-of.js ***! 7190 \***********************************************************/ 7191/*! no static exports found */ 7192/***/ (function(module, exports, __webpack_require__) { 7193 7194"use strict"; 7195 7196var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7197var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; 7198var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7199var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7200 7201var nativeIndexOf = [].indexOf; 7202 7203var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; 7204var STRICT_METHOD = arrayMethodIsStrict('indexOf'); 7205var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); 7206 7207// `Array.prototype.indexOf` method 7208// https://tc39.github.io/ecma262/#sec-array.prototype.indexof 7209$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, { 7210 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 7211 return NEGATIVE_ZERO 7212 // convert -0 to +0 7213 ? nativeIndexOf.apply(this, arguments) || 0 7214 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); 7215 } 7216}); 7217 7218 7219/***/ }), 7220
vendor: 710 bytes, lines 7221-7239
7221/***/ "./node_modules/core-js/modules/es.array.is-array.js": 7222/*!***********************************************************!*\ 7223 !*** ./node_modules/core-js/modules/es.array.is-array.js ***! 7224 \***********************************************************/ 7225/*! no static exports found */ 7226/***/ (function(module, exports, __webpack_require__) { 7227 7228var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7229var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 7230 7231// `Array.isArray` method 7232// https://tc39.github.io/ecma262/#sec-array.isarray 7233$({ target: 'Array', stat: true }, { 7234 isArray: isArray 7235}); 7236 7237 7238/***/ }), 7239
vendor: 2,926 bytes, lines 7240-7304
7240/***/ "./node_modules/core-js/modules/es.array.iterator.js": 7241/*!***********************************************************!*\ 7242 !*** ./node_modules/core-js/modules/es.array.iterator.js ***! 7243 \***********************************************************/ 7244/*! no static exports found */ 7245/***/ (function(module, exports, __webpack_require__) { 7246 7247"use strict"; 7248 7249var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 7250var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 7251var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); 7252var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 7253var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); 7254 7255var ARRAY_ITERATOR = 'Array Iterator'; 7256var setInternalState = InternalStateModule.set; 7257var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); 7258 7259// `Array.prototype.entries` method 7260// https://tc39.github.io/ecma262/#sec-array.prototype.entries 7261// `Array.prototype.keys` method 7262// https://tc39.github.io/ecma262/#sec-array.prototype.keys 7263// `Array.prototype.values` method 7264// https://tc39.github.io/ecma262/#sec-array.prototype.values 7265// `Array.prototype[@@iterator]` method 7266// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator 7267// `CreateArrayIterator` internal method 7268// https://tc39.github.io/ecma262/#sec-createarrayiterator 7269module.exports = defineIterator(Array, 'Array', function (iterated, kind) { 7270 setInternalState(this, { 7271 type: ARRAY_ITERATOR, 7272 target: toIndexedObject(iterated), // target 7273 index: 0, // next index 7274 kind: kind // kind 7275 }); 7276// `%ArrayIteratorPrototype%.next` method 7277// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next 7278}, function () { 7279 var state = getInternalState(this); 7280 var target = state.target; 7281 var kind = state.kind; 7282 var index = state.index++; 7283 if (!target || index >= target.length) { 7284 state.target = undefined; 7285 return { value: undefined, done: true }; 7286 } 7287 if (kind == 'keys') return { value: index, done: false }; 7288 if (kind == 'values') return { value: target[index], done: false }; 7289 return { value: [index, target[index]], done: false }; 7290}, 'values'); 7291 7292// argumentsList[@@iterator] is %ArrayProto_values% 7293// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject 7294// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject 7295Iterators.Arguments = Iterators.Array; 7296 7297// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables 7298addToUnscopables('keys'); 7299addToUnscopables('values'); 7300addToUnscopables('entries'); 7301 7302 7303/***/ }), 7304
vendor: 1,310 bytes, lines 7305-7334
7305/***/ "./node_modules/core-js/modules/es.array.join.js": 7306/*!*******************************************************!*\ 7307 !*** ./node_modules/core-js/modules/es.array.join.js ***! 7308 \*******************************************************/ 7309/*! no static exports found */ 7310/***/ (function(module, exports, __webpack_require__) { 7311 7312"use strict"; 7313 7314var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7315var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 7316var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 7317var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7318 7319var nativeJoin = [].join; 7320 7321var ES3_STRINGS = IndexedObject != Object; 7322var STRICT_METHOD = arrayMethodIsStrict('join', ','); 7323 7324// `Array.prototype.join` method 7325// https://tc39.github.io/ecma262/#sec-array.prototype.join 7326$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { 7327 join: function join(separator) { 7328 return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); 7329 } 7330}); 7331 7332 7333/***/ }), 7334
vendor: 833 bytes, lines 7335-7353
7335/***/ "./node_modules/core-js/modules/es.array.last-index-of.js": 7336/*!****************************************************************!*\ 7337 !*** ./node_modules/core-js/modules/es.array.last-index-of.js ***! 7338 \****************************************************************/ 7339/*! no static exports found */ 7340/***/ (function(module, exports, __webpack_require__) { 7341 7342var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7343var lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js"); 7344 7345// `Array.prototype.lastIndexOf` method 7346// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof 7347$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { 7348 lastIndexOf: lastIndexOf 7349}); 7350 7351 7352/***/ }), 7353
vendor: 1,416 bytes, lines 7354-7383
7354/***/ "./node_modules/core-js/modules/es.array.map.js": 7355/*!******************************************************!*\ 7356 !*** ./node_modules/core-js/modules/es.array.map.js ***! 7357 \******************************************************/ 7358/*! no static exports found */ 7359/***/ (function(module, exports, __webpack_require__) { 7360 7361"use strict"; 7362 7363var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7364var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map; 7365var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 7366var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7367 7368var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); 7369// FF49- issue 7370var USES_TO_LENGTH = arrayMethodUsesToLength('map'); 7371 7372// `Array.prototype.map` method 7373// https://tc39.github.io/ecma262/#sec-array.prototype.map 7374// with adding support of @@species 7375$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 7376 map: function map(callbackfn /* , thisArg */) { 7377 return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 7378 } 7379}); 7380 7381 7382/***/ }), 7383
vendor: 1,297 bytes, lines 7384-7418
7384/***/ "./node_modules/core-js/modules/es.array.of.js": 7385/*!*****************************************************!*\ 7386 !*** ./node_modules/core-js/modules/es.array.of.js ***! 7387 \*****************************************************/ 7388/*! no static exports found */ 7389/***/ (function(module, exports, __webpack_require__) { 7390 7391"use strict"; 7392 7393var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7394var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 7395var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 7396 7397var ISNT_GENERIC = fails(function () { 7398 function F() { /* empty */ } 7399 return !(Array.of.call(F) instanceof F); 7400}); 7401 7402// `Array.of` method 7403// https://tc39.github.io/ecma262/#sec-array.of 7404// WebKit Array.of isn't generic 7405$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { 7406 of: function of(/* ...args */) { 7407 var index = 0; 7408 var argumentsLength = arguments.length; 7409 var result = new (typeof this == 'function' ? this : Array)(argumentsLength); 7410 while (argumentsLength > index) createProperty(result, index, arguments[index++]); 7411 result.length = argumentsLength; 7412 return result; 7413 } 7414}); 7415 7416 7417/***/ }), 7418
vendor: 2,007 bytes, lines 7419-7452
7419/***/ "./node_modules/core-js/modules/es.array.reduce-right.js": 7420/*!***************************************************************!*\ 7421 !*** ./node_modules/core-js/modules/es.array.reduce-right.js ***! 7422 \***************************************************************/ 7423/*! no static exports found */ 7424/***/ (function(module, exports, __webpack_require__) { 7425 7426"use strict"; 7427 7428var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7429var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right; 7430var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7431var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7432var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 7433var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 7434 7435var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); 7436// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method 7437var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); 7438// Chrome 80-82 has a critical bug 7439// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 7440var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 7441 7442// `Array.prototype.reduceRight` method 7443// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright 7444$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, { 7445 reduceRight: function reduceRight(callbackfn /* , initialValue */) { 7446 return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 7447 } 7448}); 7449 7450 7451/***/ }), 7452
vendor: 1,827 bytes, lines 7453-7485
7453/***/ "./node_modules/core-js/modules/es.array.reduce.js": 7454/*!*********************************************************!*\ 7455 !*** ./node_modules/core-js/modules/es.array.reduce.js ***! 7456 \*********************************************************/ 7457/*! no static exports found */ 7458/***/ (function(module, exports, __webpack_require__) { 7459 7460"use strict"; 7461 7462var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7463var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left; 7464var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7465var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7466var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 7467var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 7468 7469var STRICT_METHOD = arrayMethodIsStrict('reduce'); 7470var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); 7471// Chrome 80-82 has a critical bug 7472// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 7473var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 7474 7475// `Array.prototype.reduce` method 7476// https://tc39.github.io/ecma262/#sec-array.prototype.reduce 7477$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, { 7478 reduce: function reduce(callbackfn /* , initialValue */) { 7479 return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 7480 } 7481}); 7482 7483 7484/***/ }), 7485
vendor: 1,071 bytes, lines 7486-7515
7486/***/ "./node_modules/core-js/modules/es.array.reverse.js": 7487/*!**********************************************************!*\ 7488 !*** ./node_modules/core-js/modules/es.array.reverse.js ***! 7489 \**********************************************************/ 7490/*! no static exports found */ 7491/***/ (function(module, exports, __webpack_require__) { 7492 7493"use strict"; 7494 7495var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7496var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 7497 7498var nativeReverse = [].reverse; 7499var test = [1, 2]; 7500 7501// `Array.prototype.reverse` method 7502// https://tc39.github.io/ecma262/#sec-array.prototype.reverse 7503// fix for Safari 12.0 bug 7504// https://bugs.webkit.org/show_bug.cgi?id=188794 7505$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { 7506 reverse: function reverse() { 7507 // eslint-disable-next-line no-self-assign 7508 if (isArray(this)) this.length = this.length; 7509 return nativeReverse.call(this); 7510 } 7511}); 7512 7513 7514/***/ }), 7515
vendor: 3,246 bytes, lines 7516-7576
7516/***/ "./node_modules/core-js/modules/es.array.slice.js": 7517/*!********************************************************!*\ 7518 !*** ./node_modules/core-js/modules/es.array.slice.js ***! 7519 \********************************************************/ 7520/*! no static exports found */ 7521/***/ (function(module, exports, __webpack_require__) { 7522 7523"use strict"; 7524 7525var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7526var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 7527var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 7528var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 7529var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 7530var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 7531var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 7532var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 7533var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 7534var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7535 7536var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); 7537var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 }); 7538 7539var SPECIES = wellKnownSymbol('species'); 7540var nativeSlice = [].slice; 7541var max = Math.max; 7542 7543// `Array.prototype.slice` method 7544// https://tc39.github.io/ecma262/#sec-array.prototype.slice 7545// fallback for not array-like ES3 strings and DOM objects 7546$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 7547 slice: function slice(start, end) { 7548 var O = toIndexedObject(this); 7549 var length = toLength(O.length); 7550 var k = toAbsoluteIndex(start, length); 7551 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 7552 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible 7553 var Constructor, result, n; 7554 if (isArray(O)) { 7555 Constructor = O.constructor; 7556 // cross-realm fallback 7557 if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { 7558 Constructor = undefined; 7559 } else if (isObject(Constructor)) { 7560 Constructor = Constructor[SPECIES]; 7561 if (Constructor === null) Constructor = undefined; 7562 } 7563 if (Constructor === Array || Constructor === undefined) { 7564 return nativeSlice.call(O, k, fin); 7565 } 7566 } 7567 result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); 7568 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); 7569 result.length = n; 7570 return result; 7571 } 7572}); 7573 7574 7575/***/ }), 7576
vendor: 1,328 bytes, lines 7577-7604
7577/***/ "./node_modules/core-js/modules/es.array.some.js": 7578/*!*******************************************************!*\ 7579 !*** ./node_modules/core-js/modules/es.array.some.js ***! 7580 \*******************************************************/ 7581/*! no static exports found */ 7582/***/ (function(module, exports, __webpack_require__) { 7583 7584"use strict"; 7585 7586var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7587var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some; 7588var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7589var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7590 7591var STRICT_METHOD = arrayMethodIsStrict('some'); 7592var USES_TO_LENGTH = arrayMethodUsesToLength('some'); 7593 7594// `Array.prototype.some` method 7595// https://tc39.github.io/ecma262/#sec-array.prototype.some 7596$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { 7597 some: function some(callbackfn /* , thisArg */) { 7598 return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 7599 } 7600}); 7601 7602 7603/***/ }), 7604
vendor: 1,607 bytes, lines 7605-7648
7605/***/ "./node_modules/core-js/modules/es.array.sort.js": 7606/*!*******************************************************!*\ 7607 !*** ./node_modules/core-js/modules/es.array.sort.js ***! 7608 \*******************************************************/ 7609/*! no static exports found */ 7610/***/ (function(module, exports, __webpack_require__) { 7611 7612"use strict"; 7613 7614var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7615var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 7616var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 7617var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 7618var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 7619 7620var test = []; 7621var nativeSort = test.sort; 7622 7623// IE8- 7624var FAILS_ON_UNDEFINED = fails(function () { 7625 test.sort(undefined); 7626}); 7627// V8 bug 7628var FAILS_ON_NULL = fails(function () { 7629 test.sort(null); 7630}); 7631// Old WebKit 7632var STRICT_METHOD = arrayMethodIsStrict('sort'); 7633 7634var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD; 7635 7636// `Array.prototype.sort` method 7637// https://tc39.github.io/ecma262/#sec-array.prototype.sort 7638$({ target: 'Array', proto: true, forced: FORCED }, { 7639 sort: function sort(comparefn) { 7640 return comparefn === undefined 7641 ? nativeSort.call(toObject(this)) 7642 : nativeSort.call(toObject(this), aFunction(comparefn)); 7643 } 7644}); 7645 7646 7647/***/ }), 7648
vendor: 583 bytes, lines 7649-7664
7649/***/ "./node_modules/core-js/modules/es.array.species.js": 7650/*!**********************************************************!*\ 7651 !*** ./node_modules/core-js/modules/es.array.species.js ***! 7652 \**********************************************************/ 7653/*! no static exports found */ 7654/***/ (function(module, exports, __webpack_require__) { 7655 7656var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 7657 7658// `Array[@@species]` getter 7659// https://tc39.github.io/ecma262/#sec-get-array-@@species 7660setSpecies('Array'); 7661 7662 7663/***/ }), 7664
vendor: 3,835 bytes, lines 7665-7746
7665/***/ "./node_modules/core-js/modules/es.array.splice.js": 7666/*!*********************************************************!*\ 7667 !*** ./node_modules/core-js/modules/es.array.splice.js ***! 7668 \*********************************************************/ 7669/*! no static exports found */ 7670/***/ (function(module, exports, __webpack_require__) { 7671 7672"use strict"; 7673 7674var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7675var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 7676var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 7677var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 7678var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 7679var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 7680var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 7681var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 7682var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js"); 7683 7684var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); 7685var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); 7686 7687var max = Math.max; 7688var min = Math.min; 7689var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 7690var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; 7691 7692// `Array.prototype.splice` method 7693// https://tc39.github.io/ecma262/#sec-array.prototype.splice 7694// with adding support of @@species 7695$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { 7696 splice: function splice(start, deleteCount /* , ...items */) { 7697 var O = toObject(this); 7698 var len = toLength(O.length); 7699 var actualStart = toAbsoluteIndex(start, len); 7700 var argumentsLength = arguments.length; 7701 var insertCount, actualDeleteCount, A, k, from, to; 7702 if (argumentsLength === 0) { 7703 insertCount = actualDeleteCount = 0; 7704 } else if (argumentsLength === 1) { 7705 insertCount = 0; 7706 actualDeleteCount = len - actualStart; 7707 } else { 7708 insertCount = argumentsLength - 2; 7709 actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); 7710 } 7711 if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { 7712 throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); 7713 } 7714 A = arraySpeciesCreate(O, actualDeleteCount); 7715 for (k = 0; k < actualDeleteCount; k++) { 7716 from = actualStart + k; 7717 if (from in O) createProperty(A, k, O[from]); 7718 } 7719 A.length = actualDeleteCount; 7720 if (insertCount < actualDeleteCount) { 7721 for (k = actualStart; k < len - actualDeleteCount; k++) { 7722 from = k + actualDeleteCount; 7723 to = k + insertCount; 7724 if (from in O) O[to] = O[from]; 7725 else delete O[to]; 7726 } 7727 for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; 7728 } else if (insertCount > actualDeleteCount) { 7729 for (k = len - actualDeleteCount; k > actualStart; k--) { 7730 from = k + actualDeleteCount - 1; 7731 to = k + insertCount - 1; 7732 if (from in O) O[to] = O[from]; 7733 else delete O[to]; 7734 } 7735 } 7736 for (k = 0; k < insertCount; k++) { 7737 O[k + actualStart] = arguments[k + 2]; 7738 } 7739 O.length = len - actualDeleteCount + insertCount; 7740 return A; 7741 } 7742}); 7743 7744 7745/***/ }), 7746
vendor: 694 bytes, lines 7747-7762
7747/***/ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js": 7748/*!***********************************************************************!*\ 7749 !*** ./node_modules/core-js/modules/es.array.unscopables.flat-map.js ***! 7750 \***********************************************************************/ 7751/*! no static exports found */ 7752/***/ (function(module, exports, __webpack_require__) { 7753 7754// this method was added to unscopables after implementation 7755// in popular engines, so it's moved to a separate module 7756var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 7757 7758addToUnscopables('flatMap'); 7759 7760 7761/***/ }), 7762
vendor: 675 bytes, lines 7763-7778
7763/***/ "./node_modules/core-js/modules/es.array.unscopables.flat.js": 7764/*!*******************************************************************!*\ 7765 !*** ./node_modules/core-js/modules/es.array.unscopables.flat.js ***! 7766 \*******************************************************************/ 7767/*! no static exports found */ 7768/***/ (function(module, exports, __webpack_require__) { 7769 7770// this method was added to unscopables after implementation 7771// in popular engines, so it's moved to a separate module 7772var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 7773 7774addToUnscopables('flat'); 7775 7776 7777/***/ }), 7778
vendor: 896 bytes, lines 7779-7798
7779/***/ "./node_modules/core-js/modules/es.data-view.js": 7780/*!******************************************************!*\ 7781 !*** ./node_modules/core-js/modules/es.data-view.js ***! 7782 \******************************************************/ 7783/*! no static exports found */ 7784/***/ (function(module, exports, __webpack_require__) { 7785 7786var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7787var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js"); 7788var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js"); 7789 7790// `DataView` constructor 7791// https://tc39.github.io/ecma262/#sec-dataview-constructor 7792$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, { 7793 DataView: ArrayBufferModule.DataView 7794}); 7795 7796 7797/***/ }), 7798
vendor: 605 bytes, lines 7799-7818
7799/***/ "./node_modules/core-js/modules/es.date.now.js": 7800/*!*****************************************************!*\ 7801 !*** ./node_modules/core-js/modules/es.date.now.js ***! 7802 \*****************************************************/ 7803/*! no static exports found */ 7804/***/ (function(module, exports, __webpack_require__) { 7805 7806var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7807 7808// `Date.now` method 7809// https://tc39.github.io/ecma262/#sec-date.now 7810$({ target: 'Date', stat: true }, { 7811 now: function now() { 7812 return new Date().getTime(); 7813 } 7814}); 7815 7816 7817/***/ }), 7818
vendor: 891 bytes, lines 7819-7838
7819/***/ "./node_modules/core-js/modules/es.date.to-iso-string.js": 7820/*!***************************************************************!*\ 7821 !*** ./node_modules/core-js/modules/es.date.to-iso-string.js ***! 7822 \***************************************************************/ 7823/*! no static exports found */ 7824/***/ (function(module, exports, __webpack_require__) { 7825 7826var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7827var toISOString = __webpack_require__(/*! ../internals/date-to-iso-string */ "./node_modules/core-js/internals/date-to-iso-string.js"); 7828 7829// `Date.prototype.toISOString` method 7830// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring 7831// PhantomJS / old WebKit has a broken implementations 7832$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { 7833 toISOString: toISOString 7834}); 7835 7836 7837/***/ }), 7838
vendor: 1,340 bytes, lines 7839-7871
7839/***/ "./node_modules/core-js/modules/es.date.to-json.js": 7840/*!*********************************************************!*\ 7841 !*** ./node_modules/core-js/modules/es.date.to-json.js ***! 7842 \*********************************************************/ 7843/*! no static exports found */ 7844/***/ (function(module, exports, __webpack_require__) { 7845 7846"use strict"; 7847 7848var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7849var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 7850var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 7851var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 7852 7853var FORCED = fails(function () { 7854 return new Date(NaN).toJSON() !== null 7855 || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; 7856}); 7857 7858// `Date.prototype.toJSON` method 7859// https://tc39.github.io/ecma262/#sec-date.prototype.tojson 7860$({ target: 'Date', proto: true, forced: FORCED }, { 7861 // eslint-disable-next-line no-unused-vars 7862 toJSON: function toJSON(key) { 7863 var O = toObject(this); 7864 var pv = toPrimitive(O); 7865 return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); 7866 } 7867}); 7868 7869 7870/***/ }), 7871
vendor: 1,138 bytes, lines 7872-7894
7872/***/ "./node_modules/core-js/modules/es.date.to-primitive.js": 7873/*!**************************************************************!*\ 7874 !*** ./node_modules/core-js/modules/es.date.to-primitive.js ***! 7875 \**************************************************************/ 7876/*! no static exports found */ 7877/***/ (function(module, exports, __webpack_require__) { 7878 7879var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 7880var dateToPrimitive = __webpack_require__(/*! ../internals/date-to-primitive */ "./node_modules/core-js/internals/date-to-primitive.js"); 7881var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 7882 7883var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 7884var DatePrototype = Date.prototype; 7885 7886// `Date.prototype[@@toPrimitive]` method 7887// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive 7888if (!(TO_PRIMITIVE in DatePrototype)) { 7889 createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); 7890} 7891 7892 7893/***/ }), 7894
vendor: 1,025 bytes, lines 7895-7922
7895/***/ "./node_modules/core-js/modules/es.date.to-string.js": 7896/*!***********************************************************!*\ 7897 !*** ./node_modules/core-js/modules/es.date.to-string.js ***! 7898 \***********************************************************/ 7899/*! no static exports found */ 7900/***/ (function(module, exports, __webpack_require__) { 7901 7902var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 7903 7904var DatePrototype = Date.prototype; 7905var INVALID_DATE = 'Invalid Date'; 7906var TO_STRING = 'toString'; 7907var nativeDateToString = DatePrototype[TO_STRING]; 7908var getTime = DatePrototype.getTime; 7909 7910// `Date.prototype.toString` method 7911// https://tc39.github.io/ecma262/#sec-date.prototype.tostring 7912if (new Date(NaN) + '' != INVALID_DATE) { 7913 redefine(DatePrototype, TO_STRING, function toString() { 7914 var value = getTime.call(this); 7915 // eslint-disable-next-line no-self-compare 7916 return value === value ? nativeDateToString.call(this) : INVALID_DATE; 7917 }); 7918} 7919 7920 7921/***/ }), 7922
vendor: 731 bytes, lines 7923-7941
7923/***/ "./node_modules/core-js/modules/es.function.bind.js": 7924/*!**********************************************************!*\ 7925 !*** ./node_modules/core-js/modules/es.function.bind.js ***! 7926 \**********************************************************/ 7927/*! no static exports found */ 7928/***/ (function(module, exports, __webpack_require__) { 7929 7930var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 7931var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js"); 7932 7933// `Function.prototype.bind` method 7934// https://tc39.github.io/ecma262/#sec-function.prototype.bind 7935$({ target: 'Function', proto: true }, { 7936 bind: bind 7937}); 7938 7939 7940/***/ }), 7941
vendor: 1,613 bytes, lines 7942-7973
7942/***/ "./node_modules/core-js/modules/es.function.has-instance.js": 7943/*!******************************************************************!*\ 7944 !*** ./node_modules/core-js/modules/es.function.has-instance.js ***! 7945 \******************************************************************/ 7946/*! no static exports found */ 7947/***/ (function(module, exports, __webpack_require__) { 7948 7949"use strict"; 7950 7951var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 7952var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 7953var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 7954var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 7955 7956var HAS_INSTANCE = wellKnownSymbol('hasInstance'); 7957var FunctionPrototype = Function.prototype; 7958 7959// `Function.prototype[@@hasInstance]` method 7960// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance 7961if (!(HAS_INSTANCE in FunctionPrototype)) { 7962 definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { 7963 if (typeof this != 'function' || !isObject(O)) return false; 7964 if (!isObject(this.prototype)) return O instanceof this; 7965 // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: 7966 while (O = getPrototypeOf(O)) if (this.prototype === O) return true; 7967 return false; 7968 } }); 7969} 7970 7971 7972/***/ }), 7973
vendor: 1,177 bytes, lines 7974-8006
7974/***/ "./node_modules/core-js/modules/es.function.name.js": 7975/*!**********************************************************!*\ 7976 !*** ./node_modules/core-js/modules/es.function.name.js ***! 7977 \**********************************************************/ 7978/*! no static exports found */ 7979/***/ (function(module, exports, __webpack_require__) { 7980 7981var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 7982var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 7983 7984var FunctionPrototype = Function.prototype; 7985var FunctionPrototypeToString = FunctionPrototype.toString; 7986var nameRE = /^\s*function ([^ (]*)/; 7987var NAME = 'name'; 7988 7989// Function instances `.name` property 7990// https://tc39.github.io/ecma262/#sec-function-instances-name 7991if (DESCRIPTORS && !(NAME in FunctionPrototype)) { 7992 defineProperty(FunctionPrototype, NAME, { 7993 configurable: true, 7994 get: function () { 7995 try { 7996 return FunctionPrototypeToString.call(this).match(nameRE)[1]; 7997 } catch (error) { 7998 return ''; 7999 } 8000 } 8001 }); 8002} 8003 8004 8005/***/ }), 8006
vendor: 667 bytes, lines 8007-8025
8007/***/ "./node_modules/core-js/modules/es.global-this.js": 8008/*!********************************************************!*\ 8009 !*** ./node_modules/core-js/modules/es.global-this.js ***! 8010 \********************************************************/ 8011/*! no static exports found */ 8012/***/ (function(module, exports, __webpack_require__) { 8013 8014var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8015var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 8016 8017// `globalThis` object 8018// https://github.com/tc39/proposal-global 8019$({ global: true }, { 8020 globalThis: global 8021}); 8022 8023 8024/***/ }), 8025
vendor: 1,632 bytes, lines 8026-8068
8026/***/ "./node_modules/core-js/modules/es.json.stringify.js": 8027/*!***********************************************************!*\ 8028 !*** ./node_modules/core-js/modules/es.json.stringify.js ***! 8029 \***********************************************************/ 8030/*! no static exports found */ 8031/***/ (function(module, exports, __webpack_require__) { 8032 8033var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8034var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 8035var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8036 8037var $stringify = getBuiltIn('JSON', 'stringify'); 8038var re = /[\uD800-\uDFFF]/g; 8039var low = /^[\uD800-\uDBFF]$/; 8040var hi = /^[\uDC00-\uDFFF]$/; 8041 8042var fix = function (match, offset, string) { 8043 var prev = string.charAt(offset - 1); 8044 var next = string.charAt(offset + 1); 8045 if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) { 8046 return '\\u' + match.charCodeAt(0).toString(16); 8047 } return match; 8048}; 8049 8050var FORCED = fails(function () { 8051 return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' 8052 || $stringify('\uDEAD') !== '"\\udead"'; 8053}); 8054 8055if ($stringify) { 8056 // https://github.com/tc39/proposal-well-formed-stringify 8057 $({ target: 'JSON', stat: true, forced: FORCED }, { 8058 // eslint-disable-next-line no-unused-vars 8059 stringify: function stringify(it, replacer, space) { 8060 var result = $stringify.apply(null, arguments); 8061 return typeof result == 'string' ? result.replace(re, fix) : result; 8062 } 8063 }); 8064} 8065 8066 8067/***/ }), 8068
vendor: 750 bytes, lines 8069-8085
8069/***/ "./node_modules/core-js/modules/es.json.to-string-tag.js": 8070/*!***************************************************************!*\ 8071 !*** ./node_modules/core-js/modules/es.json.to-string-tag.js ***! 8072 \***************************************************************/ 8073/*! no static exports found */ 8074/***/ (function(module, exports, __webpack_require__) { 8075 8076var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 8077var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 8078 8079// JSON[@@toStringTag] property 8080// https://tc39.github.io/ecma262/#sec-json-@@tostringtag 8081setToStringTag(global.JSON, 'JSON', true); 8082 8083 8084/***/ }), 8085
vendor: 826 bytes, lines 8086-8106
8086/***/ "./node_modules/core-js/modules/es.map.js": 8087/*!************************************************!*\ 8088 !*** ./node_modules/core-js/modules/es.map.js ***! 8089 \************************************************/ 8090/*! no static exports found */ 8091/***/ (function(module, exports, __webpack_require__) { 8092 8093"use strict"; 8094 8095var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); 8096var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js"); 8097 8098// `Map` constructor 8099// https://tc39.github.io/ecma262/#sec-map-objects 8100module.exports = collection('Map', function (init) { 8101 return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; 8102}, collectionStrong); 8103 8104 8105/***/ }), 8106
vendor: 1,172 bytes, lines 8107-8140
8107/***/ "./node_modules/core-js/modules/es.math.acosh.js": 8108/*!*******************************************************!*\ 8109 !*** ./node_modules/core-js/modules/es.math.acosh.js ***! 8110 \*******************************************************/ 8111/*! no static exports found */ 8112/***/ (function(module, exports, __webpack_require__) { 8113 8114var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8115var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js"); 8116 8117var nativeAcosh = Math.acosh; 8118var log = Math.log; 8119var sqrt = Math.sqrt; 8120var LN2 = Math.LN2; 8121 8122var FORCED = !nativeAcosh 8123 // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 8124 || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 8125 // Tor Browser bug: Math.acosh(Infinity) -> NaN 8126 || nativeAcosh(Infinity) != Infinity; 8127 8128// `Math.acosh` method 8129// https://tc39.github.io/ecma262/#sec-math.acosh 8130$({ target: 'Math', stat: true, forced: FORCED }, { 8131 acosh: function acosh(x) { 8132 return (x = +x) < 1 ? NaN : x > 94906265.62425156 8133 ? log(x) + LN2 8134 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); 8135 } 8136}); 8137 8138 8139/***/ }), 8140
vendor: 847 bytes, lines 8141-8167
8141/***/ "./node_modules/core-js/modules/es.math.asinh.js": 8142/*!*******************************************************!*\ 8143 !*** ./node_modules/core-js/modules/es.math.asinh.js ***! 8144 \*******************************************************/ 8145/*! no static exports found */ 8146/***/ (function(module, exports, __webpack_require__) { 8147 8148var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8149 8150var nativeAsinh = Math.asinh; 8151var log = Math.log; 8152var sqrt = Math.sqrt; 8153 8154function asinh(x) { 8155 return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); 8156} 8157 8158// `Math.asinh` method 8159// https://tc39.github.io/ecma262/#sec-math.asinh 8160// Tor Browser bug: Math.asinh(0) -> -0 8161$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { 8162 asinh: asinh 8163}); 8164 8165 8166/***/ }), 8167
vendor: 790 bytes, lines 8168-8191
8168/***/ "./node_modules/core-js/modules/es.math.atanh.js": 8169/*!*******************************************************!*\ 8170 !*** ./node_modules/core-js/modules/es.math.atanh.js ***! 8171 \*******************************************************/ 8172/*! no static exports found */ 8173/***/ (function(module, exports, __webpack_require__) { 8174 8175var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8176 8177var nativeAtanh = Math.atanh; 8178var log = Math.log; 8179 8180// `Math.atanh` method 8181// https://tc39.github.io/ecma262/#sec-math.atanh 8182// Tor Browser bug: Math.atanh(-0) -> 0 8183$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { 8184 atanh: function atanh(x) { 8185 return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; 8186 } 8187}); 8188 8189 8190/***/ }), 8191
vendor: 779 bytes, lines 8192-8215
8192/***/ "./node_modules/core-js/modules/es.math.cbrt.js": 8193/*!******************************************************!*\ 8194 !*** ./node_modules/core-js/modules/es.math.cbrt.js ***! 8195 \******************************************************/ 8196/*! no static exports found */ 8197/***/ (function(module, exports, __webpack_require__) { 8198 8199var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8200var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); 8201 8202var abs = Math.abs; 8203var pow = Math.pow; 8204 8205// `Math.cbrt` method 8206// https://tc39.github.io/ecma262/#sec-math.cbrt 8207$({ target: 'Math', stat: true }, { 8208 cbrt: function cbrt(x) { 8209 return sign(x = +x) * pow(abs(x), 1 / 3); 8210 } 8211}); 8212 8213 8214/***/ }), 8215
vendor: 721 bytes, lines 8216-8239
8216/***/ "./node_modules/core-js/modules/es.math.clz32.js": 8217/*!*******************************************************!*\ 8218 !*** ./node_modules/core-js/modules/es.math.clz32.js ***! 8219 \*******************************************************/ 8220/*! no static exports found */ 8221/***/ (function(module, exports, __webpack_require__) { 8222 8223var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8224 8225var floor = Math.floor; 8226var log = Math.log; 8227var LOG2E = Math.LOG2E; 8228 8229// `Math.clz32` method 8230// https://tc39.github.io/ecma262/#sec-math.clz32 8231$({ target: 'Math', stat: true }, { 8232 clz32: function clz32(x) { 8233 return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; 8234 } 8235}); 8236 8237 8238/***/ }), 8239
vendor: 892 bytes, lines 8240-8265
8240/***/ "./node_modules/core-js/modules/es.math.cosh.js": 8241/*!******************************************************!*\ 8242 !*** ./node_modules/core-js/modules/es.math.cosh.js ***! 8243 \******************************************************/ 8244/*! no static exports found */ 8245/***/ (function(module, exports, __webpack_require__) { 8246 8247var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8248var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); 8249 8250var nativeCosh = Math.cosh; 8251var abs = Math.abs; 8252var E = Math.E; 8253 8254// `Math.cosh` method 8255// https://tc39.github.io/ecma262/#sec-math.cosh 8256$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { 8257 cosh: function cosh(x) { 8258 var t = expm1(abs(x) - 1) + 1; 8259 return (t + 1 / (t * E * E)) * (E / 2); 8260 } 8261}); 8262 8263 8264/***/ }), 8265
vendor: 712 bytes, lines 8266-8282
8266/***/ "./node_modules/core-js/modules/es.math.expm1.js": 8267/*!*******************************************************!*\ 8268 !*** ./node_modules/core-js/modules/es.math.expm1.js ***! 8269 \*******************************************************/ 8270/*! no static exports found */ 8271/***/ (function(module, exports, __webpack_require__) { 8272 8273var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8274var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); 8275 8276// `Math.expm1` method 8277// https://tc39.github.io/ecma262/#sec-math.expm1 8278$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 }); 8279 8280 8281/***/ }), 8282
vendor: 694 bytes, lines 8283-8299
8283/***/ "./node_modules/core-js/modules/es.math.fround.js": 8284/*!********************************************************!*\ 8285 !*** ./node_modules/core-js/modules/es.math.fround.js ***! 8286 \********************************************************/ 8287/*! no static exports found */ 8288/***/ (function(module, exports, __webpack_require__) { 8289 8290var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8291var fround = __webpack_require__(/*! ../internals/math-fround */ "./node_modules/core-js/internals/math-fround.js"); 8292 8293// `Math.fround` method 8294// https://tc39.github.io/ecma262/#sec-math.fround 8295$({ target: 'Math', stat: true }, { fround: fround }); 8296 8297 8298/***/ }), 8299
vendor: 1,290 bytes, lines 8300-8343
8300/***/ "./node_modules/core-js/modules/es.math.hypot.js": 8301/*!*******************************************************!*\ 8302 !*** ./node_modules/core-js/modules/es.math.hypot.js ***! 8303 \*******************************************************/ 8304/*! no static exports found */ 8305/***/ (function(module, exports, __webpack_require__) { 8306 8307var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8308 8309var $hypot = Math.hypot; 8310var abs = Math.abs; 8311var sqrt = Math.sqrt; 8312 8313// Chrome 77 bug 8314// https://bugs.chromium.org/p/v8/issues/detail?id=9546 8315var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; 8316 8317// `Math.hypot` method 8318// https://tc39.github.io/ecma262/#sec-math.hypot 8319$({ target: 'Math', stat: true, forced: BUGGY }, { 8320 hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars 8321 var sum = 0; 8322 var i = 0; 8323 var aLen = arguments.length; 8324 var larg = 0; 8325 var arg, div; 8326 while (i < aLen) { 8327 arg = abs(arguments[i++]); 8328 if (larg < arg) { 8329 div = larg / arg; 8330 sum = sum * div * div + 1; 8331 larg = arg; 8332 } else if (arg > 0) { 8333 div = arg / larg; 8334 sum += div * div; 8335 } else sum += arg; 8336 } 8337 return larg === Infinity ? Infinity : larg * sqrt(sum); 8338 } 8339}); 8340 8341 8342/***/ }), 8343
vendor: 1,113 bytes, lines 8344-8376
8344/***/ "./node_modules/core-js/modules/es.math.imul.js": 8345/*!******************************************************!*\ 8346 !*** ./node_modules/core-js/modules/es.math.imul.js ***! 8347 \******************************************************/ 8348/*! no static exports found */ 8349/***/ (function(module, exports, __webpack_require__) { 8350 8351var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8352var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8353 8354var nativeImul = Math.imul; 8355 8356var FORCED = fails(function () { 8357 return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; 8358}); 8359 8360// `Math.imul` method 8361// https://tc39.github.io/ecma262/#sec-math.imul 8362// some WebKit versions fails with big numbers, some has wrong arity 8363$({ target: 'Math', stat: true, forced: FORCED }, { 8364 imul: function imul(x, y) { 8365 var UINT16 = 0xFFFF; 8366 var xn = +x; 8367 var yn = +y; 8368 var xl = UINT16 & xn; 8369 var yl = UINT16 & yn; 8370 return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); 8371 } 8372}); 8373 8374 8375/***/ }), 8376
vendor: 664 bytes, lines 8377-8399
8377/***/ "./node_modules/core-js/modules/es.math.log10.js": 8378/*!*******************************************************!*\ 8379 !*** ./node_modules/core-js/modules/es.math.log10.js ***! 8380 \*******************************************************/ 8381/*! no static exports found */ 8382/***/ (function(module, exports, __webpack_require__) { 8383 8384var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8385 8386var log = Math.log; 8387var LOG10E = Math.LOG10E; 8388 8389// `Math.log10` method 8390// https://tc39.github.io/ecma262/#sec-math.log10 8391$({ target: 'Math', stat: true }, { 8392 log10: function log10(x) { 8393 return log(x) * LOG10E; 8394 } 8395}); 8396 8397 8398/***/ }), 8399
vendor: 683 bytes, lines 8400-8416
8400/***/ "./node_modules/core-js/modules/es.math.log1p.js": 8401/*!*******************************************************!*\ 8402 !*** ./node_modules/core-js/modules/es.math.log1p.js ***! 8403 \*******************************************************/ 8404/*! no static exports found */ 8405/***/ (function(module, exports, __webpack_require__) { 8406 8407var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8408var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js"); 8409 8410// `Math.log1p` method 8411// https://tc39.github.io/ecma262/#sec-math.log1p 8412$({ target: 'Math', stat: true }, { log1p: log1p }); 8413 8414 8415/***/ }), 8416
vendor: 647 bytes, lines 8417-8439
8417/***/ "./node_modules/core-js/modules/es.math.log2.js": 8418/*!******************************************************!*\ 8419 !*** ./node_modules/core-js/modules/es.math.log2.js ***! 8420 \******************************************************/ 8421/*! no static exports found */ 8422/***/ (function(module, exports, __webpack_require__) { 8423 8424var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8425 8426var log = Math.log; 8427var LN2 = Math.LN2; 8428 8429// `Math.log2` method 8430// https://tc39.github.io/ecma262/#sec-math.log2 8431$({ target: 'Math', stat: true }, { 8432 log2: function log2(x) { 8433 return log(x) / LN2; 8434 } 8435}); 8436 8437 8438/***/ }), 8439
vendor: 674 bytes, lines 8440-8458
8440/***/ "./node_modules/core-js/modules/es.math.sign.js": 8441/*!******************************************************!*\ 8442 !*** ./node_modules/core-js/modules/es.math.sign.js ***! 8443 \******************************************************/ 8444/*! no static exports found */ 8445/***/ (function(module, exports, __webpack_require__) { 8446 8447var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8448var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js"); 8449 8450// `Math.sign` method 8451// https://tc39.github.io/ecma262/#sec-math.sign 8452$({ target: 'Math', stat: true }, { 8453 sign: sign 8454}); 8455 8456 8457/***/ }), 8458
vendor: 1,105 bytes, lines 8459-8489
8459/***/ "./node_modules/core-js/modules/es.math.sinh.js": 8460/*!******************************************************!*\ 8461 !*** ./node_modules/core-js/modules/es.math.sinh.js ***! 8462 \******************************************************/ 8463/*! no static exports found */ 8464/***/ (function(module, exports, __webpack_require__) { 8465 8466var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8467var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8468var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); 8469 8470var abs = Math.abs; 8471var exp = Math.exp; 8472var E = Math.E; 8473 8474var FORCED = fails(function () { 8475 return Math.sinh(-2e-17) != -2e-17; 8476}); 8477 8478// `Math.sinh` method 8479// https://tc39.github.io/ecma262/#sec-math.sinh 8480// V8 near Chromium 38 has a problem with very small numbers 8481$({ target: 'Math', stat: true, forced: FORCED }, { 8482 sinh: function sinh(x) { 8483 return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); 8484 } 8485}); 8486 8487 8488/***/ }), 8489
vendor: 848 bytes, lines 8490-8514
8490/***/ "./node_modules/core-js/modules/es.math.tanh.js": 8491/*!******************************************************!*\ 8492 !*** ./node_modules/core-js/modules/es.math.tanh.js ***! 8493 \******************************************************/ 8494/*! no static exports found */ 8495/***/ (function(module, exports, __webpack_require__) { 8496 8497var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8498var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js"); 8499 8500var exp = Math.exp; 8501 8502// `Math.tanh` method 8503// https://tc39.github.io/ecma262/#sec-math.tanh 8504$({ target: 'Math', stat: true }, { 8505 tanh: function tanh(x) { 8506 var a = expm1(x = +x); 8507 var b = expm1(-x); 8508 return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); 8509 } 8510}); 8511 8512 8513/***/ }), 8514
vendor: 636 bytes, lines 8515-8530
8515/***/ "./node_modules/core-js/modules/es.math.to-string-tag.js": 8516/*!***************************************************************!*\ 8517 !*** ./node_modules/core-js/modules/es.math.to-string-tag.js ***! 8518 \***************************************************************/ 8519/*! no static exports found */ 8520/***/ (function(module, exports, __webpack_require__) { 8521 8522var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 8523 8524// Math[@@toStringTag] property 8525// https://tc39.github.io/ecma262/#sec-math-@@tostringtag 8526setToStringTag(Math, 'Math', true); 8527 8528 8529/***/ }), 8530
vendor: 677 bytes, lines 8531-8553
8531/***/ "./node_modules/core-js/modules/es.math.trunc.js": 8532/*!*******************************************************!*\ 8533 !*** ./node_modules/core-js/modules/es.math.trunc.js ***! 8534 \*******************************************************/ 8535/*! no static exports found */ 8536/***/ (function(module, exports, __webpack_require__) { 8537 8538var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8539 8540var ceil = Math.ceil; 8541var floor = Math.floor; 8542 8543// `Math.trunc` method 8544// https://tc39.github.io/ecma262/#sec-math.trunc 8545$({ target: 'Math', stat: true }, { 8546 trunc: function trunc(it) { 8547 return (it > 0 ? floor : ceil)(it); 8548 } 8549}); 8550 8551 8552/***/ }), 8553
vendor: 4,922 bytes, lines 8554-8645
8554/***/ "./node_modules/core-js/modules/es.number.constructor.js": 8555/*!***************************************************************!*\ 8556 !*** ./node_modules/core-js/modules/es.number.constructor.js ***! 8557 \***************************************************************/ 8558/*! no static exports found */ 8559/***/ (function(module, exports, __webpack_require__) { 8560 8561"use strict"; 8562 8563var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 8564var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 8565var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 8566var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 8567var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 8568var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 8569var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); 8570var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 8571var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8572var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 8573var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 8574var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 8575var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 8576var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 8577 8578var NUMBER = 'Number'; 8579var NativeNumber = global[NUMBER]; 8580var NumberPrototype = NativeNumber.prototype; 8581 8582// Opera ~12 has broken Object#toString 8583var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; 8584 8585// `ToNumber` abstract operation 8586// https://tc39.github.io/ecma262/#sec-tonumber 8587var toNumber = function (argument) { 8588 var it = toPrimitive(argument, false); 8589 var first, third, radix, maxCode, digits, length, index, code; 8590 if (typeof it == 'string' && it.length > 2) { 8591 it = trim(it); 8592 first = it.charCodeAt(0); 8593 if (first === 43 || first === 45) { 8594 third = it.charCodeAt(2); 8595 if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 8596 } else if (first === 48) { 8597 switch (it.charCodeAt(1)) { 8598 case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i 8599 case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i 8600 default: return +it; 8601 } 8602 digits = it.slice(2); 8603 length = digits.length; 8604 for (index = 0; index < length; index++) { 8605 code = digits.charCodeAt(index); 8606 // parseInt parses a string to a first unavailable symbol 8607 // but ToNumber should return NaN if a string contains unavailable symbols 8608 if (code < 48 || code > maxCode) return NaN; 8609 } return parseInt(digits, radix); 8610 } 8611 } return +it; 8612}; 8613 8614// `Number` constructor 8615// https://tc39.github.io/ecma262/#sec-number-constructor 8616if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { 8617 var NumberWrapper = function Number(value) { 8618 var it = arguments.length < 1 ? 0 : value; 8619 var dummy = this; 8620 return dummy instanceof NumberWrapper 8621 // check on 1..constructor(foo) case 8622 && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) 8623 ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); 8624 }; 8625 for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( 8626 // ES3: 8627 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 8628 // ES2015 (in case, if modules with ES2015 Number statics required before): 8629 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 8630 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' + 8631 // ESNext 8632 'fromString,range' 8633 ).split(','), j = 0, key; keys.length > j; j++) { 8634 if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { 8635 defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); 8636 } 8637 } 8638 NumberWrapper.prototype = NumberPrototype; 8639 NumberPrototype.constructor = NumberWrapper; 8640 redefine(global, NUMBER, NumberWrapper); 8641} 8642 8643 8644/***/ }), 8645
vendor: 612 bytes, lines 8646-8663
8646/***/ "./node_modules/core-js/modules/es.number.epsilon.js": 8647/*!***********************************************************!*\ 8648 !*** ./node_modules/core-js/modules/es.number.epsilon.js ***! 8649 \***********************************************************/ 8650/*! no static exports found */ 8651/***/ (function(module, exports, __webpack_require__) { 8652 8653var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8654 8655// `Number.EPSILON` constant 8656// https://tc39.github.io/ecma262/#sec-number.epsilon 8657$({ target: 'Number', stat: true }, { 8658 EPSILON: Math.pow(2, -52) 8659}); 8660 8661 8662/***/ }), 8663
vendor: 752 bytes, lines 8664-8680
8664/***/ "./node_modules/core-js/modules/es.number.is-finite.js": 8665/*!*************************************************************!*\ 8666 !*** ./node_modules/core-js/modules/es.number.is-finite.js ***! 8667 \*************************************************************/ 8668/*! no static exports found */ 8669/***/ (function(module, exports, __webpack_require__) { 8670 8671var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8672var numberIsFinite = __webpack_require__(/*! ../internals/number-is-finite */ "./node_modules/core-js/internals/number-is-finite.js"); 8673 8674// `Number.isFinite` method 8675// https://tc39.github.io/ecma262/#sec-number.isfinite 8676$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); 8677 8678 8679/***/ }), 8680
vendor: 739 bytes, lines 8681-8699
8681/***/ "./node_modules/core-js/modules/es.number.is-integer.js": 8682/*!**************************************************************!*\ 8683 !*** ./node_modules/core-js/modules/es.number.is-integer.js ***! 8684 \**************************************************************/ 8685/*! no static exports found */ 8686/***/ (function(module, exports, __webpack_require__) { 8687 8688var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8689var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js"); 8690 8691// `Number.isInteger` method 8692// https://tc39.github.io/ecma262/#sec-number.isinteger 8693$({ target: 'Number', stat: true }, { 8694 isInteger: isInteger 8695}); 8696 8697 8698/***/ }), 8699
vendor: 689 bytes, lines 8700-8720
8700/***/ "./node_modules/core-js/modules/es.number.is-nan.js": 8701/*!**********************************************************!*\ 8702 !*** ./node_modules/core-js/modules/es.number.is-nan.js ***! 8703 \**********************************************************/ 8704/*! no static exports found */ 8705/***/ (function(module, exports, __webpack_require__) { 8706 8707var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8708 8709// `Number.isNaN` method 8710// https://tc39.github.io/ecma262/#sec-number.isnan 8711$({ target: 'Number', stat: true }, { 8712 isNaN: function isNaN(number) { 8713 // eslint-disable-next-line no-self-compare 8714 return number != number; 8715 } 8716}); 8717 8718 8719/***/ }), 8720
vendor: 884 bytes, lines 8721-8743
8721/***/ "./node_modules/core-js/modules/es.number.is-safe-integer.js": 8722/*!*******************************************************************!*\ 8723 !*** ./node_modules/core-js/modules/es.number.is-safe-integer.js ***! 8724 \*******************************************************************/ 8725/*! no static exports found */ 8726/***/ (function(module, exports, __webpack_require__) { 8727 8728var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8729var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js"); 8730 8731var abs = Math.abs; 8732 8733// `Number.isSafeInteger` method 8734// https://tc39.github.io/ecma262/#sec-number.issafeinteger 8735$({ target: 'Number', stat: true }, { 8736 isSafeInteger: function isSafeInteger(number) { 8737 return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; 8738 } 8739}); 8740 8741 8742/***/ }), 8743
vendor: 675 bytes, lines 8744-8761
8744/***/ "./node_modules/core-js/modules/es.number.max-safe-integer.js": 8745/*!********************************************************************!*\ 8746 !*** ./node_modules/core-js/modules/es.number.max-safe-integer.js ***! 8747 \********************************************************************/ 8748/*! no static exports found */ 8749/***/ (function(module, exports, __webpack_require__) { 8750 8751var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8752 8753// `Number.MAX_SAFE_INTEGER` constant 8754// https://tc39.github.io/ecma262/#sec-number.max_safe_integer 8755$({ target: 'Number', stat: true }, { 8756 MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF 8757}); 8758 8759 8760/***/ }), 8761
vendor: 676 bytes, lines 8762-8779
8762/***/ "./node_modules/core-js/modules/es.number.min-safe-integer.js": 8763/*!********************************************************************!*\ 8764 !*** ./node_modules/core-js/modules/es.number.min-safe-integer.js ***! 8765 \********************************************************************/ 8766/*! no static exports found */ 8767/***/ (function(module, exports, __webpack_require__) { 8768 8769var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8770 8771// `Number.MIN_SAFE_INTEGER` constant 8772// https://tc39.github.io/ecma262/#sec-number.min_safe_integer 8773$({ target: 'Number', stat: true }, { 8774 MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF 8775}); 8776 8777 8778/***/ }), 8779
vendor: 805 bytes, lines 8780-8798
8780/***/ "./node_modules/core-js/modules/es.number.parse-float.js": 8781/*!***************************************************************!*\ 8782 !*** ./node_modules/core-js/modules/es.number.parse-float.js ***! 8783 \***************************************************************/ 8784/*! no static exports found */ 8785/***/ (function(module, exports, __webpack_require__) { 8786 8787var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8788var parseFloat = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js/internals/number-parse-float.js"); 8789 8790// `Number.parseFloat` method 8791// https://tc39.github.io/ecma262/#sec-number.parseFloat 8792$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, { 8793 parseFloat: parseFloat 8794}); 8795 8796 8797/***/ }), 8798
vendor: 779 bytes, lines 8799-8817
8799/***/ "./node_modules/core-js/modules/es.number.parse-int.js": 8800/*!*************************************************************!*\ 8801 !*** ./node_modules/core-js/modules/es.number.parse-int.js ***! 8802 \*************************************************************/ 8803/*! no static exports found */ 8804/***/ (function(module, exports, __webpack_require__) { 8805 8806var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8807var parseInt = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js"); 8808 8809// `Number.parseInt` method 8810// https://tc39.github.io/ecma262/#sec-number.parseint 8811$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, { 8812 parseInt: parseInt 8813}); 8814 8815 8816/***/ }), 8817
vendor: 4,083 bytes, lines 8818-8955
8818/***/ "./node_modules/core-js/modules/es.number.to-fixed.js": 8819/*!************************************************************!*\ 8820 !*** ./node_modules/core-js/modules/es.number.to-fixed.js ***! 8821 \************************************************************/ 8822/*! no static exports found */ 8823/***/ (function(module, exports, __webpack_require__) { 8824 8825"use strict"; 8826 8827var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8828var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 8829var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js"); 8830var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); 8831var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8832 8833var nativeToFixed = 1.0.toFixed; 8834var floor = Math.floor; 8835 8836var pow = function (x, n, acc) { 8837 return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); 8838}; 8839 8840var log = function (x) { 8841 var n = 0; 8842 var x2 = x; 8843 while (x2 >= 4096) { 8844 n += 12; 8845 x2 /= 4096; 8846 } 8847 while (x2 >= 2) { 8848 n += 1; 8849 x2 /= 2; 8850 } return n; 8851}; 8852 8853var FORCED = nativeToFixed && ( 8854 0.00008.toFixed(3) !== '0.000' || 8855 0.9.toFixed(0) !== '1' || 8856 1.255.toFixed(2) !== '1.25' || 8857 1000000000000000128.0.toFixed(0) !== '1000000000000000128' 8858) || !fails(function () { 8859 // V8 ~ Android 4.3- 8860 nativeToFixed.call({}); 8861}); 8862 8863// `Number.prototype.toFixed` method 8864// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed 8865$({ target: 'Number', proto: true, forced: FORCED }, { 8866 // eslint-disable-next-line max-statements 8867 toFixed: function toFixed(fractionDigits) { 8868 var number = thisNumberValue(this); 8869 var fractDigits = toInteger(fractionDigits); 8870 var data = [0, 0, 0, 0, 0, 0]; 8871 var sign = ''; 8872 var result = '0'; 8873 var e, z, j, k; 8874 8875 var multiply = function (n, c) { 8876 var index = -1; 8877 var c2 = c; 8878 while (++index < 6) { 8879 c2 += n * data[index]; 8880 data[index] = c2 % 1e7; 8881 c2 = floor(c2 / 1e7); 8882 } 8883 }; 8884 8885 var divide = function (n) { 8886 var index = 6; 8887 var c = 0; 8888 while (--index >= 0) { 8889 c += data[index]; 8890 data[index] = floor(c / n); 8891 c = (c % n) * 1e7; 8892 } 8893 }; 8894 8895 var dataToString = function () { 8896 var index = 6; 8897 var s = ''; 8898 while (--index >= 0) { 8899 if (s !== '' || index === 0 || data[index] !== 0) { 8900 var t = String(data[index]); 8901 s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; 8902 } 8903 } return s; 8904 }; 8905 8906 if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); 8907 // eslint-disable-next-line no-self-compare 8908 if (number != number) return 'NaN'; 8909 if (number <= -1e21 || number >= 1e21) return String(number); 8910 if (number < 0) { 8911 sign = '-'; 8912 number = -number; 8913 } 8914 if (number > 1e-21) { 8915 e = log(number * pow(2, 69, 1)) - 69; 8916 z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); 8917 z *= 0x10000000000000; 8918 e = 52 - e; 8919 if (e > 0) { 8920 multiply(0, z); 8921 j = fractDigits; 8922 while (j >= 7) { 8923 multiply(1e7, 0); 8924 j -= 7; 8925 } 8926 multiply(pow(10, j, 1), 0); 8927 j = e - 1; 8928 while (j >= 23) { 8929 divide(1 << 23); 8930 j -= 23; 8931 } 8932 divide(1 << j); 8933 multiply(1, 1); 8934 divide(2); 8935 result = dataToString(); 8936 } else { 8937 multiply(0, z); 8938 multiply(1 << -e, 0); 8939 result = dataToString() + repeat.call('0', fractDigits); 8940 } 8941 } 8942 if (fractDigits > 0) { 8943 k = result.length; 8944 result = sign + (k <= fractDigits 8945 ? '0.' + repeat.call('0', fractDigits - k) + result 8946 : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); 8947 } else { 8948 result = sign + result; 8949 } return result; 8950 } 8951}); 8952 8953 8954/***/ }), 8955
vendor: 1,337 bytes, lines 8956-8991
8956/***/ "./node_modules/core-js/modules/es.number.to-precision.js": 8957/*!****************************************************************!*\ 8958 !*** ./node_modules/core-js/modules/es.number.to-precision.js ***! 8959 \****************************************************************/ 8960/*! no static exports found */ 8961/***/ (function(module, exports, __webpack_require__) { 8962 8963"use strict"; 8964 8965var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 8966var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 8967var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js"); 8968 8969var nativeToPrecision = 1.0.toPrecision; 8970 8971var FORCED = fails(function () { 8972 // IE7- 8973 return nativeToPrecision.call(1, undefined) !== '1'; 8974}) || !fails(function () { 8975 // V8 ~ Android 4.3- 8976 nativeToPrecision.call({}); 8977}); 8978 8979// `Number.prototype.toPrecision` method 8980// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision 8981$({ target: 'Number', proto: true, forced: FORCED }, { 8982 toPrecision: function toPrecision(precision) { 8983 return precision === undefined 8984 ? nativeToPrecision.call(thisNumberValue(this)) 8985 : nativeToPrecision.call(thisNumberValue(this), precision); 8986 } 8987}); 8988 8989 8990/***/ }), 8991
vendor: 748 bytes, lines 8992-9010
8992/***/ "./node_modules/core-js/modules/es.object.assign.js": 8993/*!**********************************************************!*\ 8994 !*** ./node_modules/core-js/modules/es.object.assign.js ***! 8995 \**********************************************************/ 8996/*! no static exports found */ 8997/***/ (function(module, exports, __webpack_require__) { 8998 8999var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9000var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js"); 9001 9002// `Object.assign` method 9003// https://tc39.github.io/ecma262/#sec-object.assign 9004$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { 9005 assign: assign 9006}); 9007 9008 9009/***/ }), 9010
vendor: 856 bytes, lines 9011-9030
9011/***/ "./node_modules/core-js/modules/es.object.create.js": 9012/*!**********************************************************!*\ 9013 !*** ./node_modules/core-js/modules/es.object.create.js ***! 9014 \**********************************************************/ 9015/*! no static exports found */ 9016/***/ (function(module, exports, __webpack_require__) { 9017 9018var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9019var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9020var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 9021 9022// `Object.create` method 9023// https://tc39.github.io/ecma262/#sec-object.create 9024$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { 9025 create: create 9026}); 9027 9028 9029/***/ }), 9030
vendor: 1,552 bytes, lines 9031-9059
9031/***/ "./node_modules/core-js/modules/es.object.define-getter.js": 9032/*!*****************************************************************!*\ 9033 !*** ./node_modules/core-js/modules/es.object.define-getter.js ***! 9034 \*****************************************************************/ 9035/*! no static exports found */ 9036/***/ (function(module, exports, __webpack_require__) { 9037 9038"use strict"; 9039 9040var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9041var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9042var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); 9043var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9044var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 9045var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 9046 9047// `Object.prototype.__defineGetter__` method 9048// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ 9049if (DESCRIPTORS) { 9050 $({ target: 'Object', proto: true, forced: FORCED }, { 9051 __defineGetter__: function __defineGetter__(P, getter) { 9052 definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); 9053 } 9054 }); 9055} 9056 9057 9058/***/ }), 9059
vendor: 994 bytes, lines 9060-9079
9060/***/ "./node_modules/core-js/modules/es.object.define-properties.js": 9061/*!*********************************************************************!*\ 9062 !*** ./node_modules/core-js/modules/es.object.define-properties.js ***! 9063 \*********************************************************************/ 9064/*! no static exports found */ 9065/***/ (function(module, exports, __webpack_require__) { 9066 9067var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9068var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9069var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); 9070 9071// `Object.defineProperties` method 9072// https://tc39.github.io/ecma262/#sec-object.defineproperties 9073$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { 9074 defineProperties: defineProperties 9075}); 9076 9077 9078/***/ }), 9079
vendor: 998 bytes, lines 9080-9099
9080/***/ "./node_modules/core-js/modules/es.object.define-property.js": 9081/*!*******************************************************************!*\ 9082 !*** ./node_modules/core-js/modules/es.object.define-property.js ***! 9083 \*******************************************************************/ 9084/*! no static exports found */ 9085/***/ (function(module, exports, __webpack_require__) { 9086 9087var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9088var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9089var objectDefinePropertyModile = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 9090 9091// `Object.defineProperty` method 9092// https://tc39.github.io/ecma262/#sec-object.defineproperty 9093$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { 9094 defineProperty: objectDefinePropertyModile.f 9095}); 9096 9097 9098/***/ }), 9099
vendor: 1,552 bytes, lines 9100-9128
9100/***/ "./node_modules/core-js/modules/es.object.define-setter.js": 9101/*!*****************************************************************!*\ 9102 !*** ./node_modules/core-js/modules/es.object.define-setter.js ***! 9103 \*****************************************************************/ 9104/*! no static exports found */ 9105/***/ (function(module, exports, __webpack_require__) { 9106 9107"use strict"; 9108 9109var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9110var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9111var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); 9112var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9113var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 9114var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 9115 9116// `Object.prototype.__defineSetter__` method 9117// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ 9118if (DESCRIPTORS) { 9119 $({ target: 'Object', proto: true, forced: FORCED }, { 9120 __defineSetter__: function __defineSetter__(P, setter) { 9121 definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); 9122 } 9123 }); 9124} 9125 9126 9127/***/ }), 9128
vendor: 778 bytes, lines 9129-9149
9129/***/ "./node_modules/core-js/modules/es.object.entries.js": 9130/*!***********************************************************!*\ 9131 !*** ./node_modules/core-js/modules/es.object.entries.js ***! 9132 \***********************************************************/ 9133/*! no static exports found */ 9134/***/ (function(module, exports, __webpack_require__) { 9135 9136var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9137var $entries = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").entries; 9138 9139// `Object.entries` method 9140// https://tc39.github.io/ecma262/#sec-object.entries 9141$({ target: 'Object', stat: true }, { 9142 entries: function entries(O) { 9143 return $entries(O); 9144 } 9145}); 9146 9147 9148/***/ }), 9149
vendor: 1,307 bytes, lines 9150-9176
9150/***/ "./node_modules/core-js/modules/es.object.freeze.js": 9151/*!**********************************************************!*\ 9152 !*** ./node_modules/core-js/modules/es.object.freeze.js ***! 9153 \**********************************************************/ 9154/*! no static exports found */ 9155/***/ (function(module, exports, __webpack_require__) { 9156 9157var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9158var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); 9159var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9160var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9161var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; 9162 9163var nativeFreeze = Object.freeze; 9164var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); 9165 9166// `Object.freeze` method 9167// https://tc39.github.io/ecma262/#sec-object.freeze 9168$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 9169 freeze: function freeze(it) { 9170 return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; 9171 } 9172}); 9173 9174 9175/***/ }), 9176
vendor: 1,040 bytes, lines 9177-9202
9177/***/ "./node_modules/core-js/modules/es.object.from-entries.js": 9178/*!****************************************************************!*\ 9179 !*** ./node_modules/core-js/modules/es.object.from-entries.js ***! 9180 \****************************************************************/ 9181/*! no static exports found */ 9182/***/ (function(module, exports, __webpack_require__) { 9183 9184var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9185var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 9186var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 9187 9188// `Object.fromEntries` method 9189// https://github.com/tc39/proposal-object-from-entries 9190$({ target: 'Object', stat: true }, { 9191 fromEntries: function fromEntries(iterable) { 9192 var obj = {}; 9193 iterate(iterable, function (k, v) { 9194 createProperty(obj, k, v); 9195 }, { AS_ENTRIES: true }); 9196 return obj; 9197 } 9198}); 9199 9200 9201/***/ }), 9202
vendor: 1,567 bytes, lines 9203-9229
9203/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js": 9204/*!*******************************************************************************!*\ 9205 !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***! 9206 \*******************************************************************************/ 9207/*! no static exports found */ 9208/***/ (function(module, exports, __webpack_require__) { 9209 9210var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9211var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9212var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 9213var nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 9214var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9215 9216var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); 9217var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; 9218 9219// `Object.getOwnPropertyDescriptor` method 9220// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor 9221$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { 9222 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { 9223 return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); 9224 } 9225}); 9226 9227 9228/***/ }), 9229
vendor: 1,895 bytes, lines 9230-9264
9230/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js": 9231/*!********************************************************************************!*\ 9232 !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js ***! 9233 \********************************************************************************/ 9234/*! no static exports found */ 9235/***/ (function(module, exports, __webpack_require__) { 9236 9237var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9238var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9239var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); 9240var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 9241var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 9242var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 9243 9244// `Object.getOwnPropertyDescriptors` method 9245// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors 9246$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { 9247 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { 9248 var O = toIndexedObject(object); 9249 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 9250 var keys = ownKeys(O); 9251 var result = {}; 9252 var index = 0; 9253 var key, descriptor; 9254 while (keys.length > index) { 9255 descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); 9256 if (descriptor !== undefined) createProperty(result, key, descriptor); 9257 } 9258 return result; 9259 } 9260}); 9261 9262 9263/***/ }), 9264
vendor: 1,130 bytes, lines 9265-9286
9265/***/ "./node_modules/core-js/modules/es.object.get-own-property-names.js": 9266/*!**************************************************************************!*\ 9267 !*** ./node_modules/core-js/modules/es.object.get-own-property-names.js ***! 9268 \**************************************************************************/ 9269/*! no static exports found */ 9270/***/ (function(module, exports, __webpack_require__) { 9271 9272var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9273var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9274var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js").f; 9275 9276var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); 9277 9278// `Object.getOwnPropertyNames` method 9279// https://tc39.github.io/ecma262/#sec-object.getownpropertynames 9280$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 9281 getOwnPropertyNames: nativeGetOwnPropertyNames 9282}); 9283 9284 9285/***/ }), 9286
vendor: 1,405 bytes, lines 9287-9313
9287/***/ "./node_modules/core-js/modules/es.object.get-prototype-of.js": 9288/*!********************************************************************!*\ 9289 !*** ./node_modules/core-js/modules/es.object.get-prototype-of.js ***! 9290 \********************************************************************/ 9291/*! no static exports found */ 9292/***/ (function(module, exports, __webpack_require__) { 9293 9294var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9295var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9296var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9297var nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 9298var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); 9299 9300var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); 9301 9302// `Object.getPrototypeOf` method 9303// https://tc39.github.io/ecma262/#sec-object.getprototypeof 9304$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { 9305 getPrototypeOf: function getPrototypeOf(it) { 9306 return nativeGetPrototypeOf(toObject(it)); 9307 } 9308}); 9309 9310 9311 9312/***/ }), 9313
vendor: 1,118 bytes, lines 9314-9338
9314/***/ "./node_modules/core-js/modules/es.object.is-extensible.js": 9315/*!*****************************************************************!*\ 9316 !*** ./node_modules/core-js/modules/es.object.is-extensible.js ***! 9317 \*****************************************************************/ 9318/*! no static exports found */ 9319/***/ (function(module, exports, __webpack_require__) { 9320 9321var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9322var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9323var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9324 9325var nativeIsExtensible = Object.isExtensible; 9326var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); }); 9327 9328// `Object.isExtensible` method 9329// https://tc39.github.io/ecma262/#sec-object.isextensible 9330$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 9331 isExtensible: function isExtensible(it) { 9332 return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; 9333 } 9334}); 9335 9336 9337/***/ }), 9338
vendor: 1,066 bytes, lines 9339-9363
9339/***/ "./node_modules/core-js/modules/es.object.is-frozen.js": 9340/*!*************************************************************!*\ 9341 !*** ./node_modules/core-js/modules/es.object.is-frozen.js ***! 9342 \*************************************************************/ 9343/*! no static exports found */ 9344/***/ (function(module, exports, __webpack_require__) { 9345 9346var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9347var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9348var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9349 9350var nativeIsFrozen = Object.isFrozen; 9351var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); }); 9352 9353// `Object.isFrozen` method 9354// https://tc39.github.io/ecma262/#sec-object.isfrozen 9355$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 9356 isFrozen: function isFrozen(it) { 9357 return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; 9358 } 9359}); 9360 9361 9362/***/ }), 9363
vendor: 1,066 bytes, lines 9364-9388
9364/***/ "./node_modules/core-js/modules/es.object.is-sealed.js": 9365/*!*************************************************************!*\ 9366 !*** ./node_modules/core-js/modules/es.object.is-sealed.js ***! 9367 \*************************************************************/ 9368/*! no static exports found */ 9369/***/ (function(module, exports, __webpack_require__) { 9370 9371var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9372var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9373var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9374 9375var nativeIsSealed = Object.isSealed; 9376var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); }); 9377 9378// `Object.isSealed` method 9379// https://tc39.github.io/ecma262/#sec-object.issealed 9380$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 9381 isSealed: function isSealed(it) { 9382 return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; 9383 } 9384}); 9385 9386 9387/***/ }), 9388
vendor: 672 bytes, lines 9389-9407
9389/***/ "./node_modules/core-js/modules/es.object.is.js": 9390/*!******************************************************!*\ 9391 !*** ./node_modules/core-js/modules/es.object.is.js ***! 9392 \******************************************************/ 9393/*! no static exports found */ 9394/***/ (function(module, exports, __webpack_require__) { 9395 9396var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9397var is = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js"); 9398 9399// `Object.is` method 9400// https://tc39.github.io/ecma262/#sec-object.is 9401$({ target: 'Object', stat: true }, { 9402 is: is 9403}); 9404 9405 9406/***/ }), 9407
vendor: 1,068 bytes, lines 9408-9432
9408/***/ "./node_modules/core-js/modules/es.object.keys.js": 9409/*!********************************************************!*\ 9410 !*** ./node_modules/core-js/modules/es.object.keys.js ***! 9411 \********************************************************/ 9412/*! no static exports found */ 9413/***/ (function(module, exports, __webpack_require__) { 9414 9415var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9416var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9417var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 9418var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9419 9420var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); 9421 9422// `Object.keys` method 9423// https://tc39.github.io/ecma262/#sec-object.keys 9424$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { 9425 keys: function keys(it) { 9426 return nativeKeys(toObject(it)); 9427 } 9428}); 9429 9430 9431/***/ }), 9432
vendor: 1,818 bytes, lines 9433-9467
9433/***/ "./node_modules/core-js/modules/es.object.lookup-getter.js": 9434/*!*****************************************************************!*\ 9435 !*** ./node_modules/core-js/modules/es.object.lookup-getter.js ***! 9436 \*****************************************************************/ 9437/*! no static exports found */ 9438/***/ (function(module, exports, __webpack_require__) { 9439 9440"use strict"; 9441 9442var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9443var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9444var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); 9445var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9446var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 9447var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 9448var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 9449 9450// `Object.prototype.__lookupGetter__` method 9451// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ 9452if (DESCRIPTORS) { 9453 $({ target: 'Object', proto: true, forced: FORCED }, { 9454 __lookupGetter__: function __lookupGetter__(P) { 9455 var O = toObject(this); 9456 var key = toPrimitive(P, true); 9457 var desc; 9458 do { 9459 if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; 9460 } while (O = getPrototypeOf(O)); 9461 } 9462 }); 9463} 9464 9465 9466/***/ }), 9467
vendor: 1,818 bytes, lines 9468-9502
9468/***/ "./node_modules/core-js/modules/es.object.lookup-setter.js": 9469/*!*****************************************************************!*\ 9470 !*** ./node_modules/core-js/modules/es.object.lookup-setter.js ***! 9471 \*****************************************************************/ 9472/*! no static exports found */ 9473/***/ (function(module, exports, __webpack_require__) { 9474 9475"use strict"; 9476 9477var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9478var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 9479var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js"); 9480var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 9481var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 9482var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 9483var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 9484 9485// `Object.prototype.__lookupSetter__` method 9486// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ 9487if (DESCRIPTORS) { 9488 $({ target: 'Object', proto: true, forced: FORCED }, { 9489 __lookupSetter__: function __lookupSetter__(P) { 9490 var O = toObject(this); 9491 var key = toPrimitive(P, true); 9492 var desc; 9493 do { 9494 if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; 9495 } while (O = getPrototypeOf(O)); 9496 } 9497 }); 9498} 9499 9500 9501/***/ }), 9502
vendor: 1,454 bytes, lines 9503-9529
9503/***/ "./node_modules/core-js/modules/es.object.prevent-extensions.js": 9504/*!**********************************************************************!*\ 9505 !*** ./node_modules/core-js/modules/es.object.prevent-extensions.js ***! 9506 \**********************************************************************/ 9507/*! no static exports found */ 9508/***/ (function(module, exports, __webpack_require__) { 9509 9510var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9511var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9512var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; 9513var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); 9514var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9515 9516var nativePreventExtensions = Object.preventExtensions; 9517var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); }); 9518 9519// `Object.preventExtensions` method 9520// https://tc39.github.io/ecma262/#sec-object.preventextensions 9521$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 9522 preventExtensions: function preventExtensions(it) { 9523 return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; 9524 } 9525}); 9526 9527 9528/***/ }), 9529
vendor: 1,281 bytes, lines 9530-9556
9530/***/ "./node_modules/core-js/modules/es.object.seal.js": 9531/*!********************************************************!*\ 9532 !*** ./node_modules/core-js/modules/es.object.seal.js ***! 9533 \********************************************************/ 9534/*! no static exports found */ 9535/***/ (function(module, exports, __webpack_require__) { 9536 9537var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9538var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9539var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze; 9540var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); 9541var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9542 9543var nativeSeal = Object.seal; 9544var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); }); 9545 9546// `Object.seal` method 9547// https://tc39.github.io/ecma262/#sec-object.seal 9548$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { 9549 seal: function seal(it) { 9550 return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; 9551 } 9552}); 9553 9554 9555/***/ }), 9556
vendor: 814 bytes, lines 9557-9575
9557/***/ "./node_modules/core-js/modules/es.object.set-prototype-of.js": 9558/*!********************************************************************!*\ 9559 !*** ./node_modules/core-js/modules/es.object.set-prototype-of.js ***! 9560 \********************************************************************/ 9561/*! no static exports found */ 9562/***/ (function(module, exports, __webpack_require__) { 9563 9564var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9565var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 9566 9567// `Object.setPrototypeOf` method 9568// https://tc39.github.io/ecma262/#sec-object.setprototypeof 9569$({ target: 'Object', stat: true }, { 9570 setPrototypeOf: setPrototypeOf 9571}); 9572 9573 9574/***/ }), 9575
vendor: 964 bytes, lines 9576-9595
9576/***/ "./node_modules/core-js/modules/es.object.to-string.js": 9577/*!*************************************************************!*\ 9578 !*** ./node_modules/core-js/modules/es.object.to-string.js ***! 9579 \*************************************************************/ 9580/*! no static exports found */ 9581/***/ (function(module, exports, __webpack_require__) { 9582 9583var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 9584var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 9585var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js"); 9586 9587// `Object.prototype.toString` method 9588// https://tc39.github.io/ecma262/#sec-object.prototype.tostring 9589if (!TO_STRING_TAG_SUPPORT) { 9590 redefine(Object.prototype, 'toString', toString, { unsafe: true }); 9591} 9592 9593 9594/***/ }), 9595
vendor: 767 bytes, lines 9596-9616
9596/***/ "./node_modules/core-js/modules/es.object.values.js": 9597/*!**********************************************************!*\ 9598 !*** ./node_modules/core-js/modules/es.object.values.js ***! 9599 \**********************************************************/ 9600/*! no static exports found */ 9601/***/ (function(module, exports, __webpack_require__) { 9602 9603var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9604var $values = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").values; 9605 9606// `Object.values` method 9607// https://tc39.github.io/ecma262/#sec-object.values 9608$({ target: 'Object', stat: true }, { 9609 values: function values(O) { 9610 return $values(O); 9611 } 9612}); 9613 9614 9615/***/ }), 9616
vendor: 789 bytes, lines 9617-9635
9617/***/ "./node_modules/core-js/modules/es.parse-float.js": 9618/*!********************************************************!*\ 9619 !*** ./node_modules/core-js/modules/es.parse-float.js ***! 9620 \********************************************************/ 9621/*! no static exports found */ 9622/***/ (function(module, exports, __webpack_require__) { 9623 9624var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9625var parseFloatImplementation = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js/internals/number-parse-float.js"); 9626 9627// `parseFloat` method 9628// https://tc39.github.io/ecma262/#sec-parsefloat-string 9629$({ global: true, forced: parseFloat != parseFloatImplementation }, { 9630 parseFloat: parseFloatImplementation 9631}); 9632 9633 9634/***/ }), 9635
vendor: 769 bytes, lines 9636-9654
9636/***/ "./node_modules/core-js/modules/es.parse-int.js": 9637/*!******************************************************!*\ 9638 !*** ./node_modules/core-js/modules/es.parse-int.js ***! 9639 \******************************************************/ 9640/*! no static exports found */ 9641/***/ (function(module, exports, __webpack_require__) { 9642 9643var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9644var parseIntImplementation = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js"); 9645 9646// `parseInt` method 9647// https://tc39.github.io/ecma262/#sec-parseint-string-radix 9648$({ global: true, forced: parseInt != parseIntImplementation }, { 9649 parseInt: parseIntImplementation 9650}); 9651 9652 9653/***/ }), 9654
vendor: 2,228 bytes, lines 9655-9709
9655/***/ "./node_modules/core-js/modules/es.promise.all-settled.js": 9656/*!****************************************************************!*\ 9657 !*** ./node_modules/core-js/modules/es.promise.all-settled.js ***! 9658 \****************************************************************/ 9659/*! no static exports found */ 9660/***/ (function(module, exports, __webpack_require__) { 9661 9662"use strict"; 9663 9664var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9665var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 9666var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); 9667var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js"); 9668var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 9669 9670// `Promise.allSettled` method 9671// https://github.com/tc39/proposal-promise-allSettled 9672$({ target: 'Promise', stat: true }, { 9673 allSettled: function allSettled(iterable) { 9674 var C = this; 9675 var capability = newPromiseCapabilityModule.f(C); 9676 var resolve = capability.resolve; 9677 var reject = capability.reject; 9678 var result = perform(function () { 9679 var promiseResolve = aFunction(C.resolve); 9680 var values = []; 9681 var counter = 0; 9682 var remaining = 1; 9683 iterate(iterable, function (promise) { 9684 var index = counter++; 9685 var alreadyCalled = false; 9686 values.push(undefined); 9687 remaining++; 9688 promiseResolve.call(C, promise).then(function (value) { 9689 if (alreadyCalled) return; 9690 alreadyCalled = true; 9691 values[index] = { status: 'fulfilled', value: value }; 9692 --remaining || resolve(values); 9693 }, function (error) { 9694 if (alreadyCalled) return; 9695 alreadyCalled = true; 9696 values[index] = { status: 'rejected', reason: error }; 9697 --remaining || resolve(values); 9698 }); 9699 }); 9700 --remaining || resolve(values); 9701 }); 9702 if (result.error) reject(result.value); 9703 return capability.promise; 9704 } 9705}); 9706 9707 9708/***/ }), 9709
vendor: 2,421 bytes, lines 9710-9767
9710/***/ "./node_modules/core-js/modules/es.promise.any.js": 9711/*!********************************************************!*\ 9712 !*** ./node_modules/core-js/modules/es.promise.any.js ***! 9713 \********************************************************/ 9714/*! no static exports found */ 9715/***/ (function(module, exports, __webpack_require__) { 9716 9717"use strict"; 9718 9719var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9720var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 9721var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 9722var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); 9723var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js"); 9724var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 9725 9726var PROMISE_ANY_ERROR = 'No one promise resolved'; 9727 9728// `Promise.any` method 9729// https://github.com/tc39/proposal-promise-any 9730$({ target: 'Promise', stat: true }, { 9731 any: function any(iterable) { 9732 var C = this; 9733 var capability = newPromiseCapabilityModule.f(C); 9734 var resolve = capability.resolve; 9735 var reject = capability.reject; 9736 var result = perform(function () { 9737 var promiseResolve = aFunction(C.resolve); 9738 var errors = []; 9739 var counter = 0; 9740 var remaining = 1; 9741 var alreadyResolved = false; 9742 iterate(iterable, function (promise) { 9743 var index = counter++; 9744 var alreadyRejected = false; 9745 errors.push(undefined); 9746 remaining++; 9747 promiseResolve.call(C, promise).then(function (value) { 9748 if (alreadyRejected || alreadyResolved) return; 9749 alreadyResolved = true; 9750 resolve(value); 9751 }, function (error) { 9752 if (alreadyRejected || alreadyResolved) return; 9753 alreadyRejected = true; 9754 errors[index] = error; 9755 --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); 9756 }); 9757 }); 9758 --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); 9759 }); 9760 if (result.error) reject(result.value); 9761 return capability.promise; 9762 } 9763}); 9764 9765 9766/***/ }), 9767
vendor: 2,472 bytes, lines 9768-9815
9768/***/ "./node_modules/core-js/modules/es.promise.finally.js": 9769/*!************************************************************!*\ 9770 !*** ./node_modules/core-js/modules/es.promise.finally.js ***! 9771 \************************************************************/ 9772/*! no static exports found */ 9773/***/ (function(module, exports, __webpack_require__) { 9774 9775"use strict"; 9776 9777var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9778var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 9779var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js"); 9780var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 9781var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 9782var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 9783var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js"); 9784var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 9785 9786// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 9787var NON_GENERIC = !!NativePromise && fails(function () { 9788 NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); 9789}); 9790 9791// `Promise.prototype.finally` method 9792// https://tc39.github.io/ecma262/#sec-promise.prototype.finally 9793$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { 9794 'finally': function (onFinally) { 9795 var C = speciesConstructor(this, getBuiltIn('Promise')); 9796 var isFunction = typeof onFinally == 'function'; 9797 return this.then( 9798 isFunction ? function (x) { 9799 return promiseResolve(C, onFinally()).then(function () { return x; }); 9800 } : onFinally, 9801 isFunction ? function (e) { 9802 return promiseResolve(C, onFinally()).then(function () { throw e; }); 9803 } : onFinally 9804 ); 9805 } 9806}); 9807 9808// patch native Promise.prototype for native async functions 9809if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { 9810 redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); 9811} 9812 9813 9814/***/ }), 9815
vendor: 15,722 bytes, lines 9816-10208
9816/***/ "./node_modules/core-js/modules/es.promise.js": 9817/*!****************************************************!*\ 9818 !*** ./node_modules/core-js/modules/es.promise.js ***! 9819 \****************************************************/ 9820/*! no static exports found */ 9821/***/ (function(module, exports, __webpack_require__) { 9822 9823"use strict"; 9824 9825var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 9826var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 9827var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 9828var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 9829var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js"); 9830var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 9831var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 9832var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 9833var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 9834var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 9835var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 9836var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 9837var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 9838var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js"); 9839var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js"); 9840var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 9841var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set; 9842var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js"); 9843var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js"); 9844var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js/internals/host-report-errors.js"); 9845var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js"); 9846var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js"); 9847var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 9848var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 9849var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 9850var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 9851var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 9852 9853var SPECIES = wellKnownSymbol('species'); 9854var PROMISE = 'Promise'; 9855var getInternalState = InternalStateModule.get; 9856var setInternalState = InternalStateModule.set; 9857var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); 9858var PromiseConstructor = NativePromise; 9859var TypeError = global.TypeError; 9860var document = global.document; 9861var process = global.process; 9862var $fetch = getBuiltIn('fetch'); 9863var newPromiseCapability = newPromiseCapabilityModule.f; 9864var newGenericPromiseCapability = newPromiseCapability; 9865var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); 9866var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function'; 9867var UNHANDLED_REJECTION = 'unhandledrejection'; 9868var REJECTION_HANDLED = 'rejectionhandled'; 9869var PENDING = 0; 9870var FULFILLED = 1; 9871var REJECTED = 2; 9872var HANDLED = 1; 9873var UNHANDLED = 2; 9874var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; 9875 9876var FORCED = isForced(PROMISE, function () { 9877 var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); 9878 if (!GLOBAL_CORE_JS_PROMISE) { 9879 // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 9880 // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 9881 // We can't detect it synchronously, so just check versions 9882 if (V8_VERSION === 66) return true; 9883 // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test 9884 if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true; 9885 } 9886 // We need Promise#finally in the pure version for preventing prototype pollution 9887 if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; 9888 // We can't use @@species feature detection in V8 since it causes 9889 // deoptimization and performance degradation 9890 // https://github.com/zloirock/core-js/issues/679 9891 if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; 9892 // Detect correctness of subclassing with @@species support 9893 var promise = PromiseConstructor.resolve(1); 9894 var FakePromise = function (exec) { 9895 exec(function () { /* empty */ }, function () { /* empty */ }); 9896 }; 9897 var constructor = promise.constructor = {}; 9898 constructor[SPECIES] = FakePromise; 9899 return !(promise.then(function () { /* empty */ }) instanceof FakePromise); 9900}); 9901 9902var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { 9903 PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); 9904}); 9905 9906// helpers 9907var isThenable = function (it) { 9908 var then; 9909 return isObject(it) && typeof (then = it.then) == 'function' ? then : false; 9910}; 9911 9912var notify = function (state, isReject) { 9913 if (state.notified) return; 9914 state.notified = true; 9915 var chain = state.reactions; 9916 microtask(function () { 9917 var value = state.value; 9918 var ok = state.state == FULFILLED; 9919 var index = 0; 9920 // variable length - can't use forEach 9921 while (chain.length > index) { 9922 var reaction = chain[index++]; 9923 var handler = ok ? reaction.ok : reaction.fail; 9924 var resolve = reaction.resolve; 9925 var reject = reaction.reject; 9926 var domain = reaction.domain; 9927 var result, then, exited; 9928 try { 9929 if (handler) { 9930 if (!ok) { 9931 if (state.rejection === UNHANDLED) onHandleUnhandled(state); 9932 state.rejection = HANDLED; 9933 } 9934 if (handler === true) result = value; 9935 else { 9936 if (domain) domain.enter(); 9937 result = handler(value); // can throw 9938 if (domain) { 9939 domain.exit(); 9940 exited = true; 9941 } 9942 } 9943 if (result === reaction.promise) { 9944 reject(TypeError('Promise-chain cycle')); 9945 } else if (then = isThenable(result)) { 9946 then.call(result, resolve, reject); 9947 } else resolve(result); 9948 } else reject(value); 9949 } catch (error) { 9950 if (domain && !exited) domain.exit(); 9951 reject(error); 9952 } 9953 } 9954 state.reactions = []; 9955 state.notified = false; 9956 if (isReject && !state.rejection) onUnhandled(state); 9957 }); 9958}; 9959 9960var dispatchEvent = function (name, promise, reason) { 9961 var event, handler; 9962 if (DISPATCH_EVENT) { 9963 event = document.createEvent('Event'); 9964 event.promise = promise; 9965 event.reason = reason; 9966 event.initEvent(name, false, true); 9967 global.dispatchEvent(event); 9968 } else event = { promise: promise, reason: reason }; 9969 if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); 9970 else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); 9971}; 9972 9973var onUnhandled = function (state) { 9974 task.call(global, function () { 9975 var promise = state.facade; 9976 var value = state.value; 9977 var IS_UNHANDLED = isUnhandled(state); 9978 var result; 9979 if (IS_UNHANDLED) { 9980 result = perform(function () { 9981 if (IS_NODE) { 9982 process.emit('unhandledRejection', value, promise); 9983 } else dispatchEvent(UNHANDLED_REJECTION, promise, value); 9984 }); 9985 // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should 9986 state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; 9987 if (result.error) throw result.value; 9988 } 9989 }); 9990}; 9991 9992var isUnhandled = function (state) { 9993 return state.rejection !== HANDLED && !state.parent; 9994}; 9995 9996var onHandleUnhandled = function (state) { 9997 task.call(global, function () { 9998 var promise = state.facade; 9999 if (IS_NODE) { 10000 process.emit('rejectionHandled', promise); 10001 } else dispatchEvent(REJECTION_HANDLED, promise, state.value); 10002 }); 10003}; 10004 10005var bind = function (fn, state, unwrap) { 10006 return function (value) { 10007 fn(state, value, unwrap); 10008 }; 10009}; 10010 10011var internalReject = function (state, value, unwrap) { 10012 if (state.done) return; 10013 state.done = true; 10014 if (unwrap) state = unwrap; 10015 state.value = value; 10016 state.state = REJECTED; 10017 notify(state, true); 10018}; 10019 10020var internalResolve = function (state, value, unwrap) { 10021 if (state.done) return; 10022 state.done = true; 10023 if (unwrap) state = unwrap; 10024 try { 10025 if (state.facade === value) throw TypeError("Promise can't be resolved itself"); 10026 var then = isThenable(value); 10027 if (then) { 10028 microtask(function () { 10029 var wrapper = { done: false }; 10030 try { 10031 then.call(value, 10032 bind(internalResolve, wrapper, state), 10033 bind(internalReject, wrapper, state) 10034 ); 10035 } catch (error) { 10036 internalReject(wrapper, error, state); 10037 } 10038 }); 10039 } else { 10040 state.value = value; 10041 state.state = FULFILLED; 10042 notify(state, false); 10043 } 10044 } catch (error) { 10045 internalReject({ done: false }, error, state); 10046 } 10047}; 10048 10049// constructor polyfill 10050if (FORCED) { 10051 // 25.4.3.1 Promise(executor) 10052 PromiseConstructor = function Promise(executor) { 10053 anInstance(this, PromiseConstructor, PROMISE); 10054 aFunction(executor); 10055 Internal.call(this); 10056 var state = getInternalState(this); 10057 try { 10058 executor(bind(internalResolve, state), bind(internalReject, state)); 10059 } catch (error) { 10060 internalReject(state, error); 10061 } 10062 }; 10063 // eslint-disable-next-line no-unused-vars 10064 Internal = function Promise(executor) { 10065 setInternalState(this, { 10066 type: PROMISE, 10067 done: false, 10068 notified: false, 10069 parent: false, 10070 reactions: [], 10071 rejection: false, 10072 state: PENDING, 10073 value: undefined 10074 }); 10075 }; 10076 Internal.prototype = redefineAll(PromiseConstructor.prototype, { 10077 // `Promise.prototype.then` method 10078 // https://tc39.github.io/ecma262/#sec-promise.prototype.then 10079 then: function then(onFulfilled, onRejected) { 10080 var state = getInternalPromiseState(this); 10081 var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); 10082 reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; 10083 reaction.fail = typeof onRejected == 'function' && onRejected; 10084 reaction.domain = IS_NODE ? process.domain : undefined; 10085 state.parent = true; 10086 state.reactions.push(reaction); 10087 if (state.state != PENDING) notify(state, false); 10088 return reaction.promise; 10089 }, 10090 // `Promise.prototype.catch` method 10091 // https://tc39.github.io/ecma262/#sec-promise.prototype.catch 10092 'catch': function (onRejected) { 10093 return this.then(undefined, onRejected); 10094 } 10095 }); 10096 OwnPromiseCapability = function () { 10097 var promise = new Internal(); 10098 var state = getInternalState(promise); 10099 this.promise = promise; 10100 this.resolve = bind(internalResolve, state); 10101 this.reject = bind(internalReject, state); 10102 }; 10103 newPromiseCapabilityModule.f = newPromiseCapability = function (C) { 10104 return C === PromiseConstructor || C === PromiseWrapper 10105 ? new OwnPromiseCapability(C) 10106 : newGenericPromiseCapability(C); 10107 }; 10108 10109 if (!IS_PURE && typeof NativePromise == 'function') { 10110 nativeThen = NativePromise.prototype.then; 10111 10112 // wrap native Promise#then for native async functions 10113 redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { 10114 var that = this; 10115 return new PromiseConstructor(function (resolve, reject) { 10116 nativeThen.call(that, resolve, reject); 10117 }).then(onFulfilled, onRejected); 10118 // https://github.com/zloirock/core-js/issues/640 10119 }, { unsafe: true }); 10120 10121 // wrap fetch result 10122 if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { 10123 // eslint-disable-next-line no-unused-vars 10124 fetch: function fetch(input /* , init */) { 10125 return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); 10126 } 10127 }); 10128 } 10129} 10130 10131$({ global: true, wrap: true, forced: FORCED }, { 10132 Promise: PromiseConstructor 10133}); 10134 10135setToStringTag(PromiseConstructor, PROMISE, false, true); 10136setSpecies(PROMISE); 10137 10138PromiseWrapper = getBuiltIn(PROMISE); 10139 10140// statics 10141$({ target: PROMISE, stat: true, forced: FORCED }, { 10142 // `Promise.reject` method 10143 // https://tc39.github.io/ecma262/#sec-promise.reject 10144 reject: function reject(r) { 10145 var capability = newPromiseCapability(this); 10146 capability.reject.call(undefined, r); 10147 return capability.promise; 10148 } 10149}); 10150 10151$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { 10152 // `Promise.resolve` method 10153 // https://tc39.github.io/ecma262/#sec-promise.resolve 10154 resolve: function resolve(x) { 10155 return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); 10156 } 10157}); 10158 10159$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { 10160 // `Promise.all` method 10161 // https://tc39.github.io/ecma262/#sec-promise.all 10162 all: function all(iterable) { 10163 var C = this; 10164 var capability = newPromiseCapability(C); 10165 var resolve = capability.resolve; 10166 var reject = capability.reject; 10167 var result = perform(function () { 10168 var $promiseResolve = aFunction(C.resolve); 10169 var values = []; 10170 var counter = 0; 10171 var remaining = 1; 10172 iterate(iterable, function (promise) { 10173 var index = counter++; 10174 var alreadyCalled = false; 10175 values.push(undefined); 10176 remaining++; 10177 $promiseResolve.call(C, promise).then(function (value) { 10178 if (alreadyCalled) return; 10179 alreadyCalled = true; 10180 values[index] = value; 10181 --remaining || resolve(values); 10182 }, reject); 10183 }); 10184 --remaining || resolve(values); 10185 }); 10186 if (result.error) reject(result.value); 10187 return capability.promise; 10188 }, 10189 // `Promise.race` method 10190 // https://tc39.github.io/ecma262/#sec-promise.race 10191 race: function race(iterable) { 10192 var C = this; 10193 var capability = newPromiseCapability(C); 10194 var reject = capability.reject; 10195 var result = perform(function () { 10196 var $promiseResolve = aFunction(C.resolve); 10197 iterate(iterable, function (promise) { 10198 $promiseResolve.call(C, promise).then(capability.resolve, reject); 10199 }); 10200 }); 10201 if (result.error) reject(result.value); 10202 return capability.promise; 10203 } 10204}); 10205 10206 10207/***/ }), 10208
vendor: 1,567 bytes, lines 10209-10244
10209/***/ "./node_modules/core-js/modules/es.reflect.apply.js": 10210/*!**********************************************************!*\ 10211 !*** ./node_modules/core-js/modules/es.reflect.apply.js ***! 10212 \**********************************************************/ 10213/*! no static exports found */ 10214/***/ (function(module, exports, __webpack_require__) { 10215 10216var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10217var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 10218var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 10219var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10220var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10221 10222var nativeApply = getBuiltIn('Reflect', 'apply'); 10223var functionApply = Function.apply; 10224 10225// MS Edge argumentsList argument is optional 10226var OPTIONAL_ARGUMENTS_LIST = !fails(function () { 10227 nativeApply(function () { /* empty */ }); 10228}); 10229 10230// `Reflect.apply` method 10231// https://tc39.github.io/ecma262/#sec-reflect.apply 10232$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { 10233 apply: function apply(target, thisArgument, argumentsList) { 10234 aFunction(target); 10235 anObject(argumentsList); 10236 return nativeApply 10237 ? nativeApply(target, thisArgument, argumentsList) 10238 : functionApply.call(target, thisArgument, argumentsList); 10239 } 10240}); 10241 10242 10243/***/ }), 10244
vendor: 3,080 bytes, lines 10245-10306
10245/***/ "./node_modules/core-js/modules/es.reflect.construct.js": 10246/*!**************************************************************!*\ 10247 !*** ./node_modules/core-js/modules/es.reflect.construct.js ***! 10248 \**************************************************************/ 10249/*! no static exports found */ 10250/***/ (function(module, exports, __webpack_require__) { 10251 10252var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10253var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 10254var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 10255var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10256var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 10257var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 10258var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js"); 10259var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10260 10261var nativeConstruct = getBuiltIn('Reflect', 'construct'); 10262 10263// `Reflect.construct` method 10264// https://tc39.github.io/ecma262/#sec-reflect.construct 10265// MS Edge supports only 2 arguments and argumentsList argument is optional 10266// FF Nightly sets third argument as `new.target`, but does not create `this` from it 10267var NEW_TARGET_BUG = fails(function () { 10268 function F() { /* empty */ } 10269 return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); 10270}); 10271var ARGS_BUG = !fails(function () { 10272 nativeConstruct(function () { /* empty */ }); 10273}); 10274var FORCED = NEW_TARGET_BUG || ARGS_BUG; 10275 10276$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { 10277 construct: function construct(Target, args /* , newTarget */) { 10278 aFunction(Target); 10279 anObject(args); 10280 var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); 10281 if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); 10282 if (Target == newTarget) { 10283 // w/o altered newTarget, optimization for 0-4 arguments 10284 switch (args.length) { 10285 case 0: return new Target(); 10286 case 1: return new Target(args[0]); 10287 case 2: return new Target(args[0], args[1]); 10288 case 3: return new Target(args[0], args[1], args[2]); 10289 case 4: return new Target(args[0], args[1], args[2], args[3]); 10290 } 10291 // w/o altered newTarget, lot of arguments case 10292 var $args = [null]; 10293 $args.push.apply($args, args); 10294 return new (bind.apply(Target, $args))(); 10295 } 10296 // with altered newTarget, not support built-in constructors 10297 var proto = newTarget.prototype; 10298 var instance = create(isObject(proto) ? proto : Object.prototype); 10299 var result = Function.apply.call(Target, instance, args); 10300 return isObject(result) ? result : instance; 10301 } 10302}); 10303 10304 10305/***/ }), 10306
vendor: 1,876 bytes, lines 10307-10345
10307/***/ "./node_modules/core-js/modules/es.reflect.define-property.js": 10308/*!********************************************************************!*\ 10309 !*** ./node_modules/core-js/modules/es.reflect.define-property.js ***! 10310 \********************************************************************/ 10311/*! no static exports found */ 10312/***/ (function(module, exports, __webpack_require__) { 10313 10314var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10315var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 10316var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10317var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 10318var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 10319var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10320 10321// MS Edge has broken Reflect.defineProperty - throwing instead of returning false 10322var ERROR_INSTEAD_OF_FALSE = fails(function () { 10323 // eslint-disable-next-line no-undef 10324 Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); 10325}); 10326 10327// `Reflect.defineProperty` method 10328// https://tc39.github.io/ecma262/#sec-reflect.defineproperty 10329$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { 10330 defineProperty: function defineProperty(target, propertyKey, attributes) { 10331 anObject(target); 10332 var key = toPrimitive(propertyKey, true); 10333 anObject(attributes); 10334 try { 10335 definePropertyModule.f(target, key, attributes); 10336 return true; 10337 } catch (error) { 10338 return false; 10339 } 10340 } 10341}); 10342 10343 10344/***/ }), 10345
vendor: 1,168 bytes, lines 10346-10368
10346/***/ "./node_modules/core-js/modules/es.reflect.delete-property.js": 10347/*!********************************************************************!*\ 10348 !*** ./node_modules/core-js/modules/es.reflect.delete-property.js ***! 10349 \********************************************************************/ 10350/*! no static exports found */ 10351/***/ (function(module, exports, __webpack_require__) { 10352 10353var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10354var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10355var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 10356 10357// `Reflect.deleteProperty` method 10358// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty 10359$({ target: 'Reflect', stat: true }, { 10360 deleteProperty: function deleteProperty(target, propertyKey) { 10361 var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); 10362 return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; 10363 } 10364}); 10365 10366 10367/***/ }), 10368
vendor: 1,312 bytes, lines 10369-10391
10369/***/ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js": 10370/*!********************************************************************************!*\ 10371 !*** ./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js ***! 10372 \********************************************************************************/ 10373/*! no static exports found */ 10374/***/ (function(module, exports, __webpack_require__) { 10375 10376var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10377var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 10378var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10379var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 10380 10381// `Reflect.getOwnPropertyDescriptor` method 10382// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor 10383$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { 10384 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { 10385 return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); 10386 } 10387}); 10388 10389 10390/***/ }), 10391
vendor: 1,210 bytes, lines 10392-10414
10392/***/ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js": 10393/*!*********************************************************************!*\ 10394 !*** ./node_modules/core-js/modules/es.reflect.get-prototype-of.js ***! 10395 \*********************************************************************/ 10396/*! no static exports found */ 10397/***/ (function(module, exports, __webpack_require__) { 10398 10399var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10400var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10401var objectGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 10402var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js"); 10403 10404// `Reflect.getPrototypeOf` method 10405// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof 10406$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { 10407 getPrototypeOf: function getPrototypeOf(target) { 10408 return objectGetPrototypeOf(anObject(target)); 10409 } 10410}); 10411 10412 10413/***/ }), 10414
vendor: 1,772 bytes, lines 10415-10449
10415/***/ "./node_modules/core-js/modules/es.reflect.get.js": 10416/*!********************************************************!*\ 10417 !*** ./node_modules/core-js/modules/es.reflect.get.js ***! 10418 \********************************************************/ 10419/*! no static exports found */ 10420/***/ (function(module, exports, __webpack_require__) { 10421 10422var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10423var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 10424var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10425var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 10426var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 10427var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 10428 10429// `Reflect.get` method 10430// https://tc39.github.io/ecma262/#sec-reflect.get 10431function get(target, propertyKey /* , receiver */) { 10432 var receiver = arguments.length < 3 ? target : arguments[2]; 10433 var descriptor, prototype; 10434 if (anObject(target) === receiver) return target[propertyKey]; 10435 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') 10436 ? descriptor.value 10437 : descriptor.get === undefined 10438 ? undefined 10439 : descriptor.get.call(receiver); 10440 if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); 10441} 10442 10443$({ target: 'Reflect', stat: true }, { 10444 get: get 10445}); 10446 10447 10448/***/ }), 10449
vendor: 646 bytes, lines 10450-10469
10450/***/ "./node_modules/core-js/modules/es.reflect.has.js": 10451/*!********************************************************!*\ 10452 !*** ./node_modules/core-js/modules/es.reflect.has.js ***! 10453 \********************************************************/ 10454/*! no static exports found */ 10455/***/ (function(module, exports, __webpack_require__) { 10456 10457var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10458 10459// `Reflect.has` method 10460// https://tc39.github.io/ecma262/#sec-reflect.has 10461$({ target: 'Reflect', stat: true }, { 10462 has: function has(target, propertyKey) { 10463 return propertyKey in target; 10464 } 10465}); 10466 10467 10468/***/ }), 10469
vendor: 926 bytes, lines 10470-10493
10470/***/ "./node_modules/core-js/modules/es.reflect.is-extensible.js": 10471/*!******************************************************************!*\ 10472 !*** ./node_modules/core-js/modules/es.reflect.is-extensible.js ***! 10473 \******************************************************************/ 10474/*! no static exports found */ 10475/***/ (function(module, exports, __webpack_require__) { 10476 10477var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10478var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10479 10480var objectIsExtensible = Object.isExtensible; 10481 10482// `Reflect.isExtensible` method 10483// https://tc39.github.io/ecma262/#sec-reflect.isextensible 10484$({ target: 'Reflect', stat: true }, { 10485 isExtensible: function isExtensible(target) { 10486 anObject(target); 10487 return objectIsExtensible ? objectIsExtensible(target) : true; 10488 } 10489}); 10490 10491 10492/***/ }), 10493
vendor: 724 bytes, lines 10494-10512
10494/***/ "./node_modules/core-js/modules/es.reflect.own-keys.js": 10495/*!*************************************************************!*\ 10496 !*** ./node_modules/core-js/modules/es.reflect.own-keys.js ***! 10497 \*************************************************************/ 10498/*! no static exports found */ 10499/***/ (function(module, exports, __webpack_require__) { 10500 10501var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10502var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); 10503 10504// `Reflect.ownKeys` method 10505// https://tc39.github.io/ecma262/#sec-reflect.ownkeys 10506$({ target: 'Reflect', stat: true }, { 10507 ownKeys: ownKeys 10508}); 10509 10510 10511/***/ }), 10512
vendor: 1,329 bytes, lines 10513-10542
10513/***/ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js": 10514/*!***********************************************************************!*\ 10515 !*** ./node_modules/core-js/modules/es.reflect.prevent-extensions.js ***! 10516 \***********************************************************************/ 10517/*! no static exports found */ 10518/***/ (function(module, exports, __webpack_require__) { 10519 10520var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10521var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 10522var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10523var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js"); 10524 10525// `Reflect.preventExtensions` method 10526// https://tc39.github.io/ecma262/#sec-reflect.preventextensions 10527$({ target: 'Reflect', stat: true, sham: !FREEZING }, { 10528 preventExtensions: function preventExtensions(target) { 10529 anObject(target); 10530 try { 10531 var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); 10532 if (objectPreventExtensions) objectPreventExtensions(target); 10533 return true; 10534 } catch (error) { 10535 return false; 10536 } 10537 } 10538}); 10539 10540 10541/***/ }), 10542
vendor: 1,318 bytes, lines 10543-10572
10543/***/ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js": 10544/*!*********************************************************************!*\ 10545 !*** ./node_modules/core-js/modules/es.reflect.set-prototype-of.js ***! 10546 \*********************************************************************/ 10547/*! no static exports found */ 10548/***/ (function(module, exports, __webpack_require__) { 10549 10550var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10551var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10552var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); 10553var objectSetPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 10554 10555// `Reflect.setPrototypeOf` method 10556// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof 10557if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { 10558 setPrototypeOf: function setPrototypeOf(target, proto) { 10559 anObject(target); 10560 aPossiblePrototype(proto); 10561 try { 10562 objectSetPrototypeOf(target, proto); 10563 return true; 10564 } catch (error) { 10565 return false; 10566 } 10567 } 10568}); 10569 10570 10571/***/ }), 10572
vendor: 3,161 bytes, lines 10573-10629
10573/***/ "./node_modules/core-js/modules/es.reflect.set.js": 10574/*!********************************************************!*\ 10575 !*** ./node_modules/core-js/modules/es.reflect.set.js ***! 10576 \********************************************************/ 10577/*! no static exports found */ 10578/***/ (function(module, exports, __webpack_require__) { 10579 10580var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10581var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10582var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 10583var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 10584var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10585var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 10586var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 10587var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js"); 10588var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 10589 10590// `Reflect.set` method 10591// https://tc39.github.io/ecma262/#sec-reflect.set 10592function set(target, propertyKey, V /* , receiver */) { 10593 var receiver = arguments.length < 4 ? target : arguments[3]; 10594 var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); 10595 var existingDescriptor, prototype; 10596 if (!ownDescriptor) { 10597 if (isObject(prototype = getPrototypeOf(target))) { 10598 return set(prototype, propertyKey, V, receiver); 10599 } 10600 ownDescriptor = createPropertyDescriptor(0); 10601 } 10602 if (has(ownDescriptor, 'value')) { 10603 if (ownDescriptor.writable === false || !isObject(receiver)) return false; 10604 if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { 10605 if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; 10606 existingDescriptor.value = V; 10607 definePropertyModule.f(receiver, propertyKey, existingDescriptor); 10608 } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); 10609 return true; 10610 } 10611 return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); 10612} 10613 10614// MS Edge 17-18 Reflect.set allows setting the property to object 10615// with non-writable property on the prototype 10616var MS_EDGE_BUG = fails(function () { 10617 var Constructor = function () { /* empty */ }; 10618 var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); 10619 // eslint-disable-next-line no-undef 10620 return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; 10621}); 10622 10623$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { 10624 set: set 10625}); 10626 10627 10628/***/ }), 10629
vendor: 908 bytes, lines 10630-10649
10630/***/ "./node_modules/core-js/modules/es.reflect.to-string-tag.js": 10631/*!******************************************************************!*\ 10632 !*** ./node_modules/core-js/modules/es.reflect.to-string-tag.js ***! 10633 \******************************************************************/ 10634/*! no static exports found */ 10635/***/ (function(module, exports, __webpack_require__) { 10636 10637var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10638var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 10639var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 10640 10641$({ global: true }, { Reflect: {} }); 10642 10643// Reflect[@@toStringTag] property 10644// https://tc39.es/ecma262/#sec-reflect-@@tostringtag 10645setToStringTag(global.Reflect, 'Reflect', true); 10646 10647 10648/***/ }), 10649
vendor: 4,497 bytes, lines 10650-10744
10650/***/ "./node_modules/core-js/modules/es.regexp.constructor.js": 10651/*!***************************************************************!*\ 10652 !*** ./node_modules/core-js/modules/es.regexp.constructor.js ***! 10653 \***************************************************************/ 10654/*! no static exports found */ 10655/***/ (function(module, exports, __webpack_require__) { 10656 10657var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 10658var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 10659var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 10660var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); 10661var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 10662var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 10663var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 10664var getFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 10665var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); 10666var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 10667var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10668var setInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").set; 10669var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js"); 10670var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 10671 10672var MATCH = wellKnownSymbol('match'); 10673var NativeRegExp = global.RegExp; 10674var RegExpPrototype = NativeRegExp.prototype; 10675var re1 = /a/g; 10676var re2 = /a/g; 10677 10678// "new" should create a new object, old webkit bug 10679var CORRECT_NEW = new NativeRegExp(re1) !== re1; 10680 10681var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; 10682 10683var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () { 10684 re2[MATCH] = false; 10685 // RegExp constructor can alter flags and IsRegExp works correct with @@match 10686 return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; 10687}))); 10688 10689// `RegExp` constructor 10690// https://tc39.github.io/ecma262/#sec-regexp-constructor 10691if (FORCED) { 10692 var RegExpWrapper = function RegExp(pattern, flags) { 10693 var thisIsRegExp = this instanceof RegExpWrapper; 10694 var patternIsRegExp = isRegExp(pattern); 10695 var flagsAreUndefined = flags === undefined; 10696 var sticky; 10697 10698 if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) { 10699 return pattern; 10700 } 10701 10702 if (CORRECT_NEW) { 10703 if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source; 10704 } else if (pattern instanceof RegExpWrapper) { 10705 if (flagsAreUndefined) flags = getFlags.call(pattern); 10706 pattern = pattern.source; 10707 } 10708 10709 if (UNSUPPORTED_Y) { 10710 sticky = !!flags && flags.indexOf('y') > -1; 10711 if (sticky) flags = flags.replace(/y/g, ''); 10712 } 10713 10714 var result = inheritIfRequired( 10715 CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), 10716 thisIsRegExp ? this : RegExpPrototype, 10717 RegExpWrapper 10718 ); 10719 10720 if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky }); 10721 10722 return result; 10723 }; 10724 var proxy = function (key) { 10725 key in RegExpWrapper || defineProperty(RegExpWrapper, key, { 10726 configurable: true, 10727 get: function () { return NativeRegExp[key]; }, 10728 set: function (it) { NativeRegExp[key] = it; } 10729 }); 10730 }; 10731 var keys = getOwnPropertyNames(NativeRegExp); 10732 var index = 0; 10733 while (keys.length > index) proxy(keys[index++]); 10734 RegExpPrototype.constructor = RegExpWrapper; 10735 RegExpWrapper.prototype = RegExpPrototype; 10736 redefine(global, 'RegExp', RegExpWrapper); 10737} 10738 10739// https://tc39.github.io/ecma262/#sec-get-regexp-@@species 10740setSpecies('RegExp'); 10741 10742 10743/***/ }), 10744
vendor: 660 bytes, lines 10745-10763
10745/***/ "./node_modules/core-js/modules/es.regexp.exec.js": 10746/*!********************************************************!*\ 10747 !*** ./node_modules/core-js/modules/es.regexp.exec.js ***! 10748 \********************************************************/ 10749/*! no static exports found */ 10750/***/ (function(module, exports, __webpack_require__) { 10751 10752"use strict"; 10753 10754var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10755var exec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 10756 10757$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { 10758 exec: exec 10759}); 10760 10761 10762/***/ }), 10763
vendor: 1,185 bytes, lines 10764-10787
10764/***/ "./node_modules/core-js/modules/es.regexp.flags.js": 10765/*!*********************************************************!*\ 10766 !*** ./node_modules/core-js/modules/es.regexp.flags.js ***! 10767 \*********************************************************/ 10768/*! no static exports found */ 10769/***/ (function(module, exports, __webpack_require__) { 10770 10771var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 10772var objectDefinePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 10773var regExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 10774var UNSUPPORTED_Y = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y; 10775 10776// `RegExp.prototype.flags` getter 10777// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags 10778if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) { 10779 objectDefinePropertyModule.f(RegExp.prototype, 'flags', { 10780 configurable: true, 10781 get: regExpFlags 10782 }); 10783} 10784 10785 10786/***/ }), 10787
vendor: 1,475 bytes, lines 10788-10819
10788/***/ "./node_modules/core-js/modules/es.regexp.sticky.js": 10789/*!**********************************************************!*\ 10790 !*** ./node_modules/core-js/modules/es.regexp.sticky.js ***! 10791 \**********************************************************/ 10792/*! no static exports found */ 10793/***/ (function(module, exports, __webpack_require__) { 10794 10795var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 10796var UNSUPPORTED_Y = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y; 10797var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 10798var getInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").get; 10799var RegExpPrototype = RegExp.prototype; 10800 10801// `RegExp.prototype.sticky` getter 10802if (DESCRIPTORS && UNSUPPORTED_Y) { 10803 defineProperty(RegExp.prototype, 'sticky', { 10804 configurable: true, 10805 get: function () { 10806 if (this === RegExpPrototype) return undefined; 10807 // We can't use InternalStateModule.getterFor because 10808 // we don't add metadata for regexps created by a literal. 10809 if (this instanceof RegExp) { 10810 return !!getInternalState(this).sticky; 10811 } 10812 throw TypeError('Incompatible receiver, RegExp required'); 10813 } 10814 }); 10815} 10816 10817 10818/***/ }), 10819
vendor: 1,403 bytes, lines 10820-10861
10820/***/ "./node_modules/core-js/modules/es.regexp.test.js": 10821/*!********************************************************!*\ 10822 !*** ./node_modules/core-js/modules/es.regexp.test.js ***! 10823 \********************************************************/ 10824/*! no static exports found */ 10825/***/ (function(module, exports, __webpack_require__) { 10826 10827"use strict"; 10828 10829// TODO: Remove from `core-js@4` since it's moved to entry points 10830__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 10831var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10832var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 10833 10834var DELEGATES_TO_EXEC = function () { 10835 var execCalled = false; 10836 var re = /[ac]/; 10837 re.exec = function () { 10838 execCalled = true; 10839 return /./.exec.apply(this, arguments); 10840 }; 10841 return re.test('abc') === true && execCalled; 10842}(); 10843 10844var nativeTest = /./.test; 10845 10846$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { 10847 test: function (str) { 10848 if (typeof this.exec !== 'function') { 10849 return nativeTest.call(this, str); 10850 } 10851 var result = this.exec(str); 10852 if (result !== null && !isObject(result)) { 10853 throw new Error('RegExp exec method returned something other than an Object or null'); 10854 } 10855 return !!result; 10856 } 10857}); 10858 10859 10860/***/ }), 10861
vendor: 1,608 bytes, lines 10862-10898
10862/***/ "./node_modules/core-js/modules/es.regexp.to-string.js": 10863/*!*************************************************************!*\ 10864 !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***! 10865 \*************************************************************/ 10866/*! no static exports found */ 10867/***/ (function(module, exports, __webpack_require__) { 10868 10869"use strict"; 10870 10871var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 10872var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 10873var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 10874var flags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 10875 10876var TO_STRING = 'toString'; 10877var RegExpPrototype = RegExp.prototype; 10878var nativeToString = RegExpPrototype[TO_STRING]; 10879 10880var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); 10881// FF44- RegExp#toString has a wrong name 10882var INCORRECT_NAME = nativeToString.name != TO_STRING; 10883 10884// `RegExp.prototype.toString` method 10885// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring 10886if (NOT_GENERIC || INCORRECT_NAME) { 10887 redefine(RegExp.prototype, TO_STRING, function toString() { 10888 var R = anObject(this); 10889 var p = String(R.source); 10890 var rf = R.flags; 10891 var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); 10892 return '/' + p + '/' + f; 10893 }, { unsafe: true }); 10894} 10895 10896 10897/***/ }), 10898
vendor: 826 bytes, lines 10899-10919
10899/***/ "./node_modules/core-js/modules/es.set.js": 10900/*!************************************************!*\ 10901 !*** ./node_modules/core-js/modules/es.set.js ***! 10902 \************************************************/ 10903/*! no static exports found */ 10904/***/ (function(module, exports, __webpack_require__) { 10905 10906"use strict"; 10907 10908var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); 10909var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js"); 10910 10911// `Set` constructor 10912// https://tc39.github.io/ecma262/#sec-set-objects 10913module.exports = collection('Set', function (init) { 10914 return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; 10915}, collectionStrong); 10916 10917 10918/***/ }), 10919
vendor: 1,008 bytes, lines 10920-10943
10920/***/ "./node_modules/core-js/modules/es.string.anchor.js": 10921/*!**********************************************************!*\ 10922 !*** ./node_modules/core-js/modules/es.string.anchor.js ***! 10923 \**********************************************************/ 10924/*! no static exports found */ 10925/***/ (function(module, exports, __webpack_require__) { 10926 10927"use strict"; 10928 10929var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10930var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 10931var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 10932 10933// `String.prototype.anchor` method 10934// https://tc39.github.io/ecma262/#sec-string.prototype.anchor 10935$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { 10936 anchor: function anchor(name) { 10937 return createHTML(this, 'a', 'name', name); 10938 } 10939}); 10940 10941 10942/***/ }), 10943
vendor: 973 bytes, lines 10944-10967
10944/***/ "./node_modules/core-js/modules/es.string.big.js": 10945/*!*******************************************************!*\ 10946 !*** ./node_modules/core-js/modules/es.string.big.js ***! 10947 \*******************************************************/ 10948/*! no static exports found */ 10949/***/ (function(module, exports, __webpack_require__) { 10950 10951"use strict"; 10952 10953var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10954var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 10955var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 10956 10957// `String.prototype.big` method 10958// https://tc39.github.io/ecma262/#sec-string.prototype.big 10959$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { 10960 big: function big() { 10961 return createHTML(this, 'big', '', ''); 10962 } 10963}); 10964 10965 10966/***/ }), 10967
vendor: 993 bytes, lines 10968-10991
10968/***/ "./node_modules/core-js/modules/es.string.blink.js": 10969/*!*********************************************************!*\ 10970 !*** ./node_modules/core-js/modules/es.string.blink.js ***! 10971 \*********************************************************/ 10972/*! no static exports found */ 10973/***/ (function(module, exports, __webpack_require__) { 10974 10975"use strict"; 10976 10977var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 10978var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 10979var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 10980 10981// `String.prototype.blink` method 10982// https://tc39.github.io/ecma262/#sec-string.prototype.blink 10983$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { 10984 blink: function blink() { 10985 return createHTML(this, 'blink', '', ''); 10986 } 10987}); 10988 10989 10990/***/ }), 10991
vendor: 980 bytes, lines 10992-11015
10992/***/ "./node_modules/core-js/modules/es.string.bold.js": 10993/*!********************************************************!*\ 10994 !*** ./node_modules/core-js/modules/es.string.bold.js ***! 10995 \********************************************************/ 10996/*! no static exports found */ 10997/***/ (function(module, exports, __webpack_require__) { 10998 10999"use strict"; 11000 11001var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11002var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11003var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11004 11005// `String.prototype.bold` method 11006// https://tc39.github.io/ecma262/#sec-string.prototype.bold 11007$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { 11008 bold: function bold() { 11009 return createHTML(this, 'b', '', ''); 11010 } 11011}); 11012 11013 11014/***/ }), 11015
vendor: 861 bytes, lines 11016-11038
11016/***/ "./node_modules/core-js/modules/es.string.code-point-at.js": 11017/*!*****************************************************************!*\ 11018 !*** ./node_modules/core-js/modules/es.string.code-point-at.js ***! 11019 \*****************************************************************/ 11020/*! no static exports found */ 11021/***/ (function(module, exports, __webpack_require__) { 11022 11023"use strict"; 11024 11025var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11026var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt; 11027 11028// `String.prototype.codePointAt` method 11029// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat 11030$({ target: 'String', proto: true }, { 11031 codePointAt: function codePointAt(pos) { 11032 return codeAt(this, pos); 11033 } 11034}); 11035 11036 11037/***/ }), 11038
vendor: 2,421 bytes, lines 11039-11084
11039/***/ "./node_modules/core-js/modules/es.string.ends-with.js": 11040/*!*************************************************************!*\ 11041 !*** ./node_modules/core-js/modules/es.string.ends-with.js ***! 11042 \*************************************************************/ 11043/*! no static exports found */ 11044/***/ (function(module, exports, __webpack_require__) { 11045 11046"use strict"; 11047 11048var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11049var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 11050var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11051var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); 11052var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11053var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); 11054var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 11055 11056var nativeEndsWith = ''.endsWith; 11057var min = Math.min; 11058 11059var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); 11060// https://github.com/zloirock/core-js/pull/702 11061var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { 11062 var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); 11063 return descriptor && !descriptor.writable; 11064}(); 11065 11066// `String.prototype.endsWith` method 11067// https://tc39.github.io/ecma262/#sec-string.prototype.endswith 11068$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { 11069 endsWith: function endsWith(searchString /* , endPosition = @length */) { 11070 var that = String(requireObjectCoercible(this)); 11071 notARegExp(searchString); 11072 var endPosition = arguments.length > 1 ? arguments[1] : undefined; 11073 var len = toLength(that.length); 11074 var end = endPosition === undefined ? len : min(toLength(endPosition), len); 11075 var search = String(searchString); 11076 return nativeEndsWith 11077 ? nativeEndsWith.call(that, search, end) 11078 : that.slice(end - search.length, end) === search; 11079 } 11080}); 11081 11082 11083/***/ }), 11084
vendor: 990 bytes, lines 11085-11108
11085/***/ "./node_modules/core-js/modules/es.string.fixed.js": 11086/*!*********************************************************!*\ 11087 !*** ./node_modules/core-js/modules/es.string.fixed.js ***! 11088 \*********************************************************/ 11089/*! no static exports found */ 11090/***/ (function(module, exports, __webpack_require__) { 11091 11092"use strict"; 11093 11094var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11095var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11096var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11097 11098// `String.prototype.fixed` method 11099// https://tc39.github.io/ecma262/#sec-string.prototype.fixed 11100$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { 11101 fixed: function fixed() { 11102 return createHTML(this, 'tt', '', ''); 11103 } 11104}); 11105 11106 11107/***/ }), 11108
vendor: 1,041 bytes, lines 11109-11132
11109/***/ "./node_modules/core-js/modules/es.string.fontcolor.js": 11110/*!*************************************************************!*\ 11111 !*** ./node_modules/core-js/modules/es.string.fontcolor.js ***! 11112 \*************************************************************/ 11113/*! no static exports found */ 11114/***/ (function(module, exports, __webpack_require__) { 11115 11116"use strict"; 11117 11118var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11119var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11120var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11121 11122// `String.prototype.fontcolor` method 11123// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor 11124$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { 11125 fontcolor: function fontcolor(color) { 11126 return createHTML(this, 'font', 'color', color); 11127 } 11128}); 11129 11130 11131/***/ }), 11132
vendor: 1,029 bytes, lines 11133-11156
11133/***/ "./node_modules/core-js/modules/es.string.fontsize.js": 11134/*!************************************************************!*\ 11135 !*** ./node_modules/core-js/modules/es.string.fontsize.js ***! 11136 \************************************************************/ 11137/*! no static exports found */ 11138/***/ (function(module, exports, __webpack_require__) { 11139 11140"use strict"; 11141 11142var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11143var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11144var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11145 11146// `String.prototype.fontsize` method 11147// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize 11148$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { 11149 fontsize: function fontsize(size) { 11150 return createHTML(this, 'font', 'size', size); 11151 } 11152}); 11153 11154 11155/***/ }), 11156
vendor: 1,522 bytes, lines 11157-11194
11157/***/ "./node_modules/core-js/modules/es.string.from-code-point.js": 11158/*!*******************************************************************!*\ 11159 !*** ./node_modules/core-js/modules/es.string.from-code-point.js ***! 11160 \*******************************************************************/ 11161/*! no static exports found */ 11162/***/ (function(module, exports, __webpack_require__) { 11163 11164var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11165var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 11166 11167var fromCharCode = String.fromCharCode; 11168var nativeFromCodePoint = String.fromCodePoint; 11169 11170// length should be 1, old FF problem 11171var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; 11172 11173// `String.fromCodePoint` method 11174// https://tc39.github.io/ecma262/#sec-string.fromcodepoint 11175$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { 11176 fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars 11177 var elements = []; 11178 var length = arguments.length; 11179 var i = 0; 11180 var code; 11181 while (length > i) { 11182 code = +arguments[i++]; 11183 if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); 11184 elements.push(code < 0x10000 11185 ? fromCharCode(code) 11186 : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) 11187 ); 11188 } return elements.join(''); 11189 } 11190}); 11191 11192 11193/***/ }), 11194
vendor: 1,317 bytes, lines 11195-11220
11195/***/ "./node_modules/core-js/modules/es.string.includes.js": 11196/*!************************************************************!*\ 11197 !*** ./node_modules/core-js/modules/es.string.includes.js ***! 11198 \************************************************************/ 11199/*! no static exports found */ 11200/***/ (function(module, exports, __webpack_require__) { 11201 11202"use strict"; 11203 11204var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11205var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); 11206var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11207var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); 11208 11209// `String.prototype.includes` method 11210// https://tc39.github.io/ecma262/#sec-string.prototype.includes 11211$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { 11212 includes: function includes(searchString /* , position = 0 */) { 11213 return !!~String(requireObjectCoercible(this)) 11214 .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); 11215 } 11216}); 11217 11218 11219/***/ }), 11220
vendor: 1,007 bytes, lines 11221-11244
11221/***/ "./node_modules/core-js/modules/es.string.italics.js": 11222/*!***********************************************************!*\ 11223 !*** ./node_modules/core-js/modules/es.string.italics.js ***! 11224 \***********************************************************/ 11225/*! no static exports found */ 11226/***/ (function(module, exports, __webpack_require__) { 11227 11228"use strict"; 11229 11230var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11231var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11232var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11233 11234// `String.prototype.italics` method 11235// https://tc39.github.io/ecma262/#sec-string.prototype.italics 11236$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { 11237 italics: function italics() { 11238 return createHTML(this, 'i', '', ''); 11239 } 11240}); 11241 11242 11243/***/ }), 11244
vendor: 1,626 bytes, lines 11245-11285
11245/***/ "./node_modules/core-js/modules/es.string.iterator.js": 11246/*!************************************************************!*\ 11247 !*** ./node_modules/core-js/modules/es.string.iterator.js ***! 11248 \************************************************************/ 11249/*! no static exports found */ 11250/***/ (function(module, exports, __webpack_require__) { 11251 11252"use strict"; 11253 11254var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; 11255var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 11256var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); 11257 11258var STRING_ITERATOR = 'String Iterator'; 11259var setInternalState = InternalStateModule.set; 11260var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); 11261 11262// `String.prototype[@@iterator]` method 11263// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator 11264defineIterator(String, 'String', function (iterated) { 11265 setInternalState(this, { 11266 type: STRING_ITERATOR, 11267 string: String(iterated), 11268 index: 0 11269 }); 11270// `%StringIteratorPrototype%.next` method 11271// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next 11272}, function next() { 11273 var state = getInternalState(this); 11274 var string = state.string; 11275 var index = state.index; 11276 var point; 11277 if (index >= string.length) return { value: undefined, done: true }; 11278 point = charAt(string, index); 11279 state.index += point.length; 11280 return { value: point, done: false }; 11281}); 11282 11283 11284/***/ }), 11285
vendor: 988 bytes, lines 11286-11309
11286/***/ "./node_modules/core-js/modules/es.string.link.js": 11287/*!********************************************************!*\ 11288 !*** ./node_modules/core-js/modules/es.string.link.js ***! 11289 \********************************************************/ 11290/*! no static exports found */ 11291/***/ (function(module, exports, __webpack_require__) { 11292 11293"use strict"; 11294 11295var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11296var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11297var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11298 11299// `String.prototype.link` method 11300// https://tc39.github.io/ecma262/#sec-string.prototype.link 11301$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { 11302 link: function link(url) { 11303 return createHTML(this, 'a', 'href', url); 11304 } 11305}); 11306 11307 11308/***/ }), 11309
vendor: 5,944 bytes, lines 11310-11430
11310/***/ "./node_modules/core-js/modules/es.string.match-all.js": 11311/*!*************************************************************!*\ 11312 !*** ./node_modules/core-js/modules/es.string.match-all.js ***! 11313 \*************************************************************/ 11314/*! no static exports found */ 11315/***/ (function(module, exports, __webpack_require__) { 11316 11317"use strict"; 11318 11319var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11320var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); 11321var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11322var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11323var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js"); 11324var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 11325var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 11326var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 11327var getRegExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 11328var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 11329var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 11330var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 11331var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 11332var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 11333var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 11334var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 11335 11336var MATCH_ALL = wellKnownSymbol('matchAll'); 11337var REGEXP_STRING = 'RegExp String'; 11338var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; 11339var setInternalState = InternalStateModule.set; 11340var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); 11341var RegExpPrototype = RegExp.prototype; 11342var regExpBuiltinExec = RegExpPrototype.exec; 11343var nativeMatchAll = ''.matchAll; 11344 11345var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { 11346 'a'.matchAll(/./); 11347}); 11348 11349var regExpExec = function (R, S) { 11350 var exec = R.exec; 11351 var result; 11352 if (typeof exec == 'function') { 11353 result = exec.call(R, S); 11354 if (typeof result != 'object') throw TypeError('Incorrect exec result'); 11355 return result; 11356 } return regExpBuiltinExec.call(R, S); 11357}; 11358 11359// eslint-disable-next-line max-len 11360var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { 11361 setInternalState(this, { 11362 type: REGEXP_STRING_ITERATOR, 11363 regexp: regexp, 11364 string: string, 11365 global: global, 11366 unicode: fullUnicode, 11367 done: false 11368 }); 11369}, REGEXP_STRING, function next() { 11370 var state = getInternalState(this); 11371 if (state.done) return { value: undefined, done: true }; 11372 var R = state.regexp; 11373 var S = state.string; 11374 var match = regExpExec(R, S); 11375 if (match === null) return { value: undefined, done: state.done = true }; 11376 if (state.global) { 11377 if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); 11378 return { value: match, done: false }; 11379 } 11380 state.done = true; 11381 return { value: match, done: false }; 11382}); 11383 11384var $matchAll = function (string) { 11385 var R = anObject(this); 11386 var S = String(string); 11387 var C, flagsValue, flags, matcher, global, fullUnicode; 11388 C = speciesConstructor(R, RegExp); 11389 flagsValue = R.flags; 11390 if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { 11391 flagsValue = getRegExpFlags.call(R); 11392 } 11393 flags = flagsValue === undefined ? '' : String(flagsValue); 11394 matcher = new C(C === RegExp ? R.source : R, flags); 11395 global = !!~flags.indexOf('g'); 11396 fullUnicode = !!~flags.indexOf('u'); 11397 matcher.lastIndex = toLength(R.lastIndex); 11398 return new $RegExpStringIterator(matcher, S, global, fullUnicode); 11399}; 11400 11401// `String.prototype.matchAll` method 11402// https://github.com/tc39/proposal-string-matchall 11403$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { 11404 matchAll: function matchAll(regexp) { 11405 var O = requireObjectCoercible(this); 11406 var flags, S, matcher, rx; 11407 if (regexp != null) { 11408 if (isRegExp(regexp)) { 11409 flags = String(requireObjectCoercible('flags' in RegExpPrototype 11410 ? regexp.flags 11411 : getRegExpFlags.call(regexp) 11412 )); 11413 if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes'); 11414 } 11415 if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); 11416 matcher = regexp[MATCH_ALL]; 11417 if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll; 11418 if (matcher != null) return aFunction(matcher).call(regexp, O); 11419 } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); 11420 S = String(O); 11421 rx = new RegExp(regexp, 'g'); 11422 return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S); 11423 } 11424}); 11425 11426IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); 11427 11428 11429/***/ }), 11430
vendor: 2,450 bytes, lines 11431-11486
11431/***/ "./node_modules/core-js/modules/es.string.match.js": 11432/*!*********************************************************!*\ 11433 !*** ./node_modules/core-js/modules/es.string.match.js ***! 11434 \*********************************************************/ 11435/*! no static exports found */ 11436/***/ (function(module, exports, __webpack_require__) { 11437 11438"use strict"; 11439 11440var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 11441var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 11442var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11443var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11444var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 11445var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 11446 11447// @@match logic 11448fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { 11449 return [ 11450 // `String.prototype.match` method 11451 // https://tc39.github.io/ecma262/#sec-string.prototype.match 11452 function match(regexp) { 11453 var O = requireObjectCoercible(this); 11454 var matcher = regexp == undefined ? undefined : regexp[MATCH]; 11455 return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); 11456 }, 11457 // `RegExp.prototype[@@match]` method 11458 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match 11459 function (regexp) { 11460 var res = maybeCallNative(nativeMatch, regexp, this); 11461 if (res.done) return res.value; 11462 11463 var rx = anObject(regexp); 11464 var S = String(this); 11465 11466 if (!rx.global) return regExpExec(rx, S); 11467 11468 var fullUnicode = rx.unicode; 11469 rx.lastIndex = 0; 11470 var A = []; 11471 var n = 0; 11472 var result; 11473 while ((result = regExpExec(rx, S)) !== null) { 11474 var matchStr = String(result[0]); 11475 A[n] = matchStr; 11476 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 11477 n++; 11478 } 11479 return n === 0 ? null : A; 11480 } 11481 ]; 11482}); 11483 11484 11485/***/ }), 11486
vendor: 1,051 bytes, lines 11487-11510
11487/***/ "./node_modules/core-js/modules/es.string.pad-end.js": 11488/*!***********************************************************!*\ 11489 !*** ./node_modules/core-js/modules/es.string.pad-end.js ***! 11490 \***********************************************************/ 11491/*! no static exports found */ 11492/***/ (function(module, exports, __webpack_require__) { 11493 11494"use strict"; 11495 11496var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11497var $padEnd = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").end; 11498var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js"); 11499 11500// `String.prototype.padEnd` method 11501// https://tc39.github.io/ecma262/#sec-string.prototype.padend 11502$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { 11503 padEnd: function padEnd(maxLength /* , fillString = ' ' */) { 11504 return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 11505 } 11506}); 11507 11508 11509/***/ }), 11510
vendor: 1,073 bytes, lines 11511-11534
11511/***/ "./node_modules/core-js/modules/es.string.pad-start.js": 11512/*!*************************************************************!*\ 11513 !*** ./node_modules/core-js/modules/es.string.pad-start.js ***! 11514 \*************************************************************/ 11515/*! no static exports found */ 11516/***/ (function(module, exports, __webpack_require__) { 11517 11518"use strict"; 11519 11520var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11521var $padStart = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").start; 11522var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js"); 11523 11524// `String.prototype.padStart` method 11525// https://tc39.github.io/ecma262/#sec-string.prototype.padstart 11526$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { 11527 padStart: function padStart(maxLength /* , fillString = ' ' */) { 11528 return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 11529 } 11530}); 11531 11532 11533/***/ }), 11534
vendor: 1,219 bytes, lines 11535-11564
11535/***/ "./node_modules/core-js/modules/es.string.raw.js": 11536/*!*******************************************************!*\ 11537 !*** ./node_modules/core-js/modules/es.string.raw.js ***! 11538 \*******************************************************/ 11539/*! no static exports found */ 11540/***/ (function(module, exports, __webpack_require__) { 11541 11542var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11543var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 11544var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11545 11546// `String.raw` method 11547// https://tc39.github.io/ecma262/#sec-string.raw 11548$({ target: 'String', stat: true }, { 11549 raw: function raw(template) { 11550 var rawTemplate = toIndexedObject(template.raw); 11551 var literalSegments = toLength(rawTemplate.length); 11552 var argumentsLength = arguments.length; 11553 var elements = []; 11554 var i = 0; 11555 while (literalSegments > i) { 11556 elements.push(String(rawTemplate[i++])); 11557 if (i < argumentsLength) elements.push(String(arguments[i])); 11558 } return elements.join(''); 11559 } 11560}); 11561 11562 11563/***/ }), 11564
vendor: 735 bytes, lines 11565-11583
11565/***/ "./node_modules/core-js/modules/es.string.repeat.js": 11566/*!**********************************************************!*\ 11567 !*** ./node_modules/core-js/modules/es.string.repeat.js ***! 11568 \**********************************************************/ 11569/*! no static exports found */ 11570/***/ (function(module, exports, __webpack_require__) { 11571 11572var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11573var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js"); 11574 11575// `String.prototype.repeat` method 11576// https://tc39.github.io/ecma262/#sec-string.prototype.repeat 11577$({ target: 'String', proto: true }, { 11578 repeat: repeat 11579}); 11580 11581 11582/***/ }), 11583
vendor: 2,779 bytes, lines 11584-11645
11584/***/ "./node_modules/core-js/modules/es.string.replace-all.js": 11585/*!***************************************************************!*\ 11586 !*** ./node_modules/core-js/modules/es.string.replace-all.js ***! 11587 \***************************************************************/ 11588/*! no static exports found */ 11589/***/ (function(module, exports, __webpack_require__) { 11590 11591"use strict"; 11592 11593var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11594var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11595var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 11596var getRegExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 11597var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 11598var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 11599 11600var REPLACE = wellKnownSymbol('replace'); 11601var RegExpPrototype = RegExp.prototype; 11602 11603// `String.prototype.replaceAll` method 11604// https://github.com/tc39/proposal-string-replace-all 11605$({ target: 'String', proto: true }, { 11606 replaceAll: function replaceAll(searchValue, replaceValue) { 11607 var O = requireObjectCoercible(this); 11608 var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index; 11609 if (searchValue != null) { 11610 IS_REG_EXP = isRegExp(searchValue); 11611 if (IS_REG_EXP) { 11612 flags = String(requireObjectCoercible('flags' in RegExpPrototype 11613 ? searchValue.flags 11614 : getRegExpFlags.call(searchValue) 11615 )); 11616 if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); 11617 } 11618 replacer = searchValue[REPLACE]; 11619 if (replacer !== undefined) { 11620 return replacer.call(searchValue, O, replaceValue); 11621 } else if (IS_PURE && IS_REG_EXP) { 11622 return String(O).replace(searchValue, replaceValue); 11623 } 11624 } 11625 string = String(O); 11626 searchString = String(searchValue); 11627 if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue); 11628 template = string.split(searchString); 11629 if (typeof replaceValue !== 'function') { 11630 return template.join(String(replaceValue)); 11631 } 11632 result = template[0]; 11633 position = result.length; 11634 for (index = 1; index < template.length; index++) { 11635 result += String(replaceValue(searchString, position, string)); 11636 position += searchString.length + template[index].length; 11637 result += template[index]; 11638 } 11639 return result; 11640 } 11641}); 11642 11643 11644/***/ }), 11645
vendor: 6,340 bytes, lines 11646-11792
11646/***/ "./node_modules/core-js/modules/es.string.replace.js": 11647/*!***********************************************************!*\ 11648 !*** ./node_modules/core-js/modules/es.string.replace.js ***! 11649 \***********************************************************/ 11650/*! no static exports found */ 11651/***/ (function(module, exports, __webpack_require__) { 11652 11653"use strict"; 11654 11655var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 11656var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 11657var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 11658var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11659var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js"); 11660var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11661var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 11662var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 11663 11664var max = Math.max; 11665var min = Math.min; 11666var floor = Math.floor; 11667var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; 11668var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; 11669 11670var maybeToString = function (it) { 11671 return it === undefined ? it : String(it); 11672}; 11673 11674// @@replace logic 11675fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { 11676 var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; 11677 var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; 11678 var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; 11679 11680 return [ 11681 // `String.prototype.replace` method 11682 // https://tc39.github.io/ecma262/#sec-string.prototype.replace 11683 function replace(searchValue, replaceValue) { 11684 var O = requireObjectCoercible(this); 11685 var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; 11686 return replacer !== undefined 11687 ? replacer.call(searchValue, O, replaceValue) 11688 : nativeReplace.call(String(O), searchValue, replaceValue); 11689 }, 11690 // `RegExp.prototype[@@replace]` method 11691 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace 11692 function (regexp, replaceValue) { 11693 if ( 11694 (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || 11695 (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) 11696 ) { 11697 var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); 11698 if (res.done) return res.value; 11699 } 11700 11701 var rx = anObject(regexp); 11702 var S = String(this); 11703 11704 var functionalReplace = typeof replaceValue === 'function'; 11705 if (!functionalReplace) replaceValue = String(replaceValue); 11706 11707 var global = rx.global; 11708 if (global) { 11709 var fullUnicode = rx.unicode; 11710 rx.lastIndex = 0; 11711 } 11712 var results = []; 11713 while (true) { 11714 var result = regExpExec(rx, S); 11715 if (result === null) break; 11716 11717 results.push(result); 11718 if (!global) break; 11719 11720 var matchStr = String(result[0]); 11721 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 11722 } 11723 11724 var accumulatedResult = ''; 11725 var nextSourcePosition = 0; 11726 for (var i = 0; i < results.length; i++) { 11727 result = results[i]; 11728 11729 var matched = String(result[0]); 11730 var position = max(min(toInteger(result.index), S.length), 0); 11731 var captures = []; 11732 // NOTE: This is equivalent to 11733 // captures = result.slice(1).map(maybeToString) 11734 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 11735 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 11736 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 11737 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 11738 var namedCaptures = result.groups; 11739 if (functionalReplace) { 11740 var replacerArgs = [matched].concat(captures, position, S); 11741 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 11742 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 11743 } else { 11744 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 11745 } 11746 if (position >= nextSourcePosition) { 11747 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 11748 nextSourcePosition = position + matched.length; 11749 } 11750 } 11751 return accumulatedResult + S.slice(nextSourcePosition); 11752 } 11753 ]; 11754 11755 // https://tc39.github.io/ecma262/#sec-getsubstitution 11756 function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { 11757 var tailPos = position + matched.length; 11758 var m = captures.length; 11759 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 11760 if (namedCaptures !== undefined) { 11761 namedCaptures = toObject(namedCaptures); 11762 symbols = SUBSTITUTION_SYMBOLS; 11763 } 11764 return nativeReplace.call(replacement, symbols, function (match, ch) { 11765 var capture; 11766 switch (ch.charAt(0)) { 11767 case '$': return '$'; 11768 case '&': return matched; 11769 case '`': return str.slice(0, position); 11770 case "'": return str.slice(tailPos); 11771 case '<': 11772 capture = namedCaptures[ch.slice(1, -1)]; 11773 break; 11774 default: // \d\d? 11775 var n = +ch; 11776 if (n === 0) return match; 11777 if (n > m) { 11778 var f = floor(n / 10); 11779 if (f === 0) return match; 11780 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 11781 return match; 11782 } 11783 capture = captures[n - 1]; 11784 } 11785 return capture === undefined ? '' : capture; 11786 }); 11787 } 11788}); 11789 11790 11791/***/ }), 11792
vendor: 2,167 bytes, lines 11793-11838
11793/***/ "./node_modules/core-js/modules/es.string.search.js": 11794/*!**********************************************************!*\ 11795 !*** ./node_modules/core-js/modules/es.string.search.js ***! 11796 \**********************************************************/ 11797/*! no static exports found */ 11798/***/ (function(module, exports, __webpack_require__) { 11799 11800"use strict"; 11801 11802var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 11803var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 11804var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11805var sameValue = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js"); 11806var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 11807 11808// @@search logic 11809fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { 11810 return [ 11811 // `String.prototype.search` method 11812 // https://tc39.github.io/ecma262/#sec-string.prototype.search 11813 function search(regexp) { 11814 var O = requireObjectCoercible(this); 11815 var searcher = regexp == undefined ? undefined : regexp[SEARCH]; 11816 return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); 11817 }, 11818 // `RegExp.prototype[@@search]` method 11819 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search 11820 function (regexp) { 11821 var res = maybeCallNative(nativeSearch, regexp, this); 11822 if (res.done) return res.value; 11823 11824 var rx = anObject(regexp); 11825 var S = String(this); 11826 11827 var previousLastIndex = rx.lastIndex; 11828 if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; 11829 var result = regExpExec(rx, S); 11830 if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; 11831 return result === null ? -1 : result.index; 11832 } 11833 ]; 11834}); 11835 11836 11837/***/ }), 11838
vendor: 993 bytes, lines 11839-11862
11839/***/ "./node_modules/core-js/modules/es.string.small.js": 11840/*!*********************************************************!*\ 11841 !*** ./node_modules/core-js/modules/es.string.small.js ***! 11842 \*********************************************************/ 11843/*! no static exports found */ 11844/***/ (function(module, exports, __webpack_require__) { 11845 11846"use strict"; 11847 11848var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 11849var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 11850var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 11851 11852// `String.prototype.small` method 11853// https://tc39.github.io/ecma262/#sec-string.prototype.small 11854$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { 11855 small: function small() { 11856 return createHTML(this, 'small', '', ''); 11857 } 11858}); 11859 11860 11861/***/ }), 11862
vendor: 6,532 bytes, lines 11863-12008
11863/***/ "./node_modules/core-js/modules/es.string.split.js": 11864/*!*********************************************************!*\ 11865 !*** ./node_modules/core-js/modules/es.string.split.js ***! 11866 \*********************************************************/ 11867/*! no static exports found */ 11868/***/ (function(module, exports, __webpack_require__) { 11869 11870"use strict"; 11871 11872var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 11873var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 11874var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 11875var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 11876var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 11877var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 11878var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 11879var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 11880var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 11881var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 11882 11883var arrayPush = [].push; 11884var min = Math.min; 11885var MAX_UINT32 = 0xFFFFFFFF; 11886 11887// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError 11888var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); 11889 11890// @@split logic 11891fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { 11892 var internalSplit; 11893 if ( 11894 'abbc'.split(/(b)*/)[1] == 'c' || 11895 'test'.split(/(?:)/, -1).length != 4 || 11896 'ab'.split(/(?:ab)*/).length != 2 || 11897 '.'.split(/(.?)(.?)/).length != 4 || 11898 '.'.split(/()()/).length > 1 || 11899 ''.split(/.?/).length 11900 ) { 11901 // based on es5-shim implementation, need to rework it 11902 internalSplit = function (separator, limit) { 11903 var string = String(requireObjectCoercible(this)); 11904 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 11905 if (lim === 0) return []; 11906 if (separator === undefined) return [string]; 11907 // If `separator` is not a regex, use native split 11908 if (!isRegExp(separator)) { 11909 return nativeSplit.call(string, separator, lim); 11910 } 11911 var output = []; 11912 var flags = (separator.ignoreCase ? 'i' : '') + 11913 (separator.multiline ? 'm' : '') + 11914 (separator.unicode ? 'u' : '') + 11915 (separator.sticky ? 'y' : ''); 11916 var lastLastIndex = 0; 11917 // Make `global` and avoid `lastIndex` issues by working with a copy 11918 var separatorCopy = new RegExp(separator.source, flags + 'g'); 11919 var match, lastIndex, lastLength; 11920 while (match = regexpExec.call(separatorCopy, string)) { 11921 lastIndex = separatorCopy.lastIndex; 11922 if (lastIndex > lastLastIndex) { 11923 output.push(string.slice(lastLastIndex, match.index)); 11924 if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); 11925 lastLength = match[0].length; 11926 lastLastIndex = lastIndex; 11927 if (output.length >= lim) break; 11928 } 11929 if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop 11930 } 11931 if (lastLastIndex === string.length) { 11932 if (lastLength || !separatorCopy.test('')) output.push(''); 11933 } else output.push(string.slice(lastLastIndex)); 11934 return output.length > lim ? output.slice(0, lim) : output; 11935 }; 11936 // Chakra, V8 11937 } else if ('0'.split(undefined, 0).length) { 11938 internalSplit = function (separator, limit) { 11939 return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); 11940 }; 11941 } else internalSplit = nativeSplit; 11942 11943 return [ 11944 // `String.prototype.split` method 11945 // https://tc39.github.io/ecma262/#sec-string.prototype.split 11946 function split(separator, limit) { 11947 var O = requireObjectCoercible(this); 11948 var splitter = separator == undefined ? undefined : separator[SPLIT]; 11949 return splitter !== undefined 11950 ? splitter.call(separator, O, limit) 11951 : internalSplit.call(String(O), separator, limit); 11952 }, 11953 // `RegExp.prototype[@@split]` method 11954 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split 11955 // 11956 // NOTE: This cannot be properly polyfilled in engines that don't support 11957 // the 'y' flag. 11958 function (regexp, limit) { 11959 var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); 11960 if (res.done) return res.value; 11961 11962 var rx = anObject(regexp); 11963 var S = String(this); 11964 var C = speciesConstructor(rx, RegExp); 11965 11966 var unicodeMatching = rx.unicode; 11967 var flags = (rx.ignoreCase ? 'i' : '') + 11968 (rx.multiline ? 'm' : '') + 11969 (rx.unicode ? 'u' : '') + 11970 (SUPPORTS_Y ? 'y' : 'g'); 11971 11972 // ^(? + rx + ) is needed, in combination with some S slicing, to 11973 // simulate the 'y' flag. 11974 var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); 11975 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 11976 if (lim === 0) return []; 11977 if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; 11978 var p = 0; 11979 var q = 0; 11980 var A = []; 11981 while (q < S.length) { 11982 splitter.lastIndex = SUPPORTS_Y ? q : 0; 11983 var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); 11984 var e; 11985 if ( 11986 z === null || 11987 (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p 11988 ) { 11989 q = advanceStringIndex(S, q, unicodeMatching); 11990 } else { 11991 A.push(S.slice(p, q)); 11992 if (A.length === lim) return A; 11993 for (var i = 1; i <= z.length - 1; i++) { 11994 A.push(z[i]); 11995 if (A.length === lim) return A; 11996 } 11997 q = p = e; 11998 } 11999 } 12000 A.push(S.slice(p)); 12001 return A; 12002 } 12003 ]; 12004}, !SUPPORTS_Y); 12005 12006 12007/***/ }), 12008
vendor: 2,350 bytes, lines 12009-12052
12009/***/ "./node_modules/core-js/modules/es.string.starts-with.js": 12010/*!***************************************************************!*\ 12011 !*** ./node_modules/core-js/modules/es.string.starts-with.js ***! 12012 \***************************************************************/ 12013/*! no static exports found */ 12014/***/ (function(module, exports, __webpack_require__) { 12015 12016"use strict"; 12017 12018var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12019var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 12020var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 12021var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); 12022var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 12023var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); 12024var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 12025 12026var nativeStartsWith = ''.startsWith; 12027var min = Math.min; 12028 12029var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); 12030// https://github.com/zloirock/core-js/pull/702 12031var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { 12032 var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); 12033 return descriptor && !descriptor.writable; 12034}(); 12035 12036// `String.prototype.startsWith` method 12037// https://tc39.github.io/ecma262/#sec-string.prototype.startswith 12038$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { 12039 startsWith: function startsWith(searchString /* , position = 0 */) { 12040 var that = String(requireObjectCoercible(this)); 12041 notARegExp(searchString); 12042 var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); 12043 var search = String(searchString); 12044 return nativeStartsWith 12045 ? nativeStartsWith.call(that, search, index) 12046 : that.slice(index, index + search.length) === search; 12047 } 12048}); 12049 12050 12051/***/ }), 12052
vendor: 1,003 bytes, lines 12053-12076
12053/***/ "./node_modules/core-js/modules/es.string.strike.js": 12054/*!**********************************************************!*\ 12055 !*** ./node_modules/core-js/modules/es.string.strike.js ***! 12056 \**********************************************************/ 12057/*! no static exports found */ 12058/***/ (function(module, exports, __webpack_require__) { 12059 12060"use strict"; 12061 12062var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12063var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 12064var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 12065 12066// `String.prototype.strike` method 12067// https://tc39.github.io/ecma262/#sec-string.prototype.strike 12068$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { 12069 strike: function strike() { 12070 return createHTML(this, 'strike', '', ''); 12071 } 12072}); 12073 12074 12075/***/ }), 12076
vendor: 973 bytes, lines 12077-12100
12077/***/ "./node_modules/core-js/modules/es.string.sub.js": 12078/*!*******************************************************!*\ 12079 !*** ./node_modules/core-js/modules/es.string.sub.js ***! 12080 \*******************************************************/ 12081/*! no static exports found */ 12082/***/ (function(module, exports, __webpack_require__) { 12083 12084"use strict"; 12085 12086var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12087var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 12088var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 12089 12090// `String.prototype.sub` method 12091// https://tc39.github.io/ecma262/#sec-string.prototype.sub 12092$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { 12093 sub: function sub() { 12094 return createHTML(this, 'sub', '', ''); 12095 } 12096}); 12097 12098 12099/***/ }), 12100
vendor: 973 bytes, lines 12101-12124
12101/***/ "./node_modules/core-js/modules/es.string.sup.js": 12102/*!*******************************************************!*\ 12103 !*** ./node_modules/core-js/modules/es.string.sup.js ***! 12104 \*******************************************************/ 12105/*! no static exports found */ 12106/***/ (function(module, exports, __webpack_require__) { 12107 12108"use strict"; 12109 12110var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12111var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js"); 12112var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js"); 12113 12114// `String.prototype.sup` method 12115// https://tc39.github.io/ecma262/#sec-string.prototype.sup 12116$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { 12117 sup: function sup() { 12118 return createHTML(this, 'sup', '', ''); 12119 } 12120}); 12121 12122 12123/***/ }), 12124
vendor: 1,097 bytes, lines 12125-12153
12125/***/ "./node_modules/core-js/modules/es.string.trim-end.js": 12126/*!************************************************************!*\ 12127 !*** ./node_modules/core-js/modules/es.string.trim-end.js ***! 12128 \************************************************************/ 12129/*! no static exports found */ 12130/***/ (function(module, exports, __webpack_require__) { 12131 12132"use strict"; 12133 12134var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12135var $trimEnd = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").end; 12136var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); 12137 12138var FORCED = forcedStringTrimMethod('trimEnd'); 12139 12140var trimEnd = FORCED ? function trimEnd() { 12141 return $trimEnd(this); 12142} : ''.trimEnd; 12143 12144// `String.prototype.{ trimEnd, trimRight }` methods 12145// https://github.com/tc39/ecmascript-string-left-right-trim 12146$({ target: 'String', proto: true, forced: FORCED }, { 12147 trimEnd: trimEnd, 12148 trimRight: trimEnd 12149}); 12150 12151 12152/***/ }), 12153
vendor: 1,125 bytes, lines 12154-12182
12154/***/ "./node_modules/core-js/modules/es.string.trim-start.js": 12155/*!**************************************************************!*\ 12156 !*** ./node_modules/core-js/modules/es.string.trim-start.js ***! 12157 \**************************************************************/ 12158/*! no static exports found */ 12159/***/ (function(module, exports, __webpack_require__) { 12160 12161"use strict"; 12162 12163var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12164var $trimStart = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").start; 12165var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); 12166 12167var FORCED = forcedStringTrimMethod('trimStart'); 12168 12169var trimStart = FORCED ? function trimStart() { 12170 return $trimStart(this); 12171} : ''.trimStart; 12172 12173// `String.prototype.{ trimStart, trimLeft }` methods 12174// https://github.com/tc39/ecmascript-string-left-right-trim 12175$({ target: 'String', proto: true, forced: FORCED }, { 12176 trimStart: trimStart, 12177 trimLeft: trimStart 12178}); 12179 12180 12181/***/ }), 12182
vendor: 962 bytes, lines 12183-12206
12183/***/ "./node_modules/core-js/modules/es.string.trim.js": 12184/*!********************************************************!*\ 12185 !*** ./node_modules/core-js/modules/es.string.trim.js ***! 12186 \********************************************************/ 12187/*! no static exports found */ 12188/***/ (function(module, exports, __webpack_require__) { 12189 12190"use strict"; 12191 12192var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12193var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 12194var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js"); 12195 12196// `String.prototype.trim` method 12197// https://tc39.github.io/ecma262/#sec-string.prototype.trim 12198$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { 12199 trim: function trim() { 12200 return $trim(this); 12201 } 12202}); 12203 12204 12205/***/ }), 12206
vendor: 687 bytes, lines 12207-12222
12207/***/ "./node_modules/core-js/modules/es.symbol.async-iterator.js": 12208/*!******************************************************************!*\ 12209 !*** ./node_modules/core-js/modules/es.symbol.async-iterator.js ***! 12210 \******************************************************************/ 12211/*! no static exports found */ 12212/***/ (function(module, exports, __webpack_require__) { 12213 12214var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12215 12216// `Symbol.asyncIterator` well-known symbol 12217// https://tc39.github.io/ecma262/#sec-symbol.asynciterator 12218defineWellKnownSymbol('asyncIterator'); 12219 12220 12221/***/ }), 12222
vendor: 2,978 bytes, lines 12223-12284
12223/***/ "./node_modules/core-js/modules/es.symbol.description.js": 12224/*!***************************************************************!*\ 12225 !*** ./node_modules/core-js/modules/es.symbol.description.js ***! 12226 \***************************************************************/ 12227/*! no static exports found */ 12228/***/ (function(module, exports, __webpack_require__) { 12229 12230"use strict"; 12231// `Symbol.prototype.description` getter 12232// https://tc39.github.io/ecma262/#sec-symbol.prototype.description 12233 12234var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12235var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 12236var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 12237var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 12238var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 12239var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 12240var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); 12241 12242var NativeSymbol = global.Symbol; 12243 12244if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || 12245 // Safari 12 bug 12246 NativeSymbol().description !== undefined 12247)) { 12248 var EmptyStringDescriptionStore = {}; 12249 // wrap Symbol constructor for correct work with undefined description 12250 var SymbolWrapper = function Symbol() { 12251 var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); 12252 var result = this instanceof SymbolWrapper 12253 ? new NativeSymbol(description) 12254 // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' 12255 : description === undefined ? NativeSymbol() : NativeSymbol(description); 12256 if (description === '') EmptyStringDescriptionStore[result] = true; 12257 return result; 12258 }; 12259 copyConstructorProperties(SymbolWrapper, NativeSymbol); 12260 var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; 12261 symbolPrototype.constructor = SymbolWrapper; 12262 12263 var symbolToString = symbolPrototype.toString; 12264 var native = String(NativeSymbol('test')) == 'Symbol(test)'; 12265 var regexp = /^Symbol\((.*)\)[^)]+$/; 12266 defineProperty(symbolPrototype, 'description', { 12267 configurable: true, 12268 get: function description() { 12269 var symbol = isObject(this) ? this.valueOf() : this; 12270 var string = symbolToString.call(symbol); 12271 if (has(EmptyStringDescriptionStore, symbol)) return ''; 12272 var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); 12273 return desc === '' ? undefined : desc; 12274 } 12275 }); 12276 12277 $({ global: true, forced: true }, { 12278 Symbol: SymbolWrapper 12279 }); 12280} 12281 12282 12283/***/ }), 12284
vendor: 673 bytes, lines 12285-12300
12285/***/ "./node_modules/core-js/modules/es.symbol.has-instance.js": 12286/*!****************************************************************!*\ 12287 !*** ./node_modules/core-js/modules/es.symbol.has-instance.js ***! 12288 \****************************************************************/ 12289/*! no static exports found */ 12290/***/ (function(module, exports, __webpack_require__) { 12291 12292var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12293 12294// `Symbol.hasInstance` well-known symbol 12295// https://tc39.github.io/ecma262/#sec-symbol.hasinstance 12296defineWellKnownSymbol('hasInstance'); 12297 12298 12299/***/ }), 12300
vendor: 726 bytes, lines 12301-12316
12301/***/ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js": 12302/*!************************************************************************!*\ 12303 !*** ./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js ***! 12304 \************************************************************************/ 12305/*! no static exports found */ 12306/***/ (function(module, exports, __webpack_require__) { 12307 12308var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12309 12310// `Symbol.isConcatSpreadable` well-known symbol 12311// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable 12312defineWellKnownSymbol('isConcatSpreadable'); 12313 12314 12315/***/ }), 12316
vendor: 648 bytes, lines 12317-12332
12317/***/ "./node_modules/core-js/modules/es.symbol.iterator.js": 12318/*!************************************************************!*\ 12319 !*** ./node_modules/core-js/modules/es.symbol.iterator.js ***! 12320 \************************************************************/ 12321/*! no static exports found */ 12322/***/ (function(module, exports, __webpack_require__) { 12323 12324var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12325 12326// `Symbol.iterator` well-known symbol 12327// https://tc39.github.io/ecma262/#sec-symbol.iterator 12328defineWellKnownSymbol('iterator'); 12329 12330 12331/***/ }), 12332
vendor: 16,014 bytes, lines 12333-12655
12333/***/ "./node_modules/core-js/modules/es.symbol.js": 12334/*!***************************************************!*\ 12335 !*** ./node_modules/core-js/modules/es.symbol.js ***! 12336 \***************************************************/ 12337/*! no static exports found */ 12338/***/ (function(module, exports, __webpack_require__) { 12339 12340"use strict"; 12341 12342var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 12343var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 12344var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 12345var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 12346var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 12347var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); 12348var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); 12349var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 12350var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 12351var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 12352var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 12353var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 12354var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 12355var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 12356var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 12357var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 12358var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 12359var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 12360var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); 12361var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js"); 12362var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); 12363var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 12364var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 12365var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); 12366var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 12367var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 12368var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 12369var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 12370var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 12371var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 12372var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 12373var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js"); 12374var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12375var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 12376var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 12377var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; 12378 12379var HIDDEN = sharedKey('hidden'); 12380var SYMBOL = 'Symbol'; 12381var PROTOTYPE = 'prototype'; 12382var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 12383var setInternalState = InternalStateModule.set; 12384var getInternalState = InternalStateModule.getterFor(SYMBOL); 12385var ObjectPrototype = Object[PROTOTYPE]; 12386var $Symbol = global.Symbol; 12387var $stringify = getBuiltIn('JSON', 'stringify'); 12388var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 12389var nativeDefineProperty = definePropertyModule.f; 12390var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; 12391var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; 12392var AllSymbols = shared('symbols'); 12393var ObjectPrototypeSymbols = shared('op-symbols'); 12394var StringToSymbolRegistry = shared('string-to-symbol-registry'); 12395var SymbolToStringRegistry = shared('symbol-to-string-registry'); 12396var WellKnownSymbolsStore = shared('wks'); 12397var QObject = global.QObject; 12398// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 12399var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; 12400 12401// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 12402var setSymbolDescriptor = DESCRIPTORS && fails(function () { 12403 return nativeObjectCreate(nativeDefineProperty({}, 'a', { 12404 get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } 12405 })).a != 7; 12406}) ? function (O, P, Attributes) { 12407 var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); 12408 if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; 12409 nativeDefineProperty(O, P, Attributes); 12410 if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { 12411 nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); 12412 } 12413} : nativeDefineProperty; 12414 12415var wrap = function (tag, description) { 12416 var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); 12417 setInternalState(symbol, { 12418 type: SYMBOL, 12419 tag: tag, 12420 description: description 12421 }); 12422 if (!DESCRIPTORS) symbol.description = description; 12423 return symbol; 12424}; 12425 12426var isSymbol = USE_SYMBOL_AS_UID ? function (it) { 12427 return typeof it == 'symbol'; 12428} : function (it) { 12429 return Object(it) instanceof $Symbol; 12430}; 12431 12432var $defineProperty = function defineProperty(O, P, Attributes) { 12433 if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); 12434 anObject(O); 12435 var key = toPrimitive(P, true); 12436 anObject(Attributes); 12437 if (has(AllSymbols, key)) { 12438 if (!Attributes.enumerable) { 12439 if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); 12440 O[HIDDEN][key] = true; 12441 } else { 12442 if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; 12443 Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); 12444 } return setSymbolDescriptor(O, key, Attributes); 12445 } return nativeDefineProperty(O, key, Attributes); 12446}; 12447 12448var $defineProperties = function defineProperties(O, Properties) { 12449 anObject(O); 12450 var properties = toIndexedObject(Properties); 12451 var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); 12452 $forEach(keys, function (key) { 12453 if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); 12454 }); 12455 return O; 12456}; 12457 12458var $create = function create(O, Properties) { 12459 return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); 12460}; 12461 12462var $propertyIsEnumerable = function propertyIsEnumerable(V) { 12463 var P = toPrimitive(V, true); 12464 var enumerable = nativePropertyIsEnumerable.call(this, P); 12465 if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; 12466 return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; 12467}; 12468 12469var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { 12470 var it = toIndexedObject(O); 12471 var key = toPrimitive(P, true); 12472 if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; 12473 var descriptor = nativeGetOwnPropertyDescriptor(it, key); 12474 if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { 12475 descriptor.enumerable = true; 12476 } 12477 return descriptor; 12478}; 12479 12480var $getOwnPropertyNames = function getOwnPropertyNames(O) { 12481 var names = nativeGetOwnPropertyNames(toIndexedObject(O)); 12482 var result = []; 12483 $forEach(names, function (key) { 12484 if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); 12485 }); 12486 return result; 12487}; 12488 12489var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { 12490 var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; 12491 var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); 12492 var result = []; 12493 $forEach(names, function (key) { 12494 if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { 12495 result.push(AllSymbols[key]); 12496 } 12497 }); 12498 return result; 12499}; 12500 12501// `Symbol` constructor 12502// https://tc39.github.io/ecma262/#sec-symbol-constructor 12503if (!NATIVE_SYMBOL) { 12504 $Symbol = function Symbol() { 12505 if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); 12506 var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); 12507 var tag = uid(description); 12508 var setter = function (value) { 12509 if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); 12510 if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; 12511 setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); 12512 }; 12513 if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); 12514 return wrap(tag, description); 12515 }; 12516 12517 redefine($Symbol[PROTOTYPE], 'toString', function toString() { 12518 return getInternalState(this).tag; 12519 }); 12520 12521 redefine($Symbol, 'withoutSetter', function (description) { 12522 return wrap(uid(description), description); 12523 }); 12524 12525 propertyIsEnumerableModule.f = $propertyIsEnumerable; 12526 definePropertyModule.f = $defineProperty; 12527 getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; 12528 getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; 12529 getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; 12530 12531 wrappedWellKnownSymbolModule.f = function (name) { 12532 return wrap(wellKnownSymbol(name), name); 12533 }; 12534 12535 if (DESCRIPTORS) { 12536 // https://github.com/tc39/proposal-Symbol-description 12537 nativeDefineProperty($Symbol[PROTOTYPE], 'description', { 12538 configurable: true, 12539 get: function description() { 12540 return getInternalState(this).description; 12541 } 12542 }); 12543 if (!IS_PURE) { 12544 redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); 12545 } 12546 } 12547} 12548 12549$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { 12550 Symbol: $Symbol 12551}); 12552 12553$forEach(objectKeys(WellKnownSymbolsStore), function (name) { 12554 defineWellKnownSymbol(name); 12555}); 12556 12557$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { 12558 // `Symbol.for` method 12559 // https://tc39.github.io/ecma262/#sec-symbol.for 12560 'for': function (key) { 12561 var string = String(key); 12562 if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; 12563 var symbol = $Symbol(string); 12564 StringToSymbolRegistry[string] = symbol; 12565 SymbolToStringRegistry[symbol] = string; 12566 return symbol; 12567 }, 12568 // `Symbol.keyFor` method 12569 // https://tc39.github.io/ecma262/#sec-symbol.keyfor 12570 keyFor: function keyFor(sym) { 12571 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); 12572 if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; 12573 }, 12574 useSetter: function () { USE_SETTER = true; }, 12575 useSimple: function () { USE_SETTER = false; } 12576}); 12577 12578$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { 12579 // `Object.create` method 12580 // https://tc39.github.io/ecma262/#sec-object.create 12581 create: $create, 12582 // `Object.defineProperty` method 12583 // https://tc39.github.io/ecma262/#sec-object.defineproperty 12584 defineProperty: $defineProperty, 12585 // `Object.defineProperties` method 12586 // https://tc39.github.io/ecma262/#sec-object.defineproperties 12587 defineProperties: $defineProperties, 12588 // `Object.getOwnPropertyDescriptor` method 12589 // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors 12590 getOwnPropertyDescriptor: $getOwnPropertyDescriptor 12591}); 12592 12593$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { 12594 // `Object.getOwnPropertyNames` method 12595 // https://tc39.github.io/ecma262/#sec-object.getownpropertynames 12596 getOwnPropertyNames: $getOwnPropertyNames, 12597 // `Object.getOwnPropertySymbols` method 12598 // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols 12599 getOwnPropertySymbols: $getOwnPropertySymbols 12600}); 12601 12602// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives 12603// https://bugs.chromium.org/p/v8/issues/detail?id=3443 12604$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { 12605 getOwnPropertySymbols: function getOwnPropertySymbols(it) { 12606 return getOwnPropertySymbolsModule.f(toObject(it)); 12607 } 12608}); 12609 12610// `JSON.stringify` method behavior with symbols 12611// https://tc39.github.io/ecma262/#sec-json.stringify 12612if ($stringify) { 12613 var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { 12614 var symbol = $Symbol(); 12615 // MS Edge converts symbol values to JSON as {} 12616 return $stringify([symbol]) != '[null]' 12617 // WebKit converts symbol values to JSON as null 12618 || $stringify({ a: symbol }) != '{}' 12619 // V8 throws on boxed symbols 12620 || $stringify(Object(symbol)) != '{}'; 12621 }); 12622 12623 $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { 12624 // eslint-disable-next-line no-unused-vars 12625 stringify: function stringify(it, replacer, space) { 12626 var args = [it]; 12627 var index = 1; 12628 var $replacer; 12629 while (arguments.length > index) args.push(arguments[index++]); 12630 $replacer = replacer; 12631 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined 12632 if (!isArray(replacer)) replacer = function (key, value) { 12633 if (typeof $replacer == 'function') value = $replacer.call(this, key, value); 12634 if (!isSymbol(value)) return value; 12635 }; 12636 args[1] = replacer; 12637 return $stringify.apply(null, args); 12638 } 12639 }); 12640} 12641 12642// `Symbol.prototype[@@toPrimitive]` method 12643// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive 12644if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { 12645 createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); 12646} 12647// `Symbol.prototype[@@toStringTag]` property 12648// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag 12649setToStringTag($Symbol, SYMBOL); 12650 12651hiddenKeys[HIDDEN] = true; 12652 12653 12654/***/ }), 12655
vendor: 597 bytes, lines 12656-12670
12656/***/ "./node_modules/core-js/modules/es.symbol.match-all.js": 12657/*!*************************************************************!*\ 12658 !*** ./node_modules/core-js/modules/es.symbol.match-all.js ***! 12659 \*************************************************************/ 12660/*! no static exports found */ 12661/***/ (function(module, exports, __webpack_require__) { 12662 12663var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12664 12665// `Symbol.matchAll` well-known symbol 12666defineWellKnownSymbol('matchAll'); 12667 12668 12669/***/ }), 12670
vendor: 627 bytes, lines 12671-12686
12671/***/ "./node_modules/core-js/modules/es.symbol.match.js": 12672/*!*********************************************************!*\ 12673 !*** ./node_modules/core-js/modules/es.symbol.match.js ***! 12674 \*********************************************************/ 12675/*! no static exports found */ 12676/***/ (function(module, exports, __webpack_require__) { 12677 12678var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12679 12680// `Symbol.match` well-known symbol 12681// https://tc39.github.io/ecma262/#sec-symbol.match 12682defineWellKnownSymbol('match'); 12683 12684 12685/***/ }), 12686
vendor: 641 bytes, lines 12687-12702
12687/***/ "./node_modules/core-js/modules/es.symbol.replace.js": 12688/*!***********************************************************!*\ 12689 !*** ./node_modules/core-js/modules/es.symbol.replace.js ***! 12690 \***********************************************************/ 12691/*! no static exports found */ 12692/***/ (function(module, exports, __webpack_require__) { 12693 12694var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12695 12696// `Symbol.replace` well-known symbol 12697// https://tc39.github.io/ecma262/#sec-symbol.replace 12698defineWellKnownSymbol('replace'); 12699 12700 12701/***/ }), 12702
vendor: 634 bytes, lines 12703-12718
12703/***/ "./node_modules/core-js/modules/es.symbol.search.js": 12704/*!**********************************************************!*\ 12705 !*** ./node_modules/core-js/modules/es.symbol.search.js ***! 12706 \**********************************************************/ 12707/*! no static exports found */ 12708/***/ (function(module, exports, __webpack_require__) { 12709 12710var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12711 12712// `Symbol.search` well-known symbol 12713// https://tc39.github.io/ecma262/#sec-symbol.search 12714defineWellKnownSymbol('search'); 12715 12716 12717/***/ }), 12718
vendor: 641 bytes, lines 12719-12734
12719/***/ "./node_modules/core-js/modules/es.symbol.species.js": 12720/*!***********************************************************!*\ 12721 !*** ./node_modules/core-js/modules/es.symbol.species.js ***! 12722 \***********************************************************/ 12723/*! no static exports found */ 12724/***/ (function(module, exports, __webpack_require__) { 12725 12726var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12727 12728// `Symbol.species` well-known symbol 12729// https://tc39.github.io/ecma262/#sec-symbol.species 12730defineWellKnownSymbol('species'); 12731 12732 12733/***/ }), 12734
vendor: 627 bytes, lines 12735-12750
12735/***/ "./node_modules/core-js/modules/es.symbol.split.js": 12736/*!*********************************************************!*\ 12737 !*** ./node_modules/core-js/modules/es.symbol.split.js ***! 12738 \*********************************************************/ 12739/*! no static exports found */ 12740/***/ (function(module, exports, __webpack_require__) { 12741 12742var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12743 12744// `Symbol.split` well-known symbol 12745// https://tc39.github.io/ecma262/#sec-symbol.split 12746defineWellKnownSymbol('split'); 12747 12748 12749/***/ }), 12750
vendor: 673 bytes, lines 12751-12766
12751/***/ "./node_modules/core-js/modules/es.symbol.to-primitive.js": 12752/*!****************************************************************!*\ 12753 !*** ./node_modules/core-js/modules/es.symbol.to-primitive.js ***! 12754 \****************************************************************/ 12755/*! no static exports found */ 12756/***/ (function(module, exports, __webpack_require__) { 12757 12758var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12759 12760// `Symbol.toPrimitive` well-known symbol 12761// https://tc39.github.io/ecma262/#sec-symbol.toprimitive 12762defineWellKnownSymbol('toPrimitive'); 12763 12764 12765/***/ }), 12766
vendor: 677 bytes, lines 12767-12782
12767/***/ "./node_modules/core-js/modules/es.symbol.to-string-tag.js": 12768/*!*****************************************************************!*\ 12769 !*** ./node_modules/core-js/modules/es.symbol.to-string-tag.js ***! 12770 \*****************************************************************/ 12771/*! no static exports found */ 12772/***/ (function(module, exports, __webpack_require__) { 12773 12774var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12775 12776// `Symbol.toStringTag` well-known symbol 12777// https://tc39.github.io/ecma262/#sec-symbol.tostringtag 12778defineWellKnownSymbol('toStringTag'); 12779 12780 12781/***/ }), 12782
vendor: 669 bytes, lines 12783-12798
12783/***/ "./node_modules/core-js/modules/es.symbol.unscopables.js": 12784/*!***************************************************************!*\ 12785 !*** ./node_modules/core-js/modules/es.symbol.unscopables.js ***! 12786 \***************************************************************/ 12787/*! no static exports found */ 12788/***/ (function(module, exports, __webpack_require__) { 12789 12790var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js"); 12791 12792// `Symbol.unscopables` well-known symbol 12793// https://tc39.github.io/ecma262/#sec-symbol.unscopables 12794defineWellKnownSymbol('unscopables'); 12795 12796 12797/***/ }), 12798
vendor: 1,138 bytes, lines 12799-12822
12799/***/ "./node_modules/core-js/modules/es.typed-array.copy-within.js": 12800/*!********************************************************************!*\ 12801 !*** ./node_modules/core-js/modules/es.typed-array.copy-within.js ***! 12802 \********************************************************************/ 12803/*! no static exports found */ 12804/***/ (function(module, exports, __webpack_require__) { 12805 12806"use strict"; 12807 12808var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12809var $copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js"); 12810 12811var aTypedArray = ArrayBufferViewCore.aTypedArray; 12812var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12813 12814// `%TypedArray%.prototype.copyWithin` method 12815// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin 12816exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { 12817 return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 12818}); 12819 12820 12821/***/ }), 12822
vendor: 1,079 bytes, lines 12823-12846
12823/***/ "./node_modules/core-js/modules/es.typed-array.every.js": 12824/*!**************************************************************!*\ 12825 !*** ./node_modules/core-js/modules/es.typed-array.every.js ***! 12826 \**************************************************************/ 12827/*! no static exports found */ 12828/***/ (function(module, exports, __webpack_require__) { 12829 12830"use strict"; 12831 12832var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12833var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every; 12834 12835var aTypedArray = ArrayBufferViewCore.aTypedArray; 12836var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12837 12838// `%TypedArray%.prototype.every` method 12839// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every 12840exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { 12841 return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 12842}); 12843 12844 12845/***/ }), 12846
vendor: 1,050 bytes, lines 12847-12871
12847/***/ "./node_modules/core-js/modules/es.typed-array.fill.js": 12848/*!*************************************************************!*\ 12849 !*** ./node_modules/core-js/modules/es.typed-array.fill.js ***! 12850 \*************************************************************/ 12851/*! no static exports found */ 12852/***/ (function(module, exports, __webpack_require__) { 12853 12854"use strict"; 12855 12856var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12857var $fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js"); 12858 12859var aTypedArray = ArrayBufferViewCore.aTypedArray; 12860var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12861 12862// `%TypedArray%.prototype.fill` method 12863// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill 12864// eslint-disable-next-line no-unused-vars 12865exportTypedArrayMethod('fill', function fill(value /* , start, end */) { 12866 return $fill.apply(aTypedArray(this), arguments); 12867}); 12868 12869 12870/***/ }), 12871
vendor: 1,540 bytes, lines 12872-12903
12872/***/ "./node_modules/core-js/modules/es.typed-array.filter.js": 12873/*!***************************************************************!*\ 12874 !*** ./node_modules/core-js/modules/es.typed-array.filter.js ***! 12875 \***************************************************************/ 12876/*! no static exports found */ 12877/***/ (function(module, exports, __webpack_require__) { 12878 12879"use strict"; 12880 12881var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12882var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter; 12883var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 12884 12885var aTypedArray = ArrayBufferViewCore.aTypedArray; 12886var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 12887var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12888 12889// `%TypedArray%.prototype.filter` method 12890// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter 12891exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { 12892 var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 12893 var C = speciesConstructor(this, this.constructor); 12894 var index = 0; 12895 var length = list.length; 12896 var result = new (aTypedArrayConstructor(C))(length); 12897 while (length > index) result[index] = list[index++]; 12898 return result; 12899}); 12900 12901 12902/***/ }), 12903
vendor: 1,125 bytes, lines 12904-12927
12904/***/ "./node_modules/core-js/modules/es.typed-array.find-index.js": 12905/*!*******************************************************************!*\ 12906 !*** ./node_modules/core-js/modules/es.typed-array.find-index.js ***! 12907 \*******************************************************************/ 12908/*! no static exports found */ 12909/***/ (function(module, exports, __webpack_require__) { 12910 12911"use strict"; 12912 12913var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12914var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex; 12915 12916var aTypedArray = ArrayBufferViewCore.aTypedArray; 12917var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12918 12919// `%TypedArray%.prototype.findIndex` method 12920// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex 12921exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { 12922 return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 12923}); 12924 12925 12926/***/ }), 12927
vendor: 1,066 bytes, lines 12928-12951
12928/***/ "./node_modules/core-js/modules/es.typed-array.find.js": 12929/*!*************************************************************!*\ 12930 !*** ./node_modules/core-js/modules/es.typed-array.find.js ***! 12931 \*************************************************************/ 12932/*! no static exports found */ 12933/***/ (function(module, exports, __webpack_require__) { 12934 12935"use strict"; 12936 12937var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 12938var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find; 12939 12940var aTypedArray = ArrayBufferViewCore.aTypedArray; 12941var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 12942 12943// `%TypedArray%.prototype.find` method 12944// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find 12945exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { 12946 return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 12947}); 12948 12949 12950/***/ }), 12951
vendor: 825 bytes, lines 12952-12971
12952/***/ "./node_modules/core-js/modules/es.typed-array.float32-array.js": 12953/*!**********************************************************************!*\ 12954 !*** ./node_modules/core-js/modules/es.typed-array.float32-array.js ***! 12955 \**********************************************************************/ 12956/*! no static exports found */ 12957/***/ (function(module, exports, __webpack_require__) { 12958 12959var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 12960 12961// `Float32Array` constructor 12962// https://tc39.github.io/ecma262/#sec-typedarray-objects 12963createTypedArrayConstructor('Float32', function (init) { 12964 return function Float32Array(data, byteOffset, length) { 12965 return init(this, data, byteOffset, length); 12966 }; 12967}); 12968 12969 12970/***/ }), 12971
vendor: 825 bytes, lines 12972-12991
12972/***/ "./node_modules/core-js/modules/es.typed-array.float64-array.js": 12973/*!**********************************************************************!*\ 12974 !*** ./node_modules/core-js/modules/es.typed-array.float64-array.js ***! 12975 \**********************************************************************/ 12976/*! no static exports found */ 12977/***/ (function(module, exports, __webpack_require__) { 12978 12979var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 12980 12981// `Float64Array` constructor 12982// https://tc39.github.io/ecma262/#sec-typedarray-objects 12983createTypedArrayConstructor('Float64', function (init) { 12984 return function Float64Array(data, byteOffset, length) { 12985 return init(this, data, byteOffset, length); 12986 }; 12987}); 12988 12989 12990/***/ }), 12991
vendor: 1,098 bytes, lines 12992-13015
12992/***/ "./node_modules/core-js/modules/es.typed-array.for-each.js": 12993/*!*****************************************************************!*\ 12994 !*** ./node_modules/core-js/modules/es.typed-array.for-each.js ***! 12995 \*****************************************************************/ 12996/*! no static exports found */ 12997/***/ (function(module, exports, __webpack_require__) { 12998 12999"use strict"; 13000 13001var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13002var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach; 13003 13004var aTypedArray = ArrayBufferViewCore.aTypedArray; 13005var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13006 13007// `%TypedArray%.prototype.forEach` method 13008// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach 13009exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { 13010 $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13011}); 13012 13013 13014/***/ }), 13015
vendor: 1,105 bytes, lines 13016-13035
13016/***/ "./node_modules/core-js/modules/es.typed-array.from.js": 13017/*!*************************************************************!*\ 13018 !*** ./node_modules/core-js/modules/es.typed-array.from.js ***! 13019 \*************************************************************/ 13020/*! no static exports found */ 13021/***/ (function(module, exports, __webpack_require__) { 13022 13023"use strict"; 13024 13025var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); 13026var exportTypedArrayStaticMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayStaticMethod; 13027var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js"); 13028 13029// `%TypedArray%.from` method 13030// https://tc39.github.io/ecma262/#sec-%typedarray%.from 13031exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); 13032 13033 13034/***/ }), 13035
vendor: 1,118 bytes, lines 13036-13059
13036/***/ "./node_modules/core-js/modules/es.typed-array.includes.js": 13037/*!*****************************************************************!*\ 13038 !*** ./node_modules/core-js/modules/es.typed-array.includes.js ***! 13039 \*****************************************************************/ 13040/*! no static exports found */ 13041/***/ (function(module, exports, __webpack_require__) { 13042 13043"use strict"; 13044 13045var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13046var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes; 13047 13048var aTypedArray = ArrayBufferViewCore.aTypedArray; 13049var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13050 13051// `%TypedArray%.prototype.includes` method 13052// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes 13053exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { 13054 return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 13055}); 13056 13057 13058/***/ }), 13059
vendor: 1,111 bytes, lines 13060-13083
13060/***/ "./node_modules/core-js/modules/es.typed-array.index-of.js": 13061/*!*****************************************************************!*\ 13062 !*** ./node_modules/core-js/modules/es.typed-array.index-of.js ***! 13063 \*****************************************************************/ 13064/*! no static exports found */ 13065/***/ (function(module, exports, __webpack_require__) { 13066 13067"use strict"; 13068 13069var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13070var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; 13071 13072var aTypedArray = ArrayBufferViewCore.aTypedArray; 13073var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13074 13075// `%TypedArray%.prototype.indexOf` method 13076// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof 13077exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { 13078 return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 13079}); 13080 13081 13082/***/ }), 13083
vendor: 811 bytes, lines 13084-13103
13084/***/ "./node_modules/core-js/modules/es.typed-array.int16-array.js": 13085/*!********************************************************************!*\ 13086 !*** ./node_modules/core-js/modules/es.typed-array.int16-array.js ***! 13087 \********************************************************************/ 13088/*! no static exports found */ 13089/***/ (function(module, exports, __webpack_require__) { 13090 13091var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13092 13093// `Int16Array` constructor 13094// https://tc39.github.io/ecma262/#sec-typedarray-objects 13095createTypedArrayConstructor('Int16', function (init) { 13096 return function Int16Array(data, byteOffset, length) { 13097 return init(this, data, byteOffset, length); 13098 }; 13099}); 13100 13101 13102/***/ }), 13103
vendor: 811 bytes, lines 13104-13123
13104/***/ "./node_modules/core-js/modules/es.typed-array.int32-array.js": 13105/*!********************************************************************!*\ 13106 !*** ./node_modules/core-js/modules/es.typed-array.int32-array.js ***! 13107 \********************************************************************/ 13108/*! no static exports found */ 13109/***/ (function(module, exports, __webpack_require__) { 13110 13111var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13112 13113// `Int32Array` constructor 13114// https://tc39.github.io/ecma262/#sec-typedarray-objects 13115createTypedArrayConstructor('Int32', function (init) { 13116 return function Int32Array(data, byteOffset, length) { 13117 return init(this, data, byteOffset, length); 13118 }; 13119}); 13120 13121 13122/***/ }), 13123
vendor: 804 bytes, lines 13124-13143
13124/***/ "./node_modules/core-js/modules/es.typed-array.int8-array.js": 13125/*!*******************************************************************!*\ 13126 !*** ./node_modules/core-js/modules/es.typed-array.int8-array.js ***! 13127 \*******************************************************************/ 13128/*! no static exports found */ 13129/***/ (function(module, exports, __webpack_require__) { 13130 13131var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13132 13133// `Int8Array` constructor 13134// https://tc39.github.io/ecma262/#sec-typedarray-objects 13135createTypedArrayConstructor('Int8', function (init) { 13136 return function Int8Array(data, byteOffset, length) { 13137 return init(this, data, byteOffset, length); 13138 }; 13139}); 13140 13141 13142/***/ }), 13143
vendor: 2,368 bytes, lines 13144-13193
13144/***/ "./node_modules/core-js/modules/es.typed-array.iterator.js": 13145/*!*****************************************************************!*\ 13146 !*** ./node_modules/core-js/modules/es.typed-array.iterator.js ***! 13147 \*****************************************************************/ 13148/*! no static exports found */ 13149/***/ (function(module, exports, __webpack_require__) { 13150 13151"use strict"; 13152 13153var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13154var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13155var ArrayIterators = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); 13156var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 13157 13158var ITERATOR = wellKnownSymbol('iterator'); 13159var Uint8Array = global.Uint8Array; 13160var arrayValues = ArrayIterators.values; 13161var arrayKeys = ArrayIterators.keys; 13162var arrayEntries = ArrayIterators.entries; 13163var aTypedArray = ArrayBufferViewCore.aTypedArray; 13164var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13165var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; 13166 13167var CORRECT_ITER_NAME = !!nativeTypedArrayIterator 13168 && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); 13169 13170var typedArrayValues = function values() { 13171 return arrayValues.call(aTypedArray(this)); 13172}; 13173 13174// `%TypedArray%.prototype.entries` method 13175// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries 13176exportTypedArrayMethod('entries', function entries() { 13177 return arrayEntries.call(aTypedArray(this)); 13178}); 13179// `%TypedArray%.prototype.keys` method 13180// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys 13181exportTypedArrayMethod('keys', function keys() { 13182 return arrayKeys.call(aTypedArray(this)); 13183}); 13184// `%TypedArray%.prototype.values` method 13185// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values 13186exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME); 13187// `%TypedArray%.prototype[@@iterator]` method 13188// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator 13189exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); 13190 13191 13192/***/ }), 13193
vendor: 942 bytes, lines 13194-13218
13194/***/ "./node_modules/core-js/modules/es.typed-array.join.js": 13195/*!*************************************************************!*\ 13196 !*** ./node_modules/core-js/modules/es.typed-array.join.js ***! 13197 \*************************************************************/ 13198/*! no static exports found */ 13199/***/ (function(module, exports, __webpack_require__) { 13200 13201"use strict"; 13202 13203var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13204 13205var aTypedArray = ArrayBufferViewCore.aTypedArray; 13206var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13207var $join = [].join; 13208 13209// `%TypedArray%.prototype.join` method 13210// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join 13211// eslint-disable-next-line no-unused-vars 13212exportTypedArrayMethod('join', function join(separator) { 13213 return $join.apply(aTypedArray(this), arguments); 13214}); 13215 13216 13217/***/ }), 13218
vendor: 1,153 bytes, lines 13219-13243
13219/***/ "./node_modules/core-js/modules/es.typed-array.last-index-of.js": 13220/*!**********************************************************************!*\ 13221 !*** ./node_modules/core-js/modules/es.typed-array.last-index-of.js ***! 13222 \**********************************************************************/ 13223/*! no static exports found */ 13224/***/ (function(module, exports, __webpack_require__) { 13225 13226"use strict"; 13227 13228var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13229var $lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js"); 13230 13231var aTypedArray = ArrayBufferViewCore.aTypedArray; 13232var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13233 13234// `%TypedArray%.prototype.lastIndexOf` method 13235// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof 13236// eslint-disable-next-line no-unused-vars 13237exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { 13238 return $lastIndexOf.apply(aTypedArray(this), arguments); 13239}); 13240 13241 13242/***/ }), 13243
vendor: 1,380 bytes, lines 13244-13271
13244/***/ "./node_modules/core-js/modules/es.typed-array.map.js": 13245/*!************************************************************!*\ 13246 !*** ./node_modules/core-js/modules/es.typed-array.map.js ***! 13247 \************************************************************/ 13248/*! no static exports found */ 13249/***/ (function(module, exports, __webpack_require__) { 13250 13251"use strict"; 13252 13253var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13254var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map; 13255var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 13256 13257var aTypedArray = ArrayBufferViewCore.aTypedArray; 13258var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 13259var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13260 13261// `%TypedArray%.prototype.map` method 13262// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map 13263exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { 13264 return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { 13265 return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); 13266 }); 13267}); 13268 13269 13270/***/ }), 13271
vendor: 1,281 bytes, lines 13272-13299
13272/***/ "./node_modules/core-js/modules/es.typed-array.of.js": 13273/*!***********************************************************!*\ 13274 !*** ./node_modules/core-js/modules/es.typed-array.of.js ***! 13275 \***********************************************************/ 13276/*! no static exports found */ 13277/***/ (function(module, exports, __webpack_require__) { 13278 13279"use strict"; 13280 13281var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13282var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js"); 13283 13284var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 13285var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; 13286 13287// `%TypedArray%.of` method 13288// https://tc39.github.io/ecma262/#sec-%typedarray%.of 13289exportTypedArrayStaticMethod('of', function of(/* ...items */) { 13290 var index = 0; 13291 var length = arguments.length; 13292 var result = new (aTypedArrayConstructor(this))(length); 13293 while (length > index) result[index] = arguments[index++]; 13294 return result; 13295}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); 13296 13297 13298/***/ }), 13299
vendor: 1,160 bytes, lines 13300-13323
13300/***/ "./node_modules/core-js/modules/es.typed-array.reduce-right.js": 13301/*!*********************************************************************!*\ 13302 !*** ./node_modules/core-js/modules/es.typed-array.reduce-right.js ***! 13303 \*********************************************************************/ 13304/*! no static exports found */ 13305/***/ (function(module, exports, __webpack_require__) { 13306 13307"use strict"; 13308 13309var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13310var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right; 13311 13312var aTypedArray = ArrayBufferViewCore.aTypedArray; 13313var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13314 13315// `%TypedArray%.prototype.reduceRicht` method 13316// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright 13317exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { 13318 return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 13319}); 13320 13321 13322/***/ }), 13323
vendor: 1,105 bytes, lines 13324-13347
13324/***/ "./node_modules/core-js/modules/es.typed-array.reduce.js": 13325/*!***************************************************************!*\ 13326 !*** ./node_modules/core-js/modules/es.typed-array.reduce.js ***! 13327 \***************************************************************/ 13328/*! no static exports found */ 13329/***/ (function(module, exports, __webpack_require__) { 13330 13331"use strict"; 13332 13333var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13334var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left; 13335 13336var aTypedArray = ArrayBufferViewCore.aTypedArray; 13337var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13338 13339// `%TypedArray%.prototype.reduce` method 13340// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce 13341exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { 13342 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 13343}); 13344 13345 13346/***/ }), 13347
vendor: 1,120 bytes, lines 13348-13380
13348/***/ "./node_modules/core-js/modules/es.typed-array.reverse.js": 13349/*!****************************************************************!*\ 13350 !*** ./node_modules/core-js/modules/es.typed-array.reverse.js ***! 13351 \****************************************************************/ 13352/*! no static exports found */ 13353/***/ (function(module, exports, __webpack_require__) { 13354 13355"use strict"; 13356 13357var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13358 13359var aTypedArray = ArrayBufferViewCore.aTypedArray; 13360var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13361var floor = Math.floor; 13362 13363// `%TypedArray%.prototype.reverse` method 13364// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse 13365exportTypedArrayMethod('reverse', function reverse() { 13366 var that = this; 13367 var length = aTypedArray(that).length; 13368 var middle = floor(length / 2); 13369 var index = 0; 13370 var value; 13371 while (index < middle) { 13372 value = that[index]; 13373 that[index++] = that[--length]; 13374 that[length] = value; 13375 } return that; 13376}); 13377 13378 13379/***/ }), 13380
vendor: 1,727 bytes, lines 13381-13419
13381/***/ "./node_modules/core-js/modules/es.typed-array.set.js": 13382/*!************************************************************!*\ 13383 !*** ./node_modules/core-js/modules/es.typed-array.set.js ***! 13384 \************************************************************/ 13385/*! no static exports found */ 13386/***/ (function(module, exports, __webpack_require__) { 13387 13388"use strict"; 13389 13390var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13391var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 13392var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js"); 13393var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 13394var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 13395 13396var aTypedArray = ArrayBufferViewCore.aTypedArray; 13397var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13398 13399var FORCED = fails(function () { 13400 // eslint-disable-next-line no-undef 13401 new Int8Array(1).set({}); 13402}); 13403 13404// `%TypedArray%.prototype.set` method 13405// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set 13406exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { 13407 aTypedArray(this); 13408 var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); 13409 var length = this.length; 13410 var src = toObject(arrayLike); 13411 var len = toLength(src.length); 13412 var index = 0; 13413 if (len + offset > length) throw RangeError('Wrong length'); 13414 while (index < len) this[offset + index] = src[index++]; 13415}, FORCED); 13416 13417 13418/***/ }), 13419
vendor: 1,578 bytes, lines 13420-13457
13420/***/ "./node_modules/core-js/modules/es.typed-array.slice.js": 13421/*!**************************************************************!*\ 13422 !*** ./node_modules/core-js/modules/es.typed-array.slice.js ***! 13423 \**************************************************************/ 13424/*! no static exports found */ 13425/***/ (function(module, exports, __webpack_require__) { 13426 13427"use strict"; 13428 13429var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13430var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 13431var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 13432 13433var aTypedArray = ArrayBufferViewCore.aTypedArray; 13434var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 13435var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13436var $slice = [].slice; 13437 13438var FORCED = fails(function () { 13439 // eslint-disable-next-line no-undef 13440 new Int8Array(1).slice(); 13441}); 13442 13443// `%TypedArray%.prototype.slice` method 13444// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice 13445exportTypedArrayMethod('slice', function slice(start, end) { 13446 var list = $slice.call(aTypedArray(this), start, end); 13447 var C = speciesConstructor(this, this.constructor); 13448 var index = 0; 13449 var length = list.length; 13450 var result = new (aTypedArrayConstructor(C))(length); 13451 while (length > index) result[index] = list[index++]; 13452 return result; 13453}, FORCED); 13454 13455 13456/***/ }), 13457
vendor: 1,068 bytes, lines 13458-13481
13458/***/ "./node_modules/core-js/modules/es.typed-array.some.js": 13459/*!*************************************************************!*\ 13460 !*** ./node_modules/core-js/modules/es.typed-array.some.js ***! 13461 \*************************************************************/ 13462/*! no static exports found */ 13463/***/ (function(module, exports, __webpack_require__) { 13464 13465"use strict"; 13466 13467var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13468var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some; 13469 13470var aTypedArray = ArrayBufferViewCore.aTypedArray; 13471var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13472 13473// `%TypedArray%.prototype.some` method 13474// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some 13475exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { 13476 return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13477}); 13478 13479 13480/***/ }), 13481
vendor: 898 bytes, lines 13482-13505
13482/***/ "./node_modules/core-js/modules/es.typed-array.sort.js": 13483/*!*************************************************************!*\ 13484 !*** ./node_modules/core-js/modules/es.typed-array.sort.js ***! 13485 \*************************************************************/ 13486/*! no static exports found */ 13487/***/ (function(module, exports, __webpack_require__) { 13488 13489"use strict"; 13490 13491var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13492 13493var aTypedArray = ArrayBufferViewCore.aTypedArray; 13494var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13495var $sort = [].sort; 13496 13497// `%TypedArray%.prototype.sort` method 13498// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort 13499exportTypedArrayMethod('sort', function sort(comparefn) { 13500 return $sort.call(aTypedArray(this), comparefn); 13501}); 13502 13503 13504/***/ }), 13505
vendor: 1,574 bytes, lines 13506-13538
13506/***/ "./node_modules/core-js/modules/es.typed-array.subarray.js": 13507/*!*****************************************************************!*\ 13508 !*** ./node_modules/core-js/modules/es.typed-array.subarray.js ***! 13509 \*****************************************************************/ 13510/*! no static exports found */ 13511/***/ (function(module, exports, __webpack_require__) { 13512 13513"use strict"; 13514 13515var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13516var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 13517var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 13518var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js"); 13519 13520var aTypedArray = ArrayBufferViewCore.aTypedArray; 13521var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13522 13523// `%TypedArray%.prototype.subarray` method 13524// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray 13525exportTypedArrayMethod('subarray', function subarray(begin, end) { 13526 var O = aTypedArray(this); 13527 var length = O.length; 13528 var beginIndex = toAbsoluteIndex(begin, length); 13529 return new (speciesConstructor(O, O.constructor))( 13530 O.buffer, 13531 O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, 13532 toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) 13533 ); 13534}); 13535 13536 13537/***/ }), 13538
vendor: 1,670 bytes, lines 13539-13577
13539/***/ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js": 13540/*!*************************************************************************!*\ 13541 !*** ./node_modules/core-js/modules/es.typed-array.to-locale-string.js ***! 13542 \*************************************************************************/ 13543/*! no static exports found */ 13544/***/ (function(module, exports, __webpack_require__) { 13545 13546"use strict"; 13547 13548var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13549var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js"); 13550var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 13551 13552var Int8Array = global.Int8Array; 13553var aTypedArray = ArrayBufferViewCore.aTypedArray; 13554var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 13555var $toLocaleString = [].toLocaleString; 13556var $slice = [].slice; 13557 13558// iOS Safari 6.x fails here 13559var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { 13560 $toLocaleString.call(new Int8Array(1)); 13561}); 13562 13563var FORCED = fails(function () { 13564 return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); 13565}) || !fails(function () { 13566 Int8Array.prototype.toLocaleString.call([1, 2]); 13567}); 13568 13569// `%TypedArray%.prototype.toLocaleString` method 13570// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring 13571exportTypedArrayMethod('toLocaleString', function toLocaleString() { 13572 return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); 13573}, FORCED); 13574 13575 13576/***/ }), 13577
vendor: 1,348 bytes, lines 13578-13610
13578/***/ "./node_modules/core-js/modules/es.typed-array.to-string.js": 13579/*!******************************************************************!*\ 13580 !*** ./node_modules/core-js/modules/es.typed-array.to-string.js ***! 13581 \******************************************************************/ 13582/*! no static exports found */ 13583/***/ (function(module, exports, __webpack_require__) { 13584 13585"use strict"; 13586 13587var exportTypedArrayMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayMethod; 13588var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 13589var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13590 13591var Uint8Array = global.Uint8Array; 13592var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; 13593var arrayToString = [].toString; 13594var arrayJoin = [].join; 13595 13596if (fails(function () { arrayToString.call({}); })) { 13597 arrayToString = function toString() { 13598 return arrayJoin.call(this); 13599 }; 13600} 13601 13602var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; 13603 13604// `%TypedArray%.prototype.toString` method 13605// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring 13606exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); 13607 13608 13609/***/ }), 13610
vendor: 818 bytes, lines 13611-13630
13611/***/ "./node_modules/core-js/modules/es.typed-array.uint16-array.js": 13612/*!*********************************************************************!*\ 13613 !*** ./node_modules/core-js/modules/es.typed-array.uint16-array.js ***! 13614 \*********************************************************************/ 13615/*! no static exports found */ 13616/***/ (function(module, exports, __webpack_require__) { 13617 13618var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13619 13620// `Uint16Array` constructor 13621// https://tc39.github.io/ecma262/#sec-typedarray-objects 13622createTypedArrayConstructor('Uint16', function (init) { 13623 return function Uint16Array(data, byteOffset, length) { 13624 return init(this, data, byteOffset, length); 13625 }; 13626}); 13627 13628 13629/***/ }), 13630
vendor: 818 bytes, lines 13631-13650
13631/***/ "./node_modules/core-js/modules/es.typed-array.uint32-array.js": 13632/*!*********************************************************************!*\ 13633 !*** ./node_modules/core-js/modules/es.typed-array.uint32-array.js ***! 13634 \*********************************************************************/ 13635/*! no static exports found */ 13636/***/ (function(module, exports, __webpack_require__) { 13637 13638var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13639 13640// `Uint32Array` constructor 13641// https://tc39.github.io/ecma262/#sec-typedarray-objects 13642createTypedArrayConstructor('Uint32', function (init) { 13643 return function Uint32Array(data, byteOffset, length) { 13644 return init(this, data, byteOffset, length); 13645 }; 13646}); 13647 13648 13649/***/ }), 13650
vendor: 811 bytes, lines 13651-13670
13651/***/ "./node_modules/core-js/modules/es.typed-array.uint8-array.js": 13652/*!********************************************************************!*\ 13653 !*** ./node_modules/core-js/modules/es.typed-array.uint8-array.js ***! 13654 \********************************************************************/ 13655/*! no static exports found */ 13656/***/ (function(module, exports, __webpack_require__) { 13657 13658var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13659 13660// `Uint8Array` constructor 13661// https://tc39.github.io/ecma262/#sec-typedarray-objects 13662createTypedArrayConstructor('Uint8', function (init) { 13663 return function Uint8Array(data, byteOffset, length) { 13664 return init(this, data, byteOffset, length); 13665 }; 13666}); 13667 13668 13669/***/ }), 13670
vendor: 863 bytes, lines 13671-13690
13671/***/ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js": 13672/*!****************************************************************************!*\ 13673 !*** ./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js ***! 13674 \****************************************************************************/ 13675/*! no static exports found */ 13676/***/ (function(module, exports, __webpack_require__) { 13677 13678var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js"); 13679 13680// `Uint8ClampedArray` constructor 13681// https://tc39.github.io/ecma262/#sec-typedarray-objects 13682createTypedArrayConstructor('Uint8', function (init) { 13683 return function Uint8ClampedArray(data, byteOffset, length) { 13684 return init(this, data, byteOffset, length); 13685 }; 13686}, true); 13687 13688 13689/***/ }), 13690
vendor: 3,691 bytes, lines 13691-13769
13691/***/ "./node_modules/core-js/modules/es.weak-map.js": 13692/*!*****************************************************!*\ 13693 !*** ./node_modules/core-js/modules/es.weak-map.js ***! 13694 \*****************************************************/ 13695/*! no static exports found */ 13696/***/ (function(module, exports, __webpack_require__) { 13697 13698"use strict"; 13699 13700var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13701var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 13702var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js"); 13703var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); 13704var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js"); 13705var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 13706var enforceIternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").enforce; 13707var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); 13708 13709var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; 13710var isExtensible = Object.isExtensible; 13711var InternalWeakMap; 13712 13713var wrapper = function (init) { 13714 return function WeakMap() { 13715 return init(this, arguments.length ? arguments[0] : undefined); 13716 }; 13717}; 13718 13719// `WeakMap` constructor 13720// https://tc39.github.io/ecma262/#sec-weakmap-constructor 13721var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); 13722 13723// IE11 WeakMap frozen keys fix 13724// We can't use feature detection because it crash some old IE builds 13725// https://github.com/zloirock/core-js/issues/485 13726if (NATIVE_WEAK_MAP && IS_IE11) { 13727 InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); 13728 InternalMetadataModule.REQUIRED = true; 13729 var WeakMapPrototype = $WeakMap.prototype; 13730 var nativeDelete = WeakMapPrototype['delete']; 13731 var nativeHas = WeakMapPrototype.has; 13732 var nativeGet = WeakMapPrototype.get; 13733 var nativeSet = WeakMapPrototype.set; 13734 redefineAll(WeakMapPrototype, { 13735 'delete': function (key) { 13736 if (isObject(key) && !isExtensible(key)) { 13737 var state = enforceIternalState(this); 13738 if (!state.frozen) state.frozen = new InternalWeakMap(); 13739 return nativeDelete.call(this, key) || state.frozen['delete'](key); 13740 } return nativeDelete.call(this, key); 13741 }, 13742 has: function has(key) { 13743 if (isObject(key) && !isExtensible(key)) { 13744 var state = enforceIternalState(this); 13745 if (!state.frozen) state.frozen = new InternalWeakMap(); 13746 return nativeHas.call(this, key) || state.frozen.has(key); 13747 } return nativeHas.call(this, key); 13748 }, 13749 get: function get(key) { 13750 if (isObject(key) && !isExtensible(key)) { 13751 var state = enforceIternalState(this); 13752 if (!state.frozen) state.frozen = new InternalWeakMap(); 13753 return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); 13754 } return nativeGet.call(this, key); 13755 }, 13756 set: function set(key, value) { 13757 if (isObject(key) && !isExtensible(key)) { 13758 var state = enforceIternalState(this); 13759 if (!state.frozen) state.frozen = new InternalWeakMap(); 13760 nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); 13761 } else nativeSet.call(this, key, value); 13762 return this; 13763 } 13764 }); 13765} 13766 13767 13768/***/ }), 13769
vendor: 841 bytes, lines 13770-13790
13770/***/ "./node_modules/core-js/modules/es.weak-set.js": 13771/*!*****************************************************!*\ 13772 !*** ./node_modules/core-js/modules/es.weak-set.js ***! 13773 \*****************************************************/ 13774/*! no static exports found */ 13775/***/ (function(module, exports, __webpack_require__) { 13776 13777"use strict"; 13778 13779var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js"); 13780var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js"); 13781 13782// `WeakSet` constructor 13783// https://tc39.github.io/ecma262/#sec-weakset-constructor 13784collection('WeakSet', function (init) { 13785 return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; 13786}, collectionWeak); 13787 13788 13789/***/ }), 13790
vendor: 1,378 bytes, lines 13791-13816
13791/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js": 13792/*!**********************************************************************!*\ 13793 !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***! 13794 \**********************************************************************/ 13795/*! no static exports found */ 13796/***/ (function(module, exports, __webpack_require__) { 13797 13798var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13799var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); 13800var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js"); 13801var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 13802 13803for (var COLLECTION_NAME in DOMIterables) { 13804 var Collection = global[COLLECTION_NAME]; 13805 var CollectionPrototype = Collection && Collection.prototype; 13806 // some Chrome versions have non-configurable methods on DOMTokenList 13807 if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { 13808 createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); 13809 } catch (error) { 13810 CollectionPrototype.forEach = forEach; 13811 } 13812} 13813 13814 13815/***/ }), 13816
vendor: 2,326 bytes, lines 13817-13860
13817/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js": 13818/*!**********************************************************************!*\ 13819 !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***! 13820 \**********************************************************************/ 13821/*! no static exports found */ 13822/***/ (function(module, exports, __webpack_require__) { 13823 13824var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13825var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js"); 13826var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); 13827var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 13828var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 13829 13830var ITERATOR = wellKnownSymbol('iterator'); 13831var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 13832var ArrayValues = ArrayIteratorMethods.values; 13833 13834for (var COLLECTION_NAME in DOMIterables) { 13835 var Collection = global[COLLECTION_NAME]; 13836 var CollectionPrototype = Collection && Collection.prototype; 13837 if (CollectionPrototype) { 13838 // some Chrome versions have non-configurable methods on DOMTokenList 13839 if (CollectionPrototype[ITERATOR] !== ArrayValues) try { 13840 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); 13841 } catch (error) { 13842 CollectionPrototype[ITERATOR] = ArrayValues; 13843 } 13844 if (!CollectionPrototype[TO_STRING_TAG]) { 13845 createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); 13846 } 13847 if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { 13848 // some Chrome versions have non-configurable methods on DOMTokenList 13849 if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { 13850 createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); 13851 } catch (error) { 13852 CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; 13853 } 13854 } 13855 } 13856} 13857 13858 13859/***/ }), 13860
vendor: 1,048 bytes, lines 13861-13886
13861/***/ "./node_modules/core-js/modules/web.immediate.js": 13862/*!*******************************************************!*\ 13863 !*** ./node_modules/core-js/modules/web.immediate.js ***! 13864 \*******************************************************/ 13865/*! no static exports found */ 13866/***/ (function(module, exports, __webpack_require__) { 13867 13868var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 13869var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13870var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js"); 13871 13872var FORCED = !global.setImmediate || !global.clearImmediate; 13873 13874// http://w3c.github.io/setImmediate/ 13875$({ global: true, bind: true, enumerable: true, forced: FORCED }, { 13876 // `setImmediate` method 13877 // http://w3c.github.io/setImmediate/#si-setImmediate 13878 setImmediate: task.set, 13879 // `clearImmediate` method 13880 // http://w3c.github.io/setImmediate/#si-clearImmediate 13881 clearImmediate: task.clear 13882}); 13883 13884 13885/***/ }), 13886
vendor: 1,167 bytes, lines 13887-13912
13887/***/ "./node_modules/core-js/modules/web.queue-microtask.js": 13888/*!*************************************************************!*\ 13889 !*** ./node_modules/core-js/modules/web.queue-microtask.js ***! 13890 \*************************************************************/ 13891/*! no static exports found */ 13892/***/ (function(module, exports, __webpack_require__) { 13893 13894var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 13895var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13896var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js"); 13897var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js"); 13898 13899var process = global.process; 13900 13901// `queueMicrotask` method 13902// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask 13903$({ global: true, enumerable: true, noTargetGet: true }, { 13904 queueMicrotask: function queueMicrotask(fn) { 13905 var domain = IS_NODE && process.domain; 13906 microtask(domain ? domain.bind(fn) : fn); 13907 } 13908}); 13909 13910 13911/***/ }), 13912
vendor: 1,667 bytes, lines 13913-13951
13913/***/ "./node_modules/core-js/modules/web.timers.js": 13914/*!****************************************************!*\ 13915 !*** ./node_modules/core-js/modules/web.timers.js ***! 13916 \****************************************************/ 13917/*! no static exports found */ 13918/***/ (function(module, exports, __webpack_require__) { 13919 13920var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 13921var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 13922var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); 13923 13924var slice = [].slice; 13925var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check 13926 13927var wrap = function (scheduler) { 13928 return function (handler, timeout /* , ...arguments */) { 13929 var boundArgs = arguments.length > 2; 13930 var args = boundArgs ? slice.call(arguments, 2) : undefined; 13931 return scheduler(boundArgs ? function () { 13932 // eslint-disable-next-line no-new-func 13933 (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); 13934 } : handler, timeout); 13935 }; 13936}; 13937 13938// ie9- setTimeout & setInterval additional parameters fix 13939// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers 13940$({ global: true, bind: true, forced: MSIE }, { 13941 // `setTimeout` method 13942 // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout 13943 setTimeout: wrap(global.setTimeout), 13944 // `setInterval` method 13945 // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval 13946 setInterval: wrap(global.setInterval) 13947}); 13948 13949 13950/***/ }), 13951
vendor: 13,638 bytes, lines 13952-14310
13952/***/ "./node_modules/core-js/modules/web.url-search-params.js": 13953/*!***************************************************************!*\ 13954 !*** ./node_modules/core-js/modules/web.url-search-params.js ***! 13955 \***************************************************************/ 13956/*! no static exports found */ 13957/***/ (function(module, exports, __webpack_require__) { 13958 13959"use strict"; 13960 13961// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 13962__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js"); 13963var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 13964var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 13965var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js"); 13966var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 13967var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js"); 13968var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 13969var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js"); 13970var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 13971var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 13972var hasOwn = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 13973var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 13974var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 13975var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 13976var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 13977var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 13978var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 13979var getIterator = __webpack_require__(/*! ../internals/get-iterator */ "./node_modules/core-js/internals/get-iterator.js"); 13980var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js"); 13981var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 13982 13983var $fetch = getBuiltIn('fetch'); 13984var Headers = getBuiltIn('Headers'); 13985var ITERATOR = wellKnownSymbol('iterator'); 13986var URL_SEARCH_PARAMS = 'URLSearchParams'; 13987var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; 13988var setInternalState = InternalStateModule.set; 13989var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); 13990var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); 13991 13992var plus = /\+/g; 13993var sequences = Array(4); 13994 13995var percentSequence = function (bytes) { 13996 return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); 13997}; 13998 13999var percentDecode = function (sequence) { 14000 try { 14001 return decodeURIComponent(sequence); 14002 } catch (error) { 14003 return sequence; 14004 } 14005}; 14006 14007var deserialize = function (it) { 14008 var result = it.replace(plus, ' '); 14009 var bytes = 4; 14010 try { 14011 return decodeURIComponent(result); 14012 } catch (error) { 14013 while (bytes) { 14014 result = result.replace(percentSequence(bytes--), percentDecode); 14015 } 14016 return result; 14017 } 14018}; 14019 14020var find = /[!'()~]|%20/g; 14021 14022var replace = { 14023 '!': '%21', 14024 "'": '%27', 14025 '(': '%28', 14026 ')': '%29', 14027 '~': '%7E', 14028 '%20': '+' 14029}; 14030 14031var replacer = function (match) { 14032 return replace[match]; 14033}; 14034 14035var serialize = function (it) { 14036 return encodeURIComponent(it).replace(find, replacer); 14037}; 14038 14039var parseSearchParams = function (result, query) { 14040 if (query) { 14041 var attributes = query.split('&'); 14042 var index = 0; 14043 var attribute, entry; 14044 while (index < attributes.length) { 14045 attribute = attributes[index++]; 14046 if (attribute.length) { 14047 entry = attribute.split('='); 14048 result.push({ 14049 key: deserialize(entry.shift()), 14050 value: deserialize(entry.join('=')) 14051 }); 14052 } 14053 } 14054 } 14055}; 14056 14057var updateSearchParams = function (query) { 14058 this.entries.length = 0; 14059 parseSearchParams(this.entries, query); 14060}; 14061 14062var validateArgumentsLength = function (passed, required) { 14063 if (passed < required) throw TypeError('Not enough arguments'); 14064}; 14065 14066var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { 14067 setInternalState(this, { 14068 type: URL_SEARCH_PARAMS_ITERATOR, 14069 iterator: getIterator(getInternalParamsState(params).entries), 14070 kind: kind 14071 }); 14072}, 'Iterator', function next() { 14073 var state = getInternalIteratorState(this); 14074 var kind = state.kind; 14075 var step = state.iterator.next(); 14076 var entry = step.value; 14077 if (!step.done) { 14078 step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; 14079 } return step; 14080}); 14081 14082// `URLSearchParams` constructor 14083// https://url.spec.whatwg.org/#interface-urlsearchparams 14084var URLSearchParamsConstructor = function URLSearchParams(/* init */) { 14085 anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); 14086 var init = arguments.length > 0 ? arguments[0] : undefined; 14087 var that = this; 14088 var entries = []; 14089 var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; 14090 14091 setInternalState(that, { 14092 type: URL_SEARCH_PARAMS, 14093 entries: entries, 14094 updateURL: function () { /* empty */ }, 14095 updateSearchParams: updateSearchParams 14096 }); 14097 14098 if (init !== undefined) { 14099 if (isObject(init)) { 14100 iteratorMethod = getIteratorMethod(init); 14101 if (typeof iteratorMethod === 'function') { 14102 iterator = iteratorMethod.call(init); 14103 next = iterator.next; 14104 while (!(step = next.call(iterator)).done) { 14105 entryIterator = getIterator(anObject(step.value)); 14106 entryNext = entryIterator.next; 14107 if ( 14108 (first = entryNext.call(entryIterator)).done || 14109 (second = entryNext.call(entryIterator)).done || 14110 !entryNext.call(entryIterator).done 14111 ) throw TypeError('Expected sequence with length 2'); 14112 entries.push({ key: first.value + '', value: second.value + '' }); 14113 } 14114 } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); 14115 } else { 14116 parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); 14117 } 14118 } 14119}; 14120 14121var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; 14122 14123redefineAll(URLSearchParamsPrototype, { 14124 // `URLSearchParams.prototype.append` method 14125 // https://url.spec.whatwg.org/#dom-urlsearchparams-append 14126 append: function append(name, value) { 14127 validateArgumentsLength(arguments.length, 2); 14128 var state = getInternalParamsState(this); 14129 state.entries.push({ key: name + '', value: value + '' }); 14130 state.updateURL(); 14131 }, 14132 // `URLSearchParams.prototype.delete` method 14133 // https://url.spec.whatwg.org/#dom-urlsearchparams-delete 14134 'delete': function (name) { 14135 validateArgumentsLength(arguments.length, 1); 14136 var state = getInternalParamsState(this); 14137 var entries = state.entries; 14138 var key = name + ''; 14139 var index = 0; 14140 while (index < entries.length) { 14141 if (entries[index].key === key) entries.splice(index, 1); 14142 else index++; 14143 } 14144 state.updateURL(); 14145 }, 14146 // `URLSearchParams.prototype.get` method 14147 // https://url.spec.whatwg.org/#dom-urlsearchparams-get 14148 get: function get(name) { 14149 validateArgumentsLength(arguments.length, 1); 14150 var entries = getInternalParamsState(this).entries; 14151 var key = name + ''; 14152 var index = 0; 14153 for (; index < entries.length; index++) { 14154 if (entries[index].key === key) return entries[index].value; 14155 } 14156 return null; 14157 }, 14158 // `URLSearchParams.prototype.getAll` method 14159 // https://url.spec.whatwg.org/#dom-urlsearchparams-getall 14160 getAll: function getAll(name) { 14161 validateArgumentsLength(arguments.length, 1); 14162 var entries = getInternalParamsState(this).entries; 14163 var key = name + ''; 14164 var result = []; 14165 var index = 0; 14166 for (; index < entries.length; index++) { 14167 if (entries[index].key === key) result.push(entries[index].value); 14168 } 14169 return result; 14170 }, 14171 // `URLSearchParams.prototype.has` method 14172 // https://url.spec.whatwg.org/#dom-urlsearchparams-has 14173 has: function has(name) { 14174 validateArgumentsLength(arguments.length, 1); 14175 var entries = getInternalParamsState(this).entries; 14176 var key = name + ''; 14177 var index = 0; 14178 while (index < entries.length) { 14179 if (entries[index++].key === key) return true; 14180 } 14181 return false; 14182 }, 14183 // `URLSearchParams.prototype.set` method 14184 // https://url.spec.whatwg.org/#dom-urlsearchparams-set 14185 set: function set(name, value) { 14186 validateArgumentsLength(arguments.length, 1); 14187 var state = getInternalParamsState(this); 14188 var entries = state.entries; 14189 var found = false; 14190 var key = name + ''; 14191 var val = value + ''; 14192 var index = 0; 14193 var entry; 14194 for (; index < entries.length; index++) { 14195 entry = entries[index]; 14196 if (entry.key === key) { 14197 if (found) entries.splice(index--, 1); 14198 else { 14199 found = true; 14200 entry.value = val; 14201 } 14202 } 14203 } 14204 if (!found) entries.push({ key: key, value: val }); 14205 state.updateURL(); 14206 }, 14207 // `URLSearchParams.prototype.sort` method 14208 // https://url.spec.whatwg.org/#dom-urlsearchparams-sort 14209 sort: function sort() { 14210 var state = getInternalParamsState(this); 14211 var entries = state.entries; 14212 // Array#sort is not stable in some engines 14213 var slice = entries.slice(); 14214 var entry, entriesIndex, sliceIndex; 14215 entries.length = 0; 14216 for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { 14217 entry = slice[sliceIndex]; 14218 for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { 14219 if (entries[entriesIndex].key > entry.key) { 14220 entries.splice(entriesIndex, 0, entry); 14221 break; 14222 } 14223 } 14224 if (entriesIndex === sliceIndex) entries.push(entry); 14225 } 14226 state.updateURL(); 14227 }, 14228 // `URLSearchParams.prototype.forEach` method 14229 forEach: function forEach(callback /* , thisArg */) { 14230 var entries = getInternalParamsState(this).entries; 14231 var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); 14232 var index = 0; 14233 var entry; 14234 while (index < entries.length) { 14235 entry = entries[index++]; 14236 boundFunction(entry.value, entry.key, this); 14237 } 14238 }, 14239 // `URLSearchParams.prototype.keys` method 14240 keys: function keys() { 14241 return new URLSearchParamsIterator(this, 'keys'); 14242 }, 14243 // `URLSearchParams.prototype.values` method 14244 values: function values() { 14245 return new URLSearchParamsIterator(this, 'values'); 14246 }, 14247 // `URLSearchParams.prototype.entries` method 14248 entries: function entries() { 14249 return new URLSearchParamsIterator(this, 'entries'); 14250 } 14251}, { enumerable: true }); 14252 14253// `URLSearchParams.prototype[@@iterator]` method 14254redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); 14255 14256// `URLSearchParams.prototype.toString` method 14257// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior 14258redefine(URLSearchParamsPrototype, 'toString', function toString() { 14259 var entries = getInternalParamsState(this).entries; 14260 var result = []; 14261 var index = 0; 14262 var entry; 14263 while (index < entries.length) { 14264 entry = entries[index++]; 14265 result.push(serialize(entry.key) + '=' + serialize(entry.value)); 14266 } return result.join('&'); 14267}, { enumerable: true }); 14268 14269setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); 14270 14271$({ global: true, forced: !USE_NATIVE_URL }, { 14272 URLSearchParams: URLSearchParamsConstructor 14273}); 14274 14275// Wrap `fetch` for correct work with polyfilled `URLSearchParams` 14276// https://github.com/zloirock/core-js/issues/674 14277if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { 14278 $({ global: true, enumerable: true, forced: true }, { 14279 fetch: function fetch(input /* , init */) { 14280 var args = [input]; 14281 var init, body, headers; 14282 if (arguments.length > 1) { 14283 init = arguments[1]; 14284 if (isObject(init)) { 14285 body = init.body; 14286 if (classof(body) === URL_SEARCH_PARAMS) { 14287 headers = init.headers ? new Headers(init.headers) : new Headers(); 14288 if (!headers.has('content-type')) { 14289 headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); 14290 } 14291 init = create(init, { 14292 body: createPropertyDescriptor(0, String(body)), 14293 headers: createPropertyDescriptor(0, headers) 14294 }); 14295 } 14296 } 14297 args.push(init); 14298 } return $fetch.apply(this, args); 14299 } 14300 }); 14301} 14302 14303module.exports = { 14304 URLSearchParams: URLSearchParamsConstructor, 14305 getState: getInternalParamsState 14306}; 14307 14308 14309/***/ }), 14310
vendor: 34,086 bytes, lines 14311-15329
14311/***/ "./node_modules/core-js/modules/web.url.js": 14312/*!*************************************************!*\ 14313 !*** ./node_modules/core-js/modules/web.url.js ***! 14314 \*************************************************/ 14315/*! no static exports found */ 14316/***/ (function(module, exports, __webpack_require__) { 14317 14318"use strict"; 14319 14320// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 14321__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js"); 14322var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 14323var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 14324var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js"); 14325var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 14326var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); 14327var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); 14328var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js"); 14329var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js"); 14330var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js"); 14331var arrayFrom = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js"); 14332var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt; 14333var toASCII = __webpack_require__(/*! ../internals/string-punycode-to-ascii */ "./node_modules/core-js/internals/string-punycode-to-ascii.js"); 14334var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js"); 14335var URLSearchParamsModule = __webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js"); 14336var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 14337 14338var NativeURL = global.URL; 14339var URLSearchParams = URLSearchParamsModule.URLSearchParams; 14340var getInternalSearchParamsState = URLSearchParamsModule.getState; 14341var setInternalState = InternalStateModule.set; 14342var getInternalURLState = InternalStateModule.getterFor('URL'); 14343var floor = Math.floor; 14344var pow = Math.pow; 14345 14346var INVALID_AUTHORITY = 'Invalid authority'; 14347var INVALID_SCHEME = 'Invalid scheme'; 14348var INVALID_HOST = 'Invalid host'; 14349var INVALID_PORT = 'Invalid port'; 14350 14351var ALPHA = /[A-Za-z]/; 14352var ALPHANUMERIC = /[\d+-.A-Za-z]/; 14353var DIGIT = /\d/; 14354var HEX_START = /^(0x|0X)/; 14355var OCT = /^[0-7]+$/; 14356var DEC = /^\d+$/; 14357var HEX = /^[\dA-Fa-f]+$/; 14358// eslint-disable-next-line no-control-regex 14359var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; 14360// eslint-disable-next-line no-control-regex 14361var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; 14362// eslint-disable-next-line no-control-regex 14363var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; 14364// eslint-disable-next-line no-control-regex 14365var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; 14366var EOF; 14367 14368var parseHost = function (url, input) { 14369 var result, codePoints, index; 14370 if (input.charAt(0) == '[') { 14371 if (input.charAt(input.length - 1) != ']') return INVALID_HOST; 14372 result = parseIPv6(input.slice(1, -1)); 14373 if (!result) return INVALID_HOST; 14374 url.host = result; 14375 // opaque host 14376 } else if (!isSpecial(url)) { 14377 if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; 14378 result = ''; 14379 codePoints = arrayFrom(input); 14380 for (index = 0; index < codePoints.length; index++) { 14381 result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); 14382 } 14383 url.host = result; 14384 } else { 14385 input = toASCII(input); 14386 if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; 14387 result = parseIPv4(input); 14388 if (result === null) return INVALID_HOST; 14389 url.host = result; 14390 } 14391}; 14392 14393var parseIPv4 = function (input) { 14394 var parts = input.split('.'); 14395 var partsLength, numbers, index, part, radix, number, ipv4; 14396 if (parts.length && parts[parts.length - 1] == '') { 14397 parts.pop(); 14398 } 14399 partsLength = parts.length; 14400 if (partsLength > 4) return input; 14401 numbers = []; 14402 for (index = 0; index < partsLength; index++) { 14403 part = parts[index]; 14404 if (part == '') return input; 14405 radix = 10; 14406 if (part.length > 1 && part.charAt(0) == '0') { 14407 radix = HEX_START.test(part) ? 16 : 8; 14408 part = part.slice(radix == 8 ? 1 : 2); 14409 } 14410 if (part === '') { 14411 number = 0; 14412 } else { 14413 if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; 14414 number = parseInt(part, radix); 14415 } 14416 numbers.push(number); 14417 } 14418 for (index = 0; index < partsLength; index++) { 14419 number = numbers[index]; 14420 if (index == partsLength - 1) { 14421 if (number >= pow(256, 5 - partsLength)) return null; 14422 } else if (number > 255) return null; 14423 } 14424 ipv4 = numbers.pop(); 14425 for (index = 0; index < numbers.length; index++) { 14426 ipv4 += numbers[index] * pow(256, 3 - index); 14427 } 14428 return ipv4; 14429}; 14430 14431// eslint-disable-next-line max-statements 14432var parseIPv6 = function (input) { 14433 var address = [0, 0, 0, 0, 0, 0, 0, 0]; 14434 var pieceIndex = 0; 14435 var compress = null; 14436 var pointer = 0; 14437 var value, length, numbersSeen, ipv4Piece, number, swaps, swap; 14438 14439 var char = function () { 14440 return input.charAt(pointer); 14441 }; 14442 14443 if (char() == ':') { 14444 if (input.charAt(1) != ':') return; 14445 pointer += 2; 14446 pieceIndex++; 14447 compress = pieceIndex; 14448 } 14449 while (char()) { 14450 if (pieceIndex == 8) return; 14451 if (char() == ':') { 14452 if (compress !== null) return; 14453 pointer++; 14454 pieceIndex++; 14455 compress = pieceIndex; 14456 continue; 14457 } 14458 value = length = 0; 14459 while (length < 4 && HEX.test(char())) { 14460 value = value * 16 + parseInt(char(), 16); 14461 pointer++; 14462 length++; 14463 } 14464 if (char() == '.') { 14465 if (length == 0) return; 14466 pointer -= length; 14467 if (pieceIndex > 6) return; 14468 numbersSeen = 0; 14469 while (char()) { 14470 ipv4Piece = null; 14471 if (numbersSeen > 0) { 14472 if (char() == '.' && numbersSeen < 4) pointer++; 14473 else return; 14474 } 14475 if (!DIGIT.test(char())) return; 14476 while (DIGIT.test(char())) { 14477 number = parseInt(char(), 10); 14478 if (ipv4Piece === null) ipv4Piece = number; 14479 else if (ipv4Piece == 0) return; 14480 else ipv4Piece = ipv4Piece * 10 + number; 14481 if (ipv4Piece > 255) return; 14482 pointer++; 14483 } 14484 address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; 14485 numbersSeen++; 14486 if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; 14487 } 14488 if (numbersSeen != 4) return; 14489 break; 14490 } else if (char() == ':') { 14491 pointer++; 14492 if (!char()) return; 14493 } else if (char()) return; 14494 address[pieceIndex++] = value; 14495 } 14496 if (compress !== null) { 14497 swaps = pieceIndex - compress; 14498 pieceIndex = 7; 14499 while (pieceIndex != 0 && swaps > 0) { 14500 swap = address[pieceIndex]; 14501 address[pieceIndex--] = address[compress + swaps - 1]; 14502 address[compress + --swaps] = swap; 14503 } 14504 } else if (pieceIndex != 8) return; 14505 return address; 14506}; 14507 14508var findLongestZeroSequence = function (ipv6) { 14509 var maxIndex = null; 14510 var maxLength = 1; 14511 var currStart = null; 14512 var currLength = 0; 14513 var index = 0; 14514 for (; index < 8; index++) { 14515 if (ipv6[index] !== 0) { 14516 if (currLength > maxLength) { 14517 maxIndex = currStart; 14518 maxLength = currLength; 14519 } 14520 currStart = null; 14521 currLength = 0; 14522 } else { 14523 if (currStart === null) currStart = index; 14524 ++currLength; 14525 } 14526 } 14527 if (currLength > maxLength) { 14528 maxIndex = currStart; 14529 maxLength = currLength; 14530 } 14531 return maxIndex; 14532}; 14533 14534var serializeHost = function (host) { 14535 var result, index, compress, ignore0; 14536 // ipv4 14537 if (typeof host == 'number') { 14538 result = []; 14539 for (index = 0; index < 4; index++) { 14540 result.unshift(host % 256); 14541 host = floor(host / 256); 14542 } return result.join('.'); 14543 // ipv6 14544 } else if (typeof host == 'object') { 14545 result = ''; 14546 compress = findLongestZeroSequence(host); 14547 for (index = 0; index < 8; index++) { 14548 if (ignore0 && host[index] === 0) continue; 14549 if (ignore0) ignore0 = false; 14550 if (compress === index) { 14551 result += index ? ':' : '::'; 14552 ignore0 = true; 14553 } else { 14554 result += host[index].toString(16); 14555 if (index < 7) result += ':'; 14556 } 14557 } 14558 return '[' + result + ']'; 14559 } return host; 14560}; 14561 14562var C0ControlPercentEncodeSet = {}; 14563var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { 14564 ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 14565}); 14566var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { 14567 '#': 1, '?': 1, '{': 1, '}': 1 14568}); 14569var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { 14570 '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 14571}); 14572 14573var percentEncode = function (char, set) { 14574 var code = codeAt(char, 0); 14575 return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); 14576}; 14577 14578var specialSchemes = { 14579 ftp: 21, 14580 file: null, 14581 http: 80, 14582 https: 443, 14583 ws: 80, 14584 wss: 443 14585}; 14586 14587var isSpecial = function (url) { 14588 return has(specialSchemes, url.scheme); 14589}; 14590 14591var includesCredentials = function (url) { 14592 return url.username != '' || url.password != ''; 14593}; 14594 14595var cannotHaveUsernamePasswordPort = function (url) { 14596 return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; 14597}; 14598 14599var isWindowsDriveLetter = function (string, normalized) { 14600 var second; 14601 return string.length == 2 && ALPHA.test(string.charAt(0)) 14602 && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); 14603}; 14604 14605var startsWithWindowsDriveLetter = function (string) { 14606 var third; 14607 return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( 14608 string.length == 2 || 14609 ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') 14610 ); 14611}; 14612 14613var shortenURLsPath = function (url) { 14614 var path = url.path; 14615 var pathSize = path.length; 14616 if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { 14617 path.pop(); 14618 } 14619}; 14620 14621var isSingleDot = function (segment) { 14622 return segment === '.' || segment.toLowerCase() === '%2e'; 14623}; 14624 14625var isDoubleDot = function (segment) { 14626 segment = segment.toLowerCase(); 14627 return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; 14628}; 14629 14630// States: 14631var SCHEME_START = {}; 14632var SCHEME = {}; 14633var NO_SCHEME = {}; 14634var SPECIAL_RELATIVE_OR_AUTHORITY = {}; 14635var PATH_OR_AUTHORITY = {}; 14636var RELATIVE = {}; 14637var RELATIVE_SLASH = {}; 14638var SPECIAL_AUTHORITY_SLASHES = {}; 14639var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; 14640var AUTHORITY = {}; 14641var HOST = {}; 14642var HOSTNAME = {}; 14643var PORT = {}; 14644var FILE = {}; 14645var FILE_SLASH = {}; 14646var FILE_HOST = {}; 14647var PATH_START = {}; 14648var PATH = {}; 14649var CANNOT_BE_A_BASE_URL_PATH = {}; 14650var QUERY = {}; 14651var FRAGMENT = {}; 14652 14653// eslint-disable-next-line max-statements 14654var parseURL = function (url, input, stateOverride, base) { 14655 var state = stateOverride || SCHEME_START; 14656 var pointer = 0; 14657 var buffer = ''; 14658 var seenAt = false; 14659 var seenBracket = false; 14660 var seenPasswordToken = false; 14661 var codePoints, char, bufferCodePoints, failure; 14662 14663 if (!stateOverride) { 14664 url.scheme = ''; 14665 url.username = ''; 14666 url.password = ''; 14667 url.host = null; 14668 url.port = null; 14669 url.path = []; 14670 url.query = null; 14671 url.fragment = null; 14672 url.cannotBeABaseURL = false; 14673 input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); 14674 } 14675 14676 input = input.replace(TAB_AND_NEW_LINE, ''); 14677 14678 codePoints = arrayFrom(input); 14679 14680 while (pointer <= codePoints.length) { 14681 char = codePoints[pointer]; 14682 switch (state) { 14683 case SCHEME_START: 14684 if (char && ALPHA.test(char)) { 14685 buffer += char.toLowerCase(); 14686 state = SCHEME; 14687 } else if (!stateOverride) { 14688 state = NO_SCHEME; 14689 continue; 14690 } else return INVALID_SCHEME; 14691 break; 14692 14693 case SCHEME: 14694 if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { 14695 buffer += char.toLowerCase(); 14696 } else if (char == ':') { 14697 if (stateOverride && ( 14698 (isSpecial(url) != has(specialSchemes, buffer)) || 14699 (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || 14700 (url.scheme == 'file' && !url.host) 14701 )) return; 14702 url.scheme = buffer; 14703 if (stateOverride) { 14704 if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; 14705 return; 14706 } 14707 buffer = ''; 14708 if (url.scheme == 'file') { 14709 state = FILE; 14710 } else if (isSpecial(url) && base && base.scheme == url.scheme) { 14711 state = SPECIAL_RELATIVE_OR_AUTHORITY; 14712 } else if (isSpecial(url)) { 14713 state = SPECIAL_AUTHORITY_SLASHES; 14714 } else if (codePoints[pointer + 1] == '/') { 14715 state = PATH_OR_AUTHORITY; 14716 pointer++; 14717 } else { 14718 url.cannotBeABaseURL = true; 14719 url.path.push(''); 14720 state = CANNOT_BE_A_BASE_URL_PATH; 14721 } 14722 } else if (!stateOverride) { 14723 buffer = ''; 14724 state = NO_SCHEME; 14725 pointer = 0; 14726 continue; 14727 } else return INVALID_SCHEME; 14728 break; 14729 14730 case NO_SCHEME: 14731 if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; 14732 if (base.cannotBeABaseURL && char == '#') { 14733 url.scheme = base.scheme; 14734 url.path = base.path.slice(); 14735 url.query = base.query; 14736 url.fragment = ''; 14737 url.cannotBeABaseURL = true; 14738 state = FRAGMENT; 14739 break; 14740 } 14741 state = base.scheme == 'file' ? FILE : RELATIVE; 14742 continue; 14743 14744 case SPECIAL_RELATIVE_OR_AUTHORITY: 14745 if (char == '/' && codePoints[pointer + 1] == '/') { 14746 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 14747 pointer++; 14748 } else { 14749 state = RELATIVE; 14750 continue; 14751 } break; 14752 14753 case PATH_OR_AUTHORITY: 14754 if (char == '/') { 14755 state = AUTHORITY; 14756 break; 14757 } else { 14758 state = PATH; 14759 continue; 14760 } 14761 14762 case RELATIVE: 14763 url.scheme = base.scheme; 14764 if (char == EOF) { 14765 url.username = base.username; 14766 url.password = base.password; 14767 url.host = base.host; 14768 url.port = base.port; 14769 url.path = base.path.slice(); 14770 url.query = base.query; 14771 } else if (char == '/' || (char == '\\' && isSpecial(url))) { 14772 state = RELATIVE_SLASH; 14773 } else if (char == '?') { 14774 url.username = base.username; 14775 url.password = base.password; 14776 url.host = base.host; 14777 url.port = base.port; 14778 url.path = base.path.slice(); 14779 url.query = ''; 14780 state = QUERY; 14781 } else if (char == '#') { 14782 url.username = base.username; 14783 url.password = base.password; 14784 url.host = base.host; 14785 url.port = base.port; 14786 url.path = base.path.slice(); 14787 url.query = base.query; 14788 url.fragment = ''; 14789 state = FRAGMENT; 14790 } else { 14791 url.username = base.username; 14792 url.password = base.password; 14793 url.host = base.host; 14794 url.port = base.port; 14795 url.path = base.path.slice(); 14796 url.path.pop(); 14797 state = PATH; 14798 continue; 14799 } break; 14800 14801 case RELATIVE_SLASH: 14802 if (isSpecial(url) && (char == '/' || char == '\\')) { 14803 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 14804 } else if (char == '/') { 14805 state = AUTHORITY; 14806 } else { 14807 url.username = base.username; 14808 url.password = base.password; 14809 url.host = base.host; 14810 url.port = base.port; 14811 state = PATH; 14812 continue; 14813 } break; 14814 14815 case SPECIAL_AUTHORITY_SLASHES: 14816 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 14817 if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; 14818 pointer++; 14819 break; 14820 14821 case SPECIAL_AUTHORITY_IGNORE_SLASHES: 14822 if (char != '/' && char != '\\') { 14823 state = AUTHORITY; 14824 continue; 14825 } break; 14826 14827 case AUTHORITY: 14828 if (char == '@') { 14829 if (seenAt) buffer = '%40' + buffer; 14830 seenAt = true; 14831 bufferCodePoints = arrayFrom(buffer); 14832 for (var i = 0; i < bufferCodePoints.length; i++) { 14833 var codePoint = bufferCodePoints[i]; 14834 if (codePoint == ':' && !seenPasswordToken) { 14835 seenPasswordToken = true; 14836 continue; 14837 } 14838 var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); 14839 if (seenPasswordToken) url.password += encodedCodePoints; 14840 else url.username += encodedCodePoints; 14841 } 14842 buffer = ''; 14843 } else if ( 14844 char == EOF || char == '/' || char == '?' || char == '#' || 14845 (char == '\\' && isSpecial(url)) 14846 ) { 14847 if (seenAt && buffer == '') return INVALID_AUTHORITY; 14848 pointer -= arrayFrom(buffer).length + 1; 14849 buffer = ''; 14850 state = HOST; 14851 } else buffer += char; 14852 break; 14853 14854 case HOST: 14855 case HOSTNAME: 14856 if (stateOverride && url.scheme == 'file') { 14857 state = FILE_HOST; 14858 continue; 14859 } else if (char == ':' && !seenBracket) { 14860 if (buffer == '') return INVALID_HOST; 14861 failure = parseHost(url, buffer); 14862 if (failure) return failure; 14863 buffer = ''; 14864 state = PORT; 14865 if (stateOverride == HOSTNAME) return; 14866 } else if ( 14867 char == EOF || char == '/' || char == '?' || char == '#' || 14868 (char == '\\' && isSpecial(url)) 14869 ) { 14870 if (isSpecial(url) && buffer == '') return INVALID_HOST; 14871 if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; 14872 failure = parseHost(url, buffer); 14873 if (failure) return failure; 14874 buffer = ''; 14875 state = PATH_START; 14876 if (stateOverride) return; 14877 continue; 14878 } else { 14879 if (char == '[') seenBracket = true; 14880 else if (char == ']') seenBracket = false; 14881 buffer += char; 14882 } break; 14883 14884 case PORT: 14885 if (DIGIT.test(char)) { 14886 buffer += char; 14887 } else if ( 14888 char == EOF || char == '/' || char == '?' || char == '#' || 14889 (char == '\\' && isSpecial(url)) || 14890 stateOverride 14891 ) { 14892 if (buffer != '') { 14893 var port = parseInt(buffer, 10); 14894 if (port > 0xFFFF) return INVALID_PORT; 14895 url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; 14896 buffer = ''; 14897 } 14898 if (stateOverride) return; 14899 state = PATH_START; 14900 continue; 14901 } else return INVALID_PORT; 14902 break; 14903 14904 case FILE: 14905 url.scheme = 'file'; 14906 if (char == '/' || char == '\\') state = FILE_SLASH; 14907 else if (base && base.scheme == 'file') { 14908 if (char == EOF) { 14909 url.host = base.host; 14910 url.path = base.path.slice(); 14911 url.query = base.query; 14912 } else if (char == '?') { 14913 url.host = base.host; 14914 url.path = base.path.slice(); 14915 url.query = ''; 14916 state = QUERY; 14917 } else if (char == '#') { 14918 url.host = base.host; 14919 url.path = base.path.slice(); 14920 url.query = base.query; 14921 url.fragment = ''; 14922 state = FRAGMENT; 14923 } else { 14924 if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 14925 url.host = base.host; 14926 url.path = base.path.slice(); 14927 shortenURLsPath(url); 14928 } 14929 state = PATH; 14930 continue; 14931 } 14932 } else { 14933 state = PATH; 14934 continue; 14935 } break; 14936 14937 case FILE_SLASH: 14938 if (char == '/' || char == '\\') { 14939 state = FILE_HOST; 14940 break; 14941 } 14942 if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 14943 if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); 14944 else url.host = base.host; 14945 } 14946 state = PATH; 14947 continue; 14948 14949 case FILE_HOST: 14950 if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { 14951 if (!stateOverride && isWindowsDriveLetter(buffer)) { 14952 state = PATH; 14953 } else if (buffer == '') { 14954 url.host = ''; 14955 if (stateOverride) return; 14956 state = PATH_START; 14957 } else { 14958 failure = parseHost(url, buffer); 14959 if (failure) return failure; 14960 if (url.host == 'localhost') url.host = ''; 14961 if (stateOverride) return; 14962 buffer = ''; 14963 state = PATH_START; 14964 } continue; 14965 } else buffer += char; 14966 break; 14967 14968 case PATH_START: 14969 if (isSpecial(url)) { 14970 state = PATH; 14971 if (char != '/' && char != '\\') continue; 14972 } else if (!stateOverride && char == '?') { 14973 url.query = ''; 14974 state = QUERY; 14975 } else if (!stateOverride && char == '#') { 14976 url.fragment = ''; 14977 state = FRAGMENT; 14978 } else if (char != EOF) { 14979 state = PATH; 14980 if (char != '/') continue; 14981 } break; 14982 14983 case PATH: 14984 if ( 14985 char == EOF || char == '/' || 14986 (char == '\\' && isSpecial(url)) || 14987 (!stateOverride && (char == '?' || char == '#')) 14988 ) { 14989 if (isDoubleDot(buffer)) { 14990 shortenURLsPath(url); 14991 if (char != '/' && !(char == '\\' && isSpecial(url))) { 14992 url.path.push(''); 14993 } 14994 } else if (isSingleDot(buffer)) { 14995 if (char != '/' && !(char == '\\' && isSpecial(url))) { 14996 url.path.push(''); 14997 } 14998 } else { 14999 if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { 15000 if (url.host) url.host = ''; 15001 buffer = buffer.charAt(0) + ':'; // normalize windows drive letter 15002 } 15003 url.path.push(buffer); 15004 } 15005 buffer = ''; 15006 if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { 15007 while (url.path.length > 1 && url.path[0] === '') { 15008 url.path.shift(); 15009 } 15010 } 15011 if (char == '?') { 15012 url.query = ''; 15013 state = QUERY; 15014 } else if (char == '#') { 15015 url.fragment = ''; 15016 state = FRAGMENT; 15017 } 15018 } else { 15019 buffer += percentEncode(char, pathPercentEncodeSet); 15020 } break; 15021 15022 case CANNOT_BE_A_BASE_URL_PATH: 15023 if (char == '?') { 15024 url.query = ''; 15025 state = QUERY; 15026 } else if (char == '#') { 15027 url.fragment = ''; 15028 state = FRAGMENT; 15029 } else if (char != EOF) { 15030 url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); 15031 } break; 15032 15033 case QUERY: 15034 if (!stateOverride && char == '#') { 15035 url.fragment = ''; 15036 state = FRAGMENT; 15037 } else if (char != EOF) { 15038 if (char == "'" && isSpecial(url)) url.query += '%27'; 15039 else if (char == '#') url.query += '%23'; 15040 else url.query += percentEncode(char, C0ControlPercentEncodeSet); 15041 } break; 15042 15043 case FRAGMENT: 15044 if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); 15045 break; 15046 } 15047 15048 pointer++; 15049 } 15050}; 15051 15052// `URL` constructor 15053// https://url.spec.whatwg.org/#url-class 15054var URLConstructor = function URL(url /* , base */) { 15055 var that = anInstance(this, URLConstructor, 'URL'); 15056 var base = arguments.length > 1 ? arguments[1] : undefined; 15057 var urlString = String(url); 15058 var state = setInternalState(that, { type: 'URL' }); 15059 var baseState, failure; 15060 if (base !== undefined) { 15061 if (base instanceof URLConstructor) baseState = getInternalURLState(base); 15062 else { 15063 failure = parseURL(baseState = {}, String(base)); 15064 if (failure) throw TypeError(failure); 15065 } 15066 } 15067 failure = parseURL(state, urlString, null, baseState); 15068 if (failure) throw TypeError(failure); 15069 var searchParams = state.searchParams = new URLSearchParams(); 15070 var searchParamsState = getInternalSearchParamsState(searchParams); 15071 searchParamsState.updateSearchParams(state.query); 15072 searchParamsState.updateURL = function () { 15073 state.query = String(searchParams) || null; 15074 }; 15075 if (!DESCRIPTORS) { 15076 that.href = serializeURL.call(that); 15077 that.origin = getOrigin.call(that); 15078 that.protocol = getProtocol.call(that); 15079 that.username = getUsername.call(that); 15080 that.password = getPassword.call(that); 15081 that.host = getHost.call(that); 15082 that.hostname = getHostname.call(that); 15083 that.port = getPort.call(that); 15084 that.pathname = getPathname.call(that); 15085 that.search = getSearch.call(that); 15086 that.searchParams = getSearchParams.call(that); 15087 that.hash = getHash.call(that); 15088 } 15089}; 15090 15091var URLPrototype = URLConstructor.prototype; 15092 15093var serializeURL = function () { 15094 var url = getInternalURLState(this); 15095 var scheme = url.scheme; 15096 var username = url.username; 15097 var password = url.password; 15098 var host = url.host; 15099 var port = url.port; 15100 var path = url.path; 15101 var query = url.query; 15102 var fragment = url.fragment; 15103 var output = scheme + ':'; 15104 if (host !== null) { 15105 output += '//'; 15106 if (includesCredentials(url)) { 15107 output += username + (password ? ':' + password : '') + '@'; 15108 } 15109 output += serializeHost(host); 15110 if (port !== null) output += ':' + port; 15111 } else if (scheme == 'file') output += '//'; 15112 output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 15113 if (query !== null) output += '?' + query; 15114 if (fragment !== null) output += '#' + fragment; 15115 return output; 15116}; 15117 15118var getOrigin = function () { 15119 var url = getInternalURLState(this); 15120 var scheme = url.scheme; 15121 var port = url.port; 15122 if (scheme == 'blob') try { 15123 return new URL(scheme.path[0]).origin; 15124 } catch (error) { 15125 return 'null'; 15126 } 15127 if (scheme == 'file' || !isSpecial(url)) return 'null'; 15128 return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); 15129}; 15130 15131var getProtocol = function () { 15132 return getInternalURLState(this).scheme + ':'; 15133}; 15134 15135var getUsername = function () { 15136 return getInternalURLState(this).username; 15137}; 15138 15139var getPassword = function () { 15140 return getInternalURLState(this).password; 15141}; 15142 15143var getHost = function () { 15144 var url = getInternalURLState(this); 15145 var host = url.host; 15146 var port = url.port; 15147 return host === null ? '' 15148 : port === null ? serializeHost(host) 15149 : serializeHost(host) + ':' + port; 15150}; 15151 15152var getHostname = function () { 15153 var host = getInternalURLState(this).host; 15154 return host === null ? '' : serializeHost(host); 15155}; 15156 15157var getPort = function () { 15158 var port = getInternalURLState(this).port; 15159 return port === null ? '' : String(port); 15160}; 15161 15162var getPathname = function () { 15163 var url = getInternalURLState(this); 15164 var path = url.path; 15165 return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 15166}; 15167 15168var getSearch = function () { 15169 var query = getInternalURLState(this).query; 15170 return query ? '?' + query : ''; 15171}; 15172 15173var getSearchParams = function () { 15174 return getInternalURLState(this).searchParams; 15175}; 15176 15177var getHash = function () { 15178 var fragment = getInternalURLState(this).fragment; 15179 return fragment ? '#' + fragment : ''; 15180}; 15181 15182var accessorDescriptor = function (getter, setter) { 15183 return { get: getter, set: setter, configurable: true, enumerable: true }; 15184}; 15185 15186if (DESCRIPTORS) { 15187 defineProperties(URLPrototype, { 15188 // `URL.prototype.href` accessors pair 15189 // https://url.spec.whatwg.org/#dom-url-href 15190 href: accessorDescriptor(serializeURL, function (href) { 15191 var url = getInternalURLState(this); 15192 var urlString = String(href); 15193 var failure = parseURL(url, urlString); 15194 if (failure) throw TypeError(failure); 15195 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 15196 }), 15197 // `URL.prototype.origin` getter 15198 // https://url.spec.whatwg.org/#dom-url-origin 15199 origin: accessorDescriptor(getOrigin), 15200 // `URL.prototype.protocol` accessors pair 15201 // https://url.spec.whatwg.org/#dom-url-protocol 15202 protocol: accessorDescriptor(getProtocol, function (protocol) { 15203 var url = getInternalURLState(this); 15204 parseURL(url, String(protocol) + ':', SCHEME_START); 15205 }), 15206 // `URL.prototype.username` accessors pair 15207 // https://url.spec.whatwg.org/#dom-url-username 15208 username: accessorDescriptor(getUsername, function (username) { 15209 var url = getInternalURLState(this); 15210 var codePoints = arrayFrom(String(username)); 15211 if (cannotHaveUsernamePasswordPort(url)) return; 15212 url.username = ''; 15213 for (var i = 0; i < codePoints.length; i++) { 15214 url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); 15215 } 15216 }), 15217 // `URL.prototype.password` accessors pair 15218 // https://url.spec.whatwg.org/#dom-url-password 15219 password: accessorDescriptor(getPassword, function (password) { 15220 var url = getInternalURLState(this); 15221 var codePoints = arrayFrom(String(password)); 15222 if (cannotHaveUsernamePasswordPort(url)) return; 15223 url.password = ''; 15224 for (var i = 0; i < codePoints.length; i++) { 15225 url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); 15226 } 15227 }), 15228 // `URL.prototype.host` accessors pair 15229 // https://url.spec.whatwg.org/#dom-url-host 15230 host: accessorDescriptor(getHost, function (host) { 15231 var url = getInternalURLState(this); 15232 if (url.cannotBeABaseURL) return; 15233 parseURL(url, String(host), HOST); 15234 }), 15235 // `URL.prototype.hostname` accessors pair 15236 // https://url.spec.whatwg.org/#dom-url-hostname 15237 hostname: accessorDescriptor(getHostname, function (hostname) { 15238 var url = getInternalURLState(this); 15239 if (url.cannotBeABaseURL) return; 15240 parseURL(url, String(hostname), HOSTNAME); 15241 }), 15242 // `URL.prototype.port` accessors pair 15243 // https://url.spec.whatwg.org/#dom-url-port 15244 port: accessorDescriptor(getPort, function (port) { 15245 var url = getInternalURLState(this); 15246 if (cannotHaveUsernamePasswordPort(url)) return; 15247 port = String(port); 15248 if (port == '') url.port = null; 15249 else parseURL(url, port, PORT); 15250 }), 15251 // `URL.prototype.pathname` accessors pair 15252 // https://url.spec.whatwg.org/#dom-url-pathname 15253 pathname: accessorDescriptor(getPathname, function (pathname) { 15254 var url = getInternalURLState(this); 15255 if (url.cannotBeABaseURL) return; 15256 url.path = []; 15257 parseURL(url, pathname + '', PATH_START); 15258 }), 15259 // `URL.prototype.search` accessors pair 15260 // https://url.spec.whatwg.org/#dom-url-search 15261 search: accessorDescriptor(getSearch, function (search) { 15262 var url = getInternalURLState(this); 15263 search = String(search); 15264 if (search == '') { 15265 url.query = null; 15266 } else { 15267 if ('?' == search.charAt(0)) search = search.slice(1); 15268 url.query = ''; 15269 parseURL(url, search, QUERY); 15270 } 15271 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 15272 }), 15273 // `URL.prototype.searchParams` getter 15274 // https://url.spec.whatwg.org/#dom-url-searchparams 15275 searchParams: accessorDescriptor(getSearchParams), 15276 // `URL.prototype.hash` accessors pair 15277 // https://url.spec.whatwg.org/#dom-url-hash 15278 hash: accessorDescriptor(getHash, function (hash) { 15279 var url = getInternalURLState(this); 15280 hash = String(hash); 15281 if (hash == '') { 15282 url.fragment = null; 15283 return; 15284 } 15285 if ('#' == hash.charAt(0)) hash = hash.slice(1); 15286 url.fragment = ''; 15287 parseURL(url, hash, FRAGMENT); 15288 }) 15289 }); 15290} 15291 15292// `URL.prototype.toJSON` method 15293// https://url.spec.whatwg.org/#dom-url-tojson 15294redefine(URLPrototype, 'toJSON', function toJSON() { 15295 return serializeURL.call(this); 15296}, { enumerable: true }); 15297 15298// `URL.prototype.toString` method 15299// https://url.spec.whatwg.org/#URL-stringification-behavior 15300redefine(URLPrototype, 'toString', function toString() { 15301 return serializeURL.call(this); 15302}, { enumerable: true }); 15303 15304if (NativeURL) { 15305 var nativeCreateObjectURL = NativeURL.createObjectURL; 15306 var nativeRevokeObjectURL = NativeURL.revokeObjectURL; 15307 // `URL.createObjectURL` method 15308 // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL 15309 // eslint-disable-next-line no-unused-vars 15310 if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { 15311 return nativeCreateObjectURL.apply(NativeURL, arguments); 15312 }); 15313 // `URL.revokeObjectURL` method 15314 // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL 15315 // eslint-disable-next-line no-unused-vars 15316 if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { 15317 return nativeRevokeObjectURL.apply(NativeURL, arguments); 15318 }); 15319} 15320 15321setToStringTag(URLConstructor, 'URL'); 15322 15323$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { 15324 URL: URLConstructor 15325}); 15326 15327 15328/***/ }), 15329
vendor: 684 bytes, lines 15330-15351
15330/***/ "./node_modules/core-js/modules/web.url.to-json.js": 15331/*!*********************************************************!*\ 15332 !*** ./node_modules/core-js/modules/web.url.to-json.js ***! 15333 \*********************************************************/ 15334/*! no static exports found */ 15335/***/ (function(module, exports, __webpack_require__) { 15336 15337"use strict"; 15338 15339var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 15340 15341// `URL.prototype.toJSON` method 15342// https://url.spec.whatwg.org/#dom-url-tojson 15343$({ target: 'URL', proto: true, enumerable: true }, { 15344 toJSON: function toJSON() { 15345 return URL.prototype.toString.call(this); 15346 } 15347}); 15348 15349 15350/***/ }), 15351
vendor: 575 bytes, lines 15352-15367
15352/***/ "./node_modules/core-js/stable/index.js": 15353/*!**********************************************!*\ 15354 !*** ./node_modules/core-js/stable/index.js ***! 15355 \**********************************************/ 15356/*! no static exports found */ 15357/***/ (function(module, exports, __webpack_require__) { 15358 15359__webpack_require__(/*! ../es */ "./node_modules/core-js/es/index.js"); 15360__webpack_require__(/*! ../web */ "./node_modules/core-js/web/index.js"); 15361var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); 15362 15363module.exports = path; 15364 15365 15366/***/ }), 15367
vendor: 1,323 bytes, lines 15368-15389
15368/***/ "./node_modules/core-js/web/index.js": 15369/*!*******************************************!*\ 15370 !*** ./node_modules/core-js/web/index.js ***! 15371 \*******************************************/ 15372/*! no static exports found */ 15373/***/ (function(module, exports, __webpack_require__) { 15374 15375__webpack_require__(/*! ../modules/web.dom-collections.for-each */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); 15376__webpack_require__(/*! ../modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); 15377__webpack_require__(/*! ../modules/web.immediate */ "./node_modules/core-js/modules/web.immediate.js"); 15378__webpack_require__(/*! ../modules/web.queue-microtask */ "./node_modules/core-js/modules/web.queue-microtask.js"); 15379__webpack_require__(/*! ../modules/web.timers */ "./node_modules/core-js/modules/web.timers.js"); 15380__webpack_require__(/*! ../modules/web.url */ "./node_modules/core-js/modules/web.url.js"); 15381__webpack_require__(/*! ../modules/web.url.to-json */ "./node_modules/core-js/modules/web.url.to-json.js"); 15382__webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js"); 15383var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js"); 15384 15385module.exports = path; 15386 15387 15388/***/ }), 15389
vendor: 3,046 bytes, lines 15390-15491
15390/***/ "./node_modules/deepmerge/dist/es.js": 15391/*!*******************************************!*\ 15392 !*** ./node_modules/deepmerge/dist/es.js ***! 15393 \*******************************************/ 15394/*! exports provided: default */ 15395/***/ (function(module, __webpack_exports__, __webpack_require__) { 15396 15397"use strict"; 15398__webpack_require__.r(__webpack_exports__); 15399var isMergeableObject = function isMergeableObject(value) { 15400 return isNonNullObject(value) 15401 && !isSpecial(value) 15402}; 15403 15404function isNonNullObject(value) { 15405 return !!value && typeof value === 'object' 15406} 15407 15408function isSpecial(value) { 15409 var stringValue = Object.prototype.toString.call(value); 15410 15411 return stringValue === '[object RegExp]' 15412 || stringValue === '[object Date]' 15413 || isReactElement(value) 15414} 15415 15416// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 15417var canUseSymbol = typeof Symbol === 'function' && Symbol.for; 15418var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; 15419 15420function isReactElement(value) { 15421 return value.$$typeof === REACT_ELEMENT_TYPE 15422} 15423 15424function emptyTarget(val) { 15425 return Array.isArray(val) ? [] : {} 15426} 15427 15428function cloneUnlessOtherwiseSpecified(value, options) { 15429 return (options.clone !== false && options.isMergeableObject(value)) 15430 ? deepmerge(emptyTarget(value), value, options) 15431 : value 15432} 15433 15434function defaultArrayMerge(target, source, options) { 15435 return target.concat(source).map(function(element) { 15436 return cloneUnlessOtherwiseSpecified(element, options) 15437 }) 15438} 15439 15440function mergeObject(target, source, options) { 15441 var destination = {}; 15442 if (options.isMergeableObject(target)) { 15443 Object.keys(target).forEach(function(key) { 15444 destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); 15445 }); 15446 } 15447 Object.keys(source).forEach(function(key) { 15448 if (!options.isMergeableObject(source[key]) || !target[key]) { 15449 destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); 15450 } else { 15451 destination[key] = deepmerge(target[key], source[key], options); 15452 } 15453 }); 15454 return destination 15455} 15456 15457function deepmerge(target, source, options) { 15458 options = options || {}; 15459 options.arrayMerge = options.arrayMerge || defaultArrayMerge; 15460 options.isMergeableObject = options.isMergeableObject || isMergeableObject; 15461 15462 var sourceIsArray = Array.isArray(source); 15463 var targetIsArray = Array.isArray(target); 15464 var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; 15465 15466 if (!sourceAndTargetTypesMatch) { 15467 return cloneUnlessOtherwiseSpecified(source, options) 15468 } else if (sourceIsArray) { 15469 return options.arrayMerge(target, source, options) 15470 } else { 15471 return mergeObject(target, source, options) 15472 } 15473} 15474 15475deepmerge.all = function deepmergeAll(array, options) { 15476 if (!Array.isArray(array)) { 15477 throw new Error('first argument should be an array') 15478 } 15479 15480 return array.reduce(function(prev, next) { 15481 return deepmerge(prev, next, options) 15482 }, {}) 15483}; 15484 15485var deepmerge_1 = deepmerge; 15486 15487/* harmony default export */ __webpack_exports__["default"] = (deepmerge_1); 15488 15489 15490/***/ }), 15491
vendor: 78,421 bytes, lines 15492-17535
15492/***/ "./node_modules/formik/dist/formik.esm.js": 15493/*!************************************************!*\ 15494 !*** ./node_modules/formik/dist/formik.esm.js ***! 15495 \************************************************/ 15496/*! exports provided: ErrorMessage, FastField, Field, FieldArray, Form, Formik, FormikConsumer, FormikContext, FormikProvider, connect, getActiveElement, getIn, insert, isEmptyArray, isEmptyChildren, isFunction, isInputEvent, isInteger, isNaN, isObject, isPromise, isString, move, prepareDataForValidation, replace, setIn, setNestedObjectValues, swap, useField, useFormik, useFormikContext, validateYupSchema, withFormik, yupToFormErrors */ 15497/***/ (function(module, __webpack_exports__, __webpack_require__) { 15498 15499"use strict"; 15500__webpack_require__.r(__webpack_exports__); 15501/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ErrorMessage", function() { return ErrorMessage; }); 15502/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FastField", function() { return FastField; }); 15503/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Field", function() { return Field; }); 15504/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FieldArray", function() { return FieldArray; }); 15505/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Form", function() { return Form; }); 15506/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Formik", function() { return Formik; }); 15507/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikConsumer", function() { return FormikConsumer; }); 15508/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikContext", function() { return FormikContext; }); 15509/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikProvider", function() { return FormikProvider; }); 15510/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; }); 15511/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActiveElement", function() { return getActiveElement; }); 15512/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getIn", function() { return getIn; }); 15513/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insert", function() { return insert; }); 15514/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmptyArray", function() { return isEmptyArray; }); 15515/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmptyChildren", function() { return isEmptyChildren; }); 15516/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFunction", function() { return isFunction; }); 15517/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInputEvent", function() { return isInputEvent; }); 15518/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInteger", function() { return isInteger; }); 15519/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNaN", function() { return isNaN$1; }); 15520/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return isObject; }); 15521/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPromise", function() { return isPromise; }); 15522/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isString", function() { return isString; }); 15523/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "move", function() { return move; }); 15524/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prepareDataForValidation", function() { return prepareDataForValidation; }); 15525/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "replace", function() { return replace; }); 15526/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setIn", function() { return setIn; }); 15527/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setNestedObjectValues", function() { return setNestedObjectValues; }); 15528/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "swap", function() { return swap; }); 15529/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useField", function() { return useField; }); 15530/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormik", function() { return useFormik; }); 15531/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormikContext", function() { return useFormikContext; }); 15532/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateYupSchema", function() { return validateYupSchema; }); 15533/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withFormik", function() { return withFormik; }); 15534/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yupToFormErrors", function() { return yupToFormErrors; }); 15535/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); 15536/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 15537/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fast-compare */ "./node_modules/react-fast-compare/index.js"); 15538/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_1__); 15539/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/es.js"); 15540/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isPlainObject */ "./node_modules/lodash-es/isPlainObject.js"); 15541/* harmony import */ var lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es/clone */ "./node_modules/lodash-es/clone.js"); 15542/* harmony import */ var lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/toPath */ "./node_modules/lodash-es/toPath.js"); 15543/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tiny-warning */ "./node_modules/tiny-warning/dist/tiny-warning.esm.js"); 15544/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); 15545/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__); 15546/* harmony import */ var lodash_es_cloneDeep__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash-es/cloneDeep */ "./node_modules/lodash-es/cloneDeep.js"); 15547 15548 15549 15550 15551 15552 15553 15554 15555 15556 15557function _extends() { 15558 _extends = Object.assign || function (target) { 15559 for (var i = 1; i < arguments.length; i++) { 15560 var source = arguments[i]; 15561 15562 for (var key in source) { 15563 if (Object.prototype.hasOwnProperty.call(source, key)) { 15564 target[key] = source[key]; 15565 } 15566 } 15567 } 15568 15569 return target; 15570 }; 15571 15572 return _extends.apply(this, arguments); 15573} 15574 15575function _inheritsLoose(subClass, superClass) { 15576 subClass.prototype = Object.create(superClass.prototype); 15577 subClass.prototype.constructor = subClass; 15578 subClass.__proto__ = superClass; 15579} 15580 15581function _objectWithoutPropertiesLoose(source, excluded) { 15582 if (source == null) return {}; 15583 var target = {}; 15584 var sourceKeys = Object.keys(source); 15585 var key, i; 15586 15587 for (i = 0; i < sourceKeys.length; i++) { 15588 key = sourceKeys[i]; 15589 if (excluded.indexOf(key) >= 0) continue; 15590 target[key] = source[key]; 15591 } 15592 15593 return target; 15594} 15595 15596function _assertThisInitialized(self) { 15597 if (self === void 0) { 15598 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 15599 } 15600 15601 return self; 15602} 15603 15604/** @private is the value an empty array? */ 15605 15606var isEmptyArray = function isEmptyArray(value) { 15607 return Array.isArray(value) && value.length === 0; 15608}; 15609/** @private is the given object a Function? */ 15610 15611var isFunction = function isFunction(obj) { 15612 return typeof obj === 'function'; 15613}; 15614/** @private is the given object an Object? */ 15615 15616var isObject = function isObject(obj) { 15617 return obj !== null && typeof obj === 'object'; 15618}; 15619/** @private is the given object an integer? */ 15620 15621var isInteger = function isInteger(obj) { 15622 return String(Math.floor(Number(obj))) === obj; 15623}; 15624/** @private is the given object a string? */ 15625 15626var isString = function isString(obj) { 15627 return Object.prototype.toString.call(obj) === '[object String]'; 15628}; 15629/** @private is the given object a NaN? */ 15630// eslint-disable-next-line no-self-compare 15631 15632var isNaN$1 = function isNaN(obj) { 15633 return obj !== obj; 15634}; 15635/** @private Does a React component have exactly 0 children? */ 15636 15637var isEmptyChildren = function isEmptyChildren(children) { 15638 return react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) === 0; 15639}; 15640/** @private is the given object/value a promise? */ 15641 15642var isPromise = function isPromise(value) { 15643 return isObject(value) && isFunction(value.then); 15644}; 15645/** @private is the given object/value a type of synthetic event? */ 15646 15647var isInputEvent = function isInputEvent(value) { 15648 return value && isObject(value) && isObject(value.target); 15649}; 15650/** 15651 * Same as document.activeElement but wraps in a try-catch block. In IE it is 15652 * not safe to call document.activeElement if there is nothing focused. 15653 * 15654 * The activeElement will be null only if the document or document body is not 15655 * yet defined. 15656 * 15657 * @param {?Document} doc Defaults to current document. 15658 * @return {Element | null} 15659 * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js 15660 */ 15661 15662function getActiveElement(doc) { 15663 doc = doc || (typeof document !== 'undefined' ? document : undefined); 15664 15665 if (typeof doc === 'undefined') { 15666 return null; 15667 } 15668 15669 try { 15670 return doc.activeElement || doc.body; 15671 } catch (e) { 15672 return doc.body; 15673 } 15674} 15675/** 15676 * Deeply get a value from an object via its path. 15677 */ 15678 15679function getIn(obj, key, def, p) { 15680 if (p === void 0) { 15681 p = 0; 15682 } 15683 15684 var path = Object(lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__["default"])(key); 15685 15686 while (obj && p < path.length) { 15687 obj = obj[path[p++]]; 15688 } 15689 15690 return obj === undefined ? def : obj; 15691} 15692/** 15693 * Deeply set a value from in object via it's path. If the value at `path` 15694 * has changed, return a shallow copy of obj with `value` set at `path`. 15695 * If `value` has not changed, return the original `obj`. 15696 * 15697 * Existing objects / arrays along `path` are also shallow copied. Sibling 15698 * objects along path retain the same internal js reference. Since new 15699 * objects / arrays are only created along `path`, we can test if anything 15700 * changed in a nested structure by comparing the object's reference in 15701 * the old and new object, similar to how russian doll cache invalidation 15702 * works. 15703 * 15704 * In earlier versions of this function, which used cloneDeep, there were 15705 * issues whereby settings a nested value would mutate the parent 15706 * instead of creating a new object. `clone` avoids that bug making a 15707 * shallow copy of the objects along the update path 15708 * so no object is mutated in place. 15709 * 15710 * Before changing this function, please read through the following 15711 * discussions. 15712 * 15713 * @see https://github.com/developit/linkstate 15714 * @see https://github.com/jaredpalmer/formik/pull/123 15715 */ 15716 15717function setIn(obj, path, value) { 15718 var res = Object(lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__["default"])(obj); // this keeps inheritance when obj is a class 15719 15720 var resVal = res; 15721 var i = 0; 15722 var pathArray = Object(lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__["default"])(path); 15723 15724 for (; i < pathArray.length - 1; i++) { 15725 var currentPath = pathArray[i]; 15726 var currentObj = getIn(obj, pathArray.slice(0, i + 1)); 15727 15728 if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) { 15729 resVal = resVal[currentPath] = Object(lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__["default"])(currentObj); 15730 } else { 15731 var nextPath = pathArray[i + 1]; 15732 resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {}; 15733 } 15734 } // Return original object if new value is the same as current 15735 15736 15737 if ((i === 0 ? obj : resVal)[pathArray[i]] === value) { 15738 return obj; 15739 } 15740 15741 if (value === undefined) { 15742 delete resVal[pathArray[i]]; 15743 } else { 15744 resVal[pathArray[i]] = value; 15745 } // If the path array has a single element, the loop did not run. 15746 // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead. 15747 15748 15749 if (i === 0 && value === undefined) { 15750 delete res[pathArray[i]]; 15751 } 15752 15753 return res; 15754} 15755/** 15756 * Recursively a set the same value for all keys and arrays nested object, cloning 15757 * @param object 15758 * @param value 15759 * @param visited 15760 * @param response 15761 */ 15762 15763function setNestedObjectValues(object, value, visited, response) { 15764 if (visited === void 0) { 15765 visited = new WeakMap(); 15766 } 15767 15768 if (response === void 0) { 15769 response = {}; 15770 } 15771 15772 for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) { 15773 var k = _Object$keys[_i]; 15774 var val = object[k]; 15775 15776 if (isObject(val)) { 15777 if (!visited.get(val)) { 15778 visited.set(val, true); // In order to keep array values consistent for both dot path and 15779 // bracket syntax, we need to check if this is an array so that 15780 // this will output { friends: [true] } and not { friends: { "0": true } } 15781 15782 response[k] = Array.isArray(val) ? [] : {}; 15783 setNestedObjectValues(val, value, visited, response[k]); 15784 } 15785 } else { 15786 response[k] = value; 15787 } 15788 } 15789 15790 return response; 15791} 15792 15793var FormikContext = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])(undefined); 15794var FormikProvider = FormikContext.Provider; 15795var FormikConsumer = FormikContext.Consumer; 15796function useFormikContext() { 15797 var formik = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(FormikContext); 15798 !!!formik ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.") : undefined : void 0; 15799 return formik; 15800} 15801 15802function formikReducer(state, msg) { 15803 switch (msg.type) { 15804 case 'SET_VALUES': 15805 return _extends({}, state, { 15806 values: msg.payload 15807 }); 15808 15809 case 'SET_TOUCHED': 15810 return _extends({}, state, { 15811 touched: msg.payload 15812 }); 15813 15814 case 'SET_ERRORS': 15815 if (react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(state.errors, msg.payload)) { 15816 return state; 15817 } 15818 15819 return _extends({}, state, { 15820 errors: msg.payload 15821 }); 15822 15823 case 'SET_STATUS': 15824 return _extends({}, state, { 15825 status: msg.payload 15826 }); 15827 15828 case 'SET_ISSUBMITTING': 15829 return _extends({}, state, { 15830 isSubmitting: msg.payload 15831 }); 15832 15833 case 'SET_ISVALIDATING': 15834 return _extends({}, state, { 15835 isValidating: msg.payload 15836 }); 15837 15838 case 'SET_FIELD_VALUE': 15839 return _extends({}, state, { 15840 values: setIn(state.values, msg.payload.field, msg.payload.value) 15841 }); 15842 15843 case 'SET_FIELD_TOUCHED': 15844 return _extends({}, state, { 15845 touched: setIn(state.touched, msg.payload.field, msg.payload.value) 15846 }); 15847 15848 case 'SET_FIELD_ERROR': 15849 return _extends({}, state, { 15850 errors: setIn(state.errors, msg.payload.field, msg.payload.value) 15851 }); 15852 15853 case 'RESET_FORM': 15854 return _extends({}, state, msg.payload); 15855 15856 case 'SET_FORMIK_STATE': 15857 return msg.payload(state); 15858 15859 case 'SUBMIT_ATTEMPT': 15860 return _extends({}, state, { 15861 touched: setNestedObjectValues(state.values, true), 15862 isSubmitting: true, 15863 submitCount: state.submitCount + 1 15864 }); 15865 15866 case 'SUBMIT_FAILURE': 15867 return _extends({}, state, { 15868 isSubmitting: false 15869 }); 15870 15871 case 'SUBMIT_SUCCESS': 15872 return _extends({}, state, { 15873 isSubmitting: false 15874 }); 15875 15876 default: 15877 return state; 15878 } 15879} // Initial empty states // objects 15880 15881 15882var emptyErrors = {}; 15883var emptyTouched = {}; 15884function useFormik(_ref) { 15885 var _ref$validateOnChange = _ref.validateOnChange, 15886 validateOnChange = _ref$validateOnChange === void 0 ? true : _ref$validateOnChange, 15887 _ref$validateOnBlur = _ref.validateOnBlur, 15888 validateOnBlur = _ref$validateOnBlur === void 0 ? true : _ref$validateOnBlur, 15889 _ref$validateOnMount = _ref.validateOnMount, 15890 validateOnMount = _ref$validateOnMount === void 0 ? false : _ref$validateOnMount, 15891 isInitialValid = _ref.isInitialValid, 15892 _ref$enableReinitiali = _ref.enableReinitialize, 15893 enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali, 15894 onSubmit = _ref.onSubmit, 15895 rest = _objectWithoutPropertiesLoose(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]); 15896 15897 var props = _extends({ 15898 validateOnChange: validateOnChange, 15899 validateOnBlur: validateOnBlur, 15900 validateOnMount: validateOnMount, 15901 onSubmit: onSubmit 15902 }, rest); 15903 15904 var initialValues = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialValues); 15905 var initialErrors = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialErrors || emptyErrors); 15906 var initialTouched = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialTouched || emptyTouched); 15907 var initialStatus = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialStatus); 15908 var isMounted = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(false); 15909 var fieldRegistry = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])({}); 15910 15911 if (true) { 15912 // eslint-disable-next-line react-hooks/rules-of-hooks 15913 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 15914 !(typeof isInitialValid === 'undefined') ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.') : undefined : void 0; // eslint-disable-next-line 15915 }, []); 15916 } 15917 15918 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 15919 isMounted.current = true; 15920 return function () { 15921 isMounted.current = false; 15922 }; 15923 }, []); 15924 15925 var _React$useReducer = Object(react__WEBPACK_IMPORTED_MODULE_0__["useReducer"])(formikReducer, { 15926 values: props.initialValues, 15927 errors: props.initialErrors || emptyErrors, 15928 touched: props.initialTouched || emptyTouched, 15929 status: props.initialStatus, 15930 isSubmitting: false, 15931 isValidating: false, 15932 submitCount: 0 15933 }), 15934 state = _React$useReducer[0], 15935 dispatch = _React$useReducer[1]; 15936 15937 var runValidateHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values, field) { 15938 return new Promise(function (resolve, reject) { 15939 var maybePromisedErrors = props.validate(values, field); 15940 15941 if (maybePromisedErrors == null) { 15942 // use loose null check here on purpose 15943 resolve(emptyErrors); 15944 } else if (isPromise(maybePromisedErrors)) { 15945 maybePromisedErrors.then(function (errors) { 15946 resolve(errors || emptyErrors); 15947 }, function (actualException) { 15948 if (true) { 15949 console.warn("Warning: An unhandled error was caught during validation in <Formik validate />", actualException); 15950 } 15951 15952 reject(actualException); 15953 }); 15954 } else { 15955 resolve(maybePromisedErrors); 15956 } 15957 }); 15958 }, [props.validate]); 15959 /** 15960 * Run validation against a Yup schema and optionally run a function if successful 15961 */ 15962 15963 var runValidationSchema = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values, field) { 15964 var validationSchema = props.validationSchema; 15965 var schema = isFunction(validationSchema) ? validationSchema(field) : validationSchema; 15966 var promise = field && schema.validateAt ? schema.validateAt(field, values) : validateYupSchema(values, schema); 15967 return new Promise(function (resolve, reject) { 15968 promise.then(function () { 15969 resolve(emptyErrors); 15970 }, function (err) { 15971 // Yup will throw a validation error if validation fails. We catch those and 15972 // resolve them into Formik errors. We can sniff if something is a Yup error 15973 // by checking error.name. 15974 // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string 15975 if (err.name === 'ValidationError') { 15976 resolve(yupToFormErrors(err)); 15977 } else { 15978 // We throw any other errors 15979 if (true) { 15980 console.warn("Warning: An unhandled error was caught during validation in <Formik validationSchema />", err); 15981 } 15982 15983 reject(err); 15984 } 15985 }); 15986 }); 15987 }, [props.validationSchema]); 15988 var runSingleFieldLevelValidation = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (field, value) { 15989 return new Promise(function (resolve) { 15990 return resolve(fieldRegistry.current[field].validate(value)); 15991 }); 15992 }, []); 15993 var runFieldLevelValidations = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values) { 15994 var fieldKeysWithValidation = Object.keys(fieldRegistry.current).filter(function (f) { 15995 return isFunction(fieldRegistry.current[f].validate); 15996 }); // Construct an array with all of the field validation functions 15997 15998 var fieldValidations = fieldKeysWithValidation.length > 0 ? fieldKeysWithValidation.map(function (f) { 15999 return runSingleFieldLevelValidation(f, getIn(values, f)); 16000 }) : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;) 16001 16002 return Promise.all(fieldValidations).then(function (fieldErrorsList) { 16003 return fieldErrorsList.reduce(function (prev, curr, index) { 16004 if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') { 16005 return prev; 16006 } 16007 16008 if (curr) { 16009 prev = setIn(prev, fieldKeysWithValidation[index], curr); 16010 } 16011 16012 return prev; 16013 }, {}); 16014 }); 16015 }, [runSingleFieldLevelValidation]); // Run all validations and return the result 16016 16017 var runAllValidations = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values) { 16018 return Promise.all([runFieldLevelValidations(values), props.validationSchema ? runValidationSchema(values) : {}, props.validate ? runValidateHandler(values) : {}]).then(function (_ref2) { 16019 var fieldErrors = _ref2[0], 16020 schemaErrors = _ref2[1], 16021 validateErrors = _ref2[2]; 16022 var combinedErrors = deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"].all([fieldErrors, schemaErrors, validateErrors], { 16023 arrayMerge: arrayMerge 16024 }); 16025 return combinedErrors; 16026 }); 16027 }, [props.validate, props.validationSchema, runFieldLevelValidations, runValidateHandler, runValidationSchema]); // Run all validations methods and update state accordingly 16028 16029 var validateFormWithHighPriority = useEventCallback(function (values) { 16030 if (values === void 0) { 16031 values = state.values; 16032 } 16033 16034 dispatch({ 16035 type: 'SET_ISVALIDATING', 16036 payload: true 16037 }); 16038 return runAllValidations(values).then(function (combinedErrors) { 16039 if (!!isMounted.current) { 16040 dispatch({ 16041 type: 'SET_ISVALIDATING', 16042 payload: false 16043 }); 16044 16045 if (!react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(state.errors, combinedErrors)) { 16046 dispatch({ 16047 type: 'SET_ERRORS', 16048 payload: combinedErrors 16049 }); 16050 } 16051 } 16052 16053 return combinedErrors; 16054 }); 16055 }); 16056 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16057 if (validateOnMount && isMounted.current === true && react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, props.initialValues)) { 16058 validateFormWithHighPriority(initialValues.current); 16059 } 16060 }, [validateOnMount, validateFormWithHighPriority]); 16061 var resetForm = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (nextState) { 16062 var values = nextState && nextState.values ? nextState.values : initialValues.current; 16063 var errors = nextState && nextState.errors ? nextState.errors : initialErrors.current ? initialErrors.current : props.initialErrors || {}; 16064 var touched = nextState && nextState.touched ? nextState.touched : initialTouched.current ? initialTouched.current : props.initialTouched || {}; 16065 var status = nextState && nextState.status ? nextState.status : initialStatus.current ? initialStatus.current : props.initialStatus; 16066 initialValues.current = values; 16067 initialErrors.current = errors; 16068 initialTouched.current = touched; 16069 initialStatus.current = status; 16070 16071 var dispatchFn = function dispatchFn() { 16072 dispatch({ 16073 type: 'RESET_FORM', 16074 payload: { 16075 isSubmitting: !!nextState && !!nextState.isSubmitting, 16076 errors: errors, 16077 touched: touched, 16078 status: status, 16079 values: values, 16080 isValidating: !!nextState && !!nextState.isValidating, 16081 submitCount: !!nextState && !!nextState.submitCount && typeof nextState.submitCount === 'number' ? nextState.submitCount : 0 16082 } 16083 }); 16084 }; 16085 16086 if (props.onReset) { 16087 var maybePromisedOnReset = props.onReset(state.values, imperativeMethods); 16088 16089 if (isPromise(maybePromisedOnReset)) { 16090 maybePromisedOnReset.then(dispatchFn); 16091 } else { 16092 dispatchFn(); 16093 } 16094 } else { 16095 dispatchFn(); 16096 } 16097 }, [props.initialErrors, props.initialStatus, props.initialTouched]); 16098 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16099 if (isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, props.initialValues)) { 16100 if (enableReinitialize) { 16101 initialValues.current = props.initialValues; 16102 resetForm(); 16103 } 16104 16105 if (validateOnMount) { 16106 validateFormWithHighPriority(initialValues.current); 16107 } 16108 } 16109 }, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithHighPriority]); 16110 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16111 if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialErrors.current, props.initialErrors)) { 16112 initialErrors.current = props.initialErrors || emptyErrors; 16113 dispatch({ 16114 type: 'SET_ERRORS', 16115 payload: props.initialErrors || emptyErrors 16116 }); 16117 } 16118 }, [enableReinitialize, props.initialErrors]); 16119 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16120 if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialTouched.current, props.initialTouched)) { 16121 initialTouched.current = props.initialTouched || emptyTouched; 16122 dispatch({ 16123 type: 'SET_TOUCHED', 16124 payload: props.initialTouched || emptyTouched 16125 }); 16126 } 16127 }, [enableReinitialize, props.initialTouched]); 16128 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16129 if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialStatus.current, props.initialStatus)) { 16130 initialStatus.current = props.initialStatus; 16131 dispatch({ 16132 type: 'SET_STATUS', 16133 payload: props.initialStatus 16134 }); 16135 } 16136 }, [enableReinitialize, props.initialStatus, props.initialTouched]); 16137 var validateField = useEventCallback(function (name) { 16138 // This will efficiently validate a single field by avoiding state 16139 // changes if the validation function is synchronous. It's different from 16140 // what is called when using validateForm. 16141 if (fieldRegistry.current[name] && isFunction(fieldRegistry.current[name].validate)) { 16142 var value = getIn(state.values, name); 16143 var maybePromise = fieldRegistry.current[name].validate(value); 16144 16145 if (isPromise(maybePromise)) { 16146 // Only flip isValidating if the function is async. 16147 dispatch({ 16148 type: 'SET_ISVALIDATING', 16149 payload: true 16150 }); 16151 return maybePromise.then(function (x) { 16152 return x; 16153 }).then(function (error) { 16154 dispatch({ 16155 type: 'SET_FIELD_ERROR', 16156 payload: { 16157 field: name, 16158 value: error 16159 } 16160 }); 16161 dispatch({ 16162 type: 'SET_ISVALIDATING', 16163 payload: false 16164 }); 16165 }); 16166 } else { 16167 dispatch({ 16168 type: 'SET_FIELD_ERROR', 16169 payload: { 16170 field: name, 16171 value: maybePromise 16172 } 16173 }); 16174 return Promise.resolve(maybePromise); 16175 } 16176 } else if (props.validationSchema) { 16177 dispatch({ 16178 type: 'SET_ISVALIDATING', 16179 payload: true 16180 }); 16181 return runValidationSchema(state.values, name).then(function (x) { 16182 return x; 16183 }).then(function (error) { 16184 dispatch({ 16185 type: 'SET_FIELD_ERROR', 16186 payload: { 16187 field: name, 16188 value: error[name] 16189 } 16190 }); 16191 dispatch({ 16192 type: 'SET_ISVALIDATING', 16193 payload: false 16194 }); 16195 }); 16196 } 16197 16198 return Promise.resolve(); 16199 }); 16200 var registerField = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name, _ref3) { 16201 var validate = _ref3.validate; 16202 fieldRegistry.current[name] = { 16203 validate: validate 16204 }; 16205 }, []); 16206 var unregisterField = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) { 16207 delete fieldRegistry.current[name]; 16208 }, []); 16209 var setTouched = useEventCallback(function (touched, shouldValidate) { 16210 dispatch({ 16211 type: 'SET_TOUCHED', 16212 payload: touched 16213 }); 16214 var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate; 16215 return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve(); 16216 }); 16217 var setErrors = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (errors) { 16218 dispatch({ 16219 type: 'SET_ERRORS', 16220 payload: errors 16221 }); 16222 }, []); 16223 var setValues = useEventCallback(function (values, shouldValidate) { 16224 var resolvedValues = isFunction(values) ? values(state.values) : values; 16225 dispatch({ 16226 type: 'SET_VALUES', 16227 payload: resolvedValues 16228 }); 16229 var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate; 16230 return willValidate ? validateFormWithHighPriority(resolvedValues) : Promise.resolve(); 16231 }); 16232 var setFieldError = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (field, value) { 16233 dispatch({ 16234 type: 'SET_FIELD_ERROR', 16235 payload: { 16236 field: field, 16237 value: value 16238 } 16239 }); 16240 }, []); 16241 var setFieldValue = useEventCallback(function (field, value, shouldValidate) { 16242 dispatch({ 16243 type: 'SET_FIELD_VALUE', 16244 payload: { 16245 field: field, 16246 value: value 16247 } 16248 }); 16249 var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate; 16250 return willValidate ? validateFormWithHighPriority(setIn(state.values, field, value)) : Promise.resolve(); 16251 }); 16252 var executeChange = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (eventOrTextValue, maybePath) { 16253 // By default, assume that the first argument is a string. This allows us to use 16254 // handleChange with React Native and React Native Web's onChangeText prop which 16255 // provides just the value of the input. 16256 var field = maybePath; 16257 var val = eventOrTextValue; 16258 var parsed; // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one), 16259 // so we handle like we would a normal HTML change event. 16260 16261 if (!isString(eventOrTextValue)) { 16262 // If we can, persist the event 16263 // @see https://reactjs.org/docs/events.html#event-pooling 16264 if (eventOrTextValue.persist) { 16265 eventOrTextValue.persist(); 16266 } 16267 16268 var target = eventOrTextValue.target ? eventOrTextValue.target : eventOrTextValue.currentTarget; 16269 var type = target.type, 16270 name = target.name, 16271 id = target.id, 16272 value = target.value, 16273 checked = target.checked, 16274 outerHTML = target.outerHTML, 16275 options = target.options, 16276 multiple = target.multiple; 16277 field = maybePath ? maybePath : name ? name : id; 16278 16279 if (!field && "development" !== "production") { 16280 warnAboutMissingIdentifier({ 16281 htmlContent: outerHTML, 16282 documentationAnchorLink: 'handlechange-e-reactchangeeventany--void', 16283 handlerName: 'handleChange' 16284 }); 16285 } 16286 16287 val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes 16288 ? getValueForCheckbox(getIn(state.values, field), checked, value) : !!multiple // <select multiple> 16289 ? getSelectedValues(options) : value; 16290 } 16291 16292 if (field) { 16293 // Set form fields by name 16294 setFieldValue(field, val); 16295 } 16296 }, [setFieldValue, state.values]); 16297 var handleChange = useEventCallback(function (eventOrPath) { 16298 if (isString(eventOrPath)) { 16299 return function (event) { 16300 return executeChange(event, eventOrPath); 16301 }; 16302 } else { 16303 executeChange(eventOrPath); 16304 } 16305 }); 16306 var setFieldTouched = useEventCallback(function (field, touched, shouldValidate) { 16307 if (touched === void 0) { 16308 touched = true; 16309 } 16310 16311 dispatch({ 16312 type: 'SET_FIELD_TOUCHED', 16313 payload: { 16314 field: field, 16315 value: touched 16316 } 16317 }); 16318 var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate; 16319 return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve(); 16320 }); 16321 var executeBlur = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (e, path) { 16322 if (e.persist) { 16323 e.persist(); 16324 } 16325 16326 var _e$target = e.target, 16327 name = _e$target.name, 16328 id = _e$target.id, 16329 outerHTML = _e$target.outerHTML; 16330 var field = path ? path : name ? name : id; 16331 16332 if (!field && "development" !== "production") { 16333 warnAboutMissingIdentifier({ 16334 htmlContent: outerHTML, 16335 documentationAnchorLink: 'handleblur-e-any--void', 16336 handlerName: 'handleBlur' 16337 }); 16338 } 16339 16340 setFieldTouched(field, true); 16341 }, [setFieldTouched]); 16342 var handleBlur = useEventCallback(function (eventOrString) { 16343 if (isString(eventOrString)) { 16344 return function (event) { 16345 return executeBlur(event, eventOrString); 16346 }; 16347 } else { 16348 executeBlur(eventOrString); 16349 } 16350 }); 16351 var setFormikState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (stateOrCb) { 16352 if (isFunction(stateOrCb)) { 16353 dispatch({ 16354 type: 'SET_FORMIK_STATE', 16355 payload: stateOrCb 16356 }); 16357 } else { 16358 dispatch({ 16359 type: 'SET_FORMIK_STATE', 16360 payload: function payload() { 16361 return stateOrCb; 16362 } 16363 }); 16364 } 16365 }, []); 16366 var setStatus = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (status) { 16367 dispatch({ 16368 type: 'SET_STATUS', 16369 payload: status 16370 }); 16371 }, []); 16372 var setSubmitting = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (isSubmitting) { 16373 dispatch({ 16374 type: 'SET_ISSUBMITTING', 16375 payload: isSubmitting 16376 }); 16377 }, []); 16378 var submitForm = useEventCallback(function () { 16379 dispatch({ 16380 type: 'SUBMIT_ATTEMPT' 16381 }); 16382 return validateFormWithHighPriority().then(function (combinedErrors) { 16383 // In case an error was thrown and passed to the resolved Promise, 16384 // `combinedErrors` can be an instance of an Error. We need to check 16385 // that and abort the submit. 16386 // If we don't do that, calling `Object.keys(new Error())` yields an 16387 // empty array, which causes the validation to pass and the form 16388 // to be submitted. 16389 var isInstanceOfError = combinedErrors instanceof Error; 16390 var isActuallyValid = !isInstanceOfError && Object.keys(combinedErrors).length === 0; 16391 16392 if (isActuallyValid) { 16393 // Proceed with submit... 16394 // 16395 // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and 16396 // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false. 16397 // This would be fine in simple cases, but make it impossible to disable submit 16398 // buttons where people use callbacks or promises as side effects (which is basically 16399 // all of v1 Formik code). Instead, recall that we are inside of a promise chain already, 16400 // so we can try/catch executeSubmit(), if it returns undefined, then just bail. 16401 // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle 16402 // cleanup of isSubmitting on behalf of the consumer. 16403 var promiseOrUndefined; 16404 16405 try { 16406 promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up 16407 // via setSubmitting(false) 16408 16409 if (promiseOrUndefined === undefined) { 16410 return; 16411 } 16412 } catch (error) { 16413 throw error; 16414 } 16415 16416 return Promise.resolve(promiseOrUndefined).then(function (result) { 16417 if (!!isMounted.current) { 16418 dispatch({ 16419 type: 'SUBMIT_SUCCESS' 16420 }); 16421 } 16422 16423 return result; 16424 })["catch"](function (_errors) { 16425 if (!!isMounted.current) { 16426 dispatch({ 16427 type: 'SUBMIT_FAILURE' 16428 }); // This is a legit error rejected by the onSubmit fn 16429 // so we don't want to break the promise chain 16430 16431 throw _errors; 16432 } 16433 }); 16434 } else if (!!isMounted.current) { 16435 // ^^^ Make sure Formik is still mounted before updating state 16436 dispatch({ 16437 type: 'SUBMIT_FAILURE' 16438 }); // throw combinedErrors; 16439 16440 if (isInstanceOfError) { 16441 throw combinedErrors; 16442 } 16443 } 16444 16445 return; 16446 }); 16447 }); 16448 var handleSubmit = useEventCallback(function (e) { 16449 if (e && e.preventDefault && isFunction(e.preventDefault)) { 16450 e.preventDefault(); 16451 } 16452 16453 if (e && e.stopPropagation && isFunction(e.stopPropagation)) { 16454 e.stopPropagation(); 16455 } // Warn if form submission is triggered by a <button> without a 16456 // specified `type` attribute during development. This mitigates 16457 // a common gotcha in forms with both reset and submit buttons, 16458 // where the dev forgets to add type="button" to the reset button. 16459 16460 16461 if ( true && typeof document !== 'undefined') { 16462 // Safely get the active element (works with IE) 16463 var activeElement = getActiveElement(); 16464 16465 if (activeElement !== null && activeElement instanceof HTMLButtonElement) { 16466 !(activeElement.attributes && activeElement.attributes.getNamedItem('type')) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You submitted a Formik form using a button with an unspecified `type` attribute. Most browsers default button elements to `type="submit"`. If this is not a submit button, please add `type="button"`.') : undefined : void 0; 16467 } 16468 } 16469 16470 submitForm()["catch"](function (reason) { 16471 console.warn("Warning: An unhandled error was caught from submitForm()", reason); 16472 }); 16473 }); 16474 var imperativeMethods = { 16475 resetForm: resetForm, 16476 validateForm: validateFormWithHighPriority, 16477 validateField: validateField, 16478 setErrors: setErrors, 16479 setFieldError: setFieldError, 16480 setFieldTouched: setFieldTouched, 16481 setFieldValue: setFieldValue, 16482 setStatus: setStatus, 16483 setSubmitting: setSubmitting, 16484 setTouched: setTouched, 16485 setValues: setValues, 16486 setFormikState: setFormikState, 16487 submitForm: submitForm 16488 }; 16489 var executeSubmit = useEventCallback(function () { 16490 return onSubmit(state.values, imperativeMethods); 16491 }); 16492 var handleReset = useEventCallback(function (e) { 16493 if (e && e.preventDefault && isFunction(e.preventDefault)) { 16494 e.preventDefault(); 16495 } 16496 16497 if (e && e.stopPropagation && isFunction(e.stopPropagation)) { 16498 e.stopPropagation(); 16499 } 16500 16501 resetForm(); 16502 }); 16503 var getFieldMeta = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) { 16504 return { 16505 value: getIn(state.values, name), 16506 error: getIn(state.errors, name), 16507 touched: !!getIn(state.touched, name), 16508 initialValue: getIn(initialValues.current, name), 16509 initialTouched: !!getIn(initialTouched.current, name), 16510 initialError: getIn(initialErrors.current, name) 16511 }; 16512 }, [state.errors, state.touched, state.values]); 16513 var getFieldHelpers = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) { 16514 return { 16515 setValue: function setValue(value, shouldValidate) { 16516 return setFieldValue(name, value, shouldValidate); 16517 }, 16518 setTouched: function setTouched(value, shouldValidate) { 16519 return setFieldTouched(name, value, shouldValidate); 16520 }, 16521 setError: function setError(value) { 16522 return setFieldError(name, value); 16523 } 16524 }; 16525 }, [setFieldValue, setFieldTouched, setFieldError]); 16526 var getFieldProps = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (nameOrOptions) { 16527 var isAnObject = isObject(nameOrOptions); 16528 var name = isAnObject ? nameOrOptions.name : nameOrOptions; 16529 var valueState = getIn(state.values, name); 16530 var field = { 16531 name: name, 16532 value: valueState, 16533 onChange: handleChange, 16534 onBlur: handleBlur 16535 }; 16536 16537 if (isAnObject) { 16538 var type = nameOrOptions.type, 16539 valueProp = nameOrOptions.value, 16540 is = nameOrOptions.as, 16541 multiple = nameOrOptions.multiple; 16542 16543 if (type === 'checkbox') { 16544 if (valueProp === undefined) { 16545 field.checked = !!valueState; 16546 } else { 16547 field.checked = !!(Array.isArray(valueState) && ~valueState.indexOf(valueProp)); 16548 field.value = valueProp; 16549 } 16550 } else if (type === 'radio') { 16551 field.checked = valueState === valueProp; 16552 field.value = valueProp; 16553 } else if (is === 'select' && multiple) { 16554 field.value = field.value || []; 16555 field.multiple = true; 16556 } 16557 } 16558 16559 return field; 16560 }, [handleBlur, handleChange, state.values]); 16561 var dirty = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { 16562 return !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, state.values); 16563 }, [initialValues.current, state.values]); 16564 var isValid = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { 16565 return typeof isInitialValid !== 'undefined' ? dirty ? state.errors && Object.keys(state.errors).length === 0 : isInitialValid !== false && isFunction(isInitialValid) ? isInitialValid(props) : isInitialValid : state.errors && Object.keys(state.errors).length === 0; 16566 }, [isInitialValid, dirty, state.errors, props]); 16567 16568 var ctx = _extends({}, state, { 16569 initialValues: initialValues.current, 16570 initialErrors: initialErrors.current, 16571 initialTouched: initialTouched.current, 16572 initialStatus: initialStatus.current, 16573 handleBlur: handleBlur, 16574 handleChange: handleChange, 16575 handleReset: handleReset, 16576 handleSubmit: handleSubmit, 16577 resetForm: resetForm, 16578 setErrors: setErrors, 16579 setFormikState: setFormikState, 16580 setFieldTouched: setFieldTouched, 16581 setFieldValue: setFieldValue, 16582 setFieldError: setFieldError, 16583 setStatus: setStatus, 16584 setSubmitting: setSubmitting, 16585 setTouched: setTouched, 16586 setValues: setValues, 16587 submitForm: submitForm, 16588 validateForm: validateFormWithHighPriority, 16589 validateField: validateField, 16590 isValid: isValid, 16591 dirty: dirty, 16592 unregisterField: unregisterField, 16593 registerField: registerField, 16594 getFieldProps: getFieldProps, 16595 getFieldMeta: getFieldMeta, 16596 getFieldHelpers: getFieldHelpers, 16597 validateOnBlur: validateOnBlur, 16598 validateOnChange: validateOnChange, 16599 validateOnMount: validateOnMount 16600 }); 16601 16602 return ctx; 16603} 16604function Formik(props) { 16605 var formikbag = useFormik(props); 16606 var component = props.component, 16607 children = props.children, 16608 render = props.render, 16609 innerRef = props.innerRef; // This allows folks to pass a ref to <Formik /> 16610 16611 Object(react__WEBPACK_IMPORTED_MODULE_0__["useImperativeHandle"])(innerRef, function () { 16612 return formikbag; 16613 }); 16614 16615 if (true) { 16616 // eslint-disable-next-line react-hooks/rules-of-hooks 16617 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16618 !!props.render ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>") : undefined : void 0; // eslint-disable-next-line 16619 }, []); 16620 } 16621 16622 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(FormikProvider, { 16623 value: formikbag 16624 }, component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, formikbag) : render ? render(formikbag) : children // children come last, always called 16625 ? isFunction(children) ? children(formikbag) : !isEmptyChildren(children) ? react__WEBPACK_IMPORTED_MODULE_0__["Children"].only(children) : null : null); 16626} 16627 16628function warnAboutMissingIdentifier(_ref4) { 16629 var htmlContent = _ref4.htmlContent, 16630 documentationAnchorLink = _ref4.documentationAnchorLink, 16631 handlerName = _ref4.handlerName; 16632 console.warn("Warning: Formik called `" + handlerName + "`, but you forgot to pass an `id` or `name` attribute to your input:\n " + htmlContent + "\n Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#" + documentationAnchorLink + "\n "); 16633} 16634/** 16635 * Transform Yup ValidationError to a more usable object 16636 */ 16637 16638 16639function yupToFormErrors(yupError) { 16640 var errors = {}; 16641 16642 if (yupError.inner) { 16643 if (yupError.inner.length === 0) { 16644 return setIn(errors, yupError.path, yupError.message); 16645 } 16646 16647 for (var _iterator = yupError.inner, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { 16648 var _ref5; 16649 16650 if (_isArray) { 16651 if (_i >= _iterator.length) break; 16652 _ref5 = _iterator[_i++]; 16653 } else { 16654 _i = _iterator.next(); 16655 if (_i.done) break; 16656 _ref5 = _i.value; 16657 } 16658 16659 var err = _ref5; 16660 16661 if (!getIn(errors, err.path)) { 16662 errors = setIn(errors, err.path, err.message); 16663 } 16664 } 16665 } 16666 16667 return errors; 16668} 16669/** 16670 * Validate a yup schema. 16671 */ 16672 16673function validateYupSchema(values, schema, sync, context) { 16674 if (sync === void 0) { 16675 sync = false; 16676 } 16677 16678 if (context === void 0) { 16679 context = {}; 16680 } 16681 16682 var validateData = prepareDataForValidation(values); 16683 return schema[sync ? 'validateSync' : 'validate'](validateData, { 16684 abortEarly: false, 16685 context: context 16686 }); 16687} 16688/** 16689 * Recursively prepare values. 16690 */ 16691 16692function prepareDataForValidation(values) { 16693 var data = Array.isArray(values) ? [] : {}; 16694 16695 for (var k in values) { 16696 if (Object.prototype.hasOwnProperty.call(values, k)) { 16697 var key = String(k); 16698 16699 if (Array.isArray(values[key]) === true) { 16700 data[key] = values[key].map(function (value) { 16701 if (Array.isArray(value) === true || Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__["default"])(value)) { 16702 return prepareDataForValidation(value); 16703 } else { 16704 return value !== '' ? value : undefined; 16705 } 16706 }); 16707 } else if (Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__["default"])(values[key])) { 16708 data[key] = prepareDataForValidation(values[key]); 16709 } else { 16710 data[key] = values[key] !== '' ? values[key] : undefined; 16711 } 16712 } 16713 } 16714 16715 return data; 16716} 16717/** 16718 * deepmerge array merging algorithm 16719 * https://github.com/KyleAMathews/deepmerge#combine-array 16720 */ 16721 16722function arrayMerge(target, source, options) { 16723 var destination = target.slice(); 16724 source.forEach(function merge(e, i) { 16725 if (typeof destination[i] === 'undefined') { 16726 var cloneRequested = options.clone !== false; 16727 var shouldClone = cloneRequested && options.isMergeableObject(e); 16728 destination[i] = shouldClone ? Object(deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"])(Array.isArray(e) ? [] : {}, e, options) : e; 16729 } else if (options.isMergeableObject(e)) { 16730 destination[i] = Object(deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"])(target[i], e, options); 16731 } else if (target.indexOf(e) === -1) { 16732 destination.push(e); 16733 } 16734 }); 16735 return destination; 16736} 16737/** Return multi select values based on an array of options */ 16738 16739 16740function getSelectedValues(options) { 16741 return Array.from(options).filter(function (el) { 16742 return el.selected; 16743 }).map(function (el) { 16744 return el.value; 16745 }); 16746} 16747/** Return the next value for a checkbox */ 16748 16749 16750function getValueForCheckbox(currentValue, checked, valueProp) { 16751 // If the current value was a boolean, return a boolean 16752 if (typeof currentValue === 'boolean') { 16753 return Boolean(checked); 16754 } // If the currentValue was not a boolean we want to return an array 16755 16756 16757 var currentArrayOfValues = []; 16758 var isValueInArray = false; 16759 var index = -1; 16760 16761 if (!Array.isArray(currentValue)) { 16762 // eslint-disable-next-line eqeqeq 16763 if (!valueProp || valueProp == 'true' || valueProp == 'false') { 16764 return Boolean(checked); 16765 } 16766 } else { 16767 // If the current value is already an array, use it 16768 currentArrayOfValues = currentValue; 16769 index = currentValue.indexOf(valueProp); 16770 isValueInArray = index >= 0; 16771 } // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values 16772 16773 16774 if (checked && valueProp && !isValueInArray) { 16775 return currentArrayOfValues.concat(valueProp); 16776 } // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values 16777 16778 16779 if (!isValueInArray) { 16780 return currentArrayOfValues; 16781 } // If the checkbox was unchecked and the value is in the array, remove the value and return the array 16782 16783 16784 return currentArrayOfValues.slice(0, index).concat(currentArrayOfValues.slice(index + 1)); 16785} // React currently throws a warning when using useLayoutEffect on the server. 16786// To get around it, we can conditionally useEffect on the server (no-op) and 16787// useLayoutEffect in the browser. 16788// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85 16789 16790 16791var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"] : react__WEBPACK_IMPORTED_MODULE_0__["useEffect"]; 16792 16793function useEventCallback(fn) { 16794 var ref = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(fn); // we copy a ref to the callback scoped to the current state/props on each render 16795 16796 useIsomorphicLayoutEffect(function () { 16797 ref.current = fn; 16798 }); 16799 return Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function () { 16800 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 16801 args[_key] = arguments[_key]; 16802 } 16803 16804 return ref.current.apply(void 0, args); 16805 }, []); 16806} 16807 16808function useField(propsOrFieldName) { 16809 var formik = useFormikContext(); 16810 var getFieldProps = formik.getFieldProps, 16811 getFieldMeta = formik.getFieldMeta, 16812 getFieldHelpers = formik.getFieldHelpers, 16813 registerField = formik.registerField, 16814 unregisterField = formik.unregisterField; 16815 var isAnObject = isObject(propsOrFieldName); // Normalize propsOrFieldName to FieldHookConfig<Val> 16816 16817 var props = isAnObject ? propsOrFieldName : { 16818 name: propsOrFieldName 16819 }; 16820 var fieldName = props.name, 16821 validateFn = props.validate; 16822 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16823 if (fieldName) { 16824 registerField(fieldName, { 16825 validate: validateFn 16826 }); 16827 } 16828 16829 return function () { 16830 if (fieldName) { 16831 unregisterField(fieldName); 16832 } 16833 }; 16834 }, [registerField, unregisterField, fieldName, validateFn]); 16835 16836 if (true) { 16837 !formik ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'useField() / <Field /> must be used underneath a <Formik> component or withFormik() higher order component') : undefined : void 0; 16838 } 16839 16840 !fieldName ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'Invalid field name. Either pass `useField` a string or an object containing a `name` key.') : undefined : void 0; 16841 return [getFieldProps(props), getFieldMeta(fieldName), getFieldHelpers(fieldName)]; 16842} 16843function Field(_ref) { 16844 var validate = _ref.validate, 16845 name = _ref.name, 16846 render = _ref.render, 16847 children = _ref.children, 16848 is = _ref.as, 16849 component = _ref.component, 16850 props = _objectWithoutPropertiesLoose(_ref, ["validate", "name", "render", "children", "as", "component"]); 16851 16852 var _useFormikContext = useFormikContext(), 16853 formik = _objectWithoutPropertiesLoose(_useFormikContext, ["validate", "validationSchema"]); 16854 16855 if (true) { 16856 // eslint-disable-next-line react-hooks/rules-of-hooks 16857 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16858 !!render ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name=\"" + name + "\" render={({field, form}) => ...} /> with <Field name=\"" + name + "\">{({field, form, meta}) => ...}</Field>") : undefined : void 0; 16859 !!(is && children && isFunction(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.') : undefined : void 0; 16860 !!(component && children && isFunction(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.') : undefined : void 0; 16861 !!(render && children && !isEmptyChildren(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored') : undefined : void 0; // eslint-disable-next-line 16862 }, []); 16863 } // Register field and field-level validation with parent <Formik> 16864 16865 16866 var registerField = formik.registerField, 16867 unregisterField = formik.unregisterField; 16868 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 16869 registerField(name, { 16870 validate: validate 16871 }); 16872 return function () { 16873 unregisterField(name); 16874 }; 16875 }, [registerField, unregisterField, name, validate]); 16876 var field = formik.getFieldProps(_extends({ 16877 name: name 16878 }, props)); 16879 var meta = formik.getFieldMeta(name); 16880 var legacyBag = { 16881 field: field, 16882 form: formik 16883 }; 16884 16885 if (render) { 16886 return render(_extends({}, legacyBag, { 16887 meta: meta 16888 })); 16889 } 16890 16891 if (isFunction(children)) { 16892 return children(_extends({}, legacyBag, { 16893 meta: meta 16894 })); 16895 } 16896 16897 if (component) { 16898 // This behavior is backwards compat with earlier Formik 0.9 to 1.x 16899 if (typeof component === 'string') { 16900 var innerRef = props.innerRef, 16901 rest = _objectWithoutPropertiesLoose(props, ["innerRef"]); 16902 16903 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({ 16904 ref: innerRef 16905 }, field, rest), children); 16906 } // We don't pass `meta` for backwards compat 16907 16908 16909 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({ 16910 field: field, 16911 form: formik 16912 }, props), children); 16913 } // default to input here so we can check for both `as` and `children` above 16914 16915 16916 var asElement = is || 'input'; 16917 16918 if (typeof asElement === 'string') { 16919 var _innerRef = props.innerRef, 16920 _rest = _objectWithoutPropertiesLoose(props, ["innerRef"]); 16921 16922 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({ 16923 ref: _innerRef 16924 }, field, _rest), children); 16925 } 16926 16927 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({}, field, props), children); 16928} 16929 16930var Form = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(function (props, ref) { 16931 // iOS needs an "action" attribute for nice input: https://stackoverflow.com/a/39485162/406725 16932 // We default the action to "#" in case the preventDefault fails (just updates the URL hash) 16933 var action = props.action, 16934 rest = _objectWithoutPropertiesLoose(props, ["action"]); 16935 16936 var _action = action || '#'; 16937 16938 var _useFormikContext = useFormikContext(), 16939 handleReset = _useFormikContext.handleReset, 16940 handleSubmit = _useFormikContext.handleSubmit; 16941 16942 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])("form", Object.assign({ 16943 onSubmit: handleSubmit, 16944 ref: ref, 16945 onReset: handleReset, 16946 action: _action 16947 }, rest)); 16948}); 16949Form.displayName = 'Form'; 16950 16951/** 16952 * A public higher-order component to access the imperative API 16953 */ 16954 16955function withFormik(_ref) { 16956 var _ref$mapPropsToValues = _ref.mapPropsToValues, 16957 mapPropsToValues = _ref$mapPropsToValues === void 0 ? function (vanillaProps) { 16958 var val = {}; 16959 16960 for (var k in vanillaProps) { 16961 if (vanillaProps.hasOwnProperty(k) && typeof vanillaProps[k] !== 'function') { 16962 // @todo TypeScript fix 16963 val[k] = vanillaProps[k]; 16964 } 16965 } 16966 16967 return val; 16968 } : _ref$mapPropsToValues, 16969 config = _objectWithoutPropertiesLoose(_ref, ["mapPropsToValues"]); 16970 16971 return function createFormik(Component$1) { 16972 var componentDisplayName = Component$1.displayName || Component$1.name || Component$1.constructor && Component$1.constructor.name || 'Component'; 16973 /** 16974 * We need to use closures here for to provide the wrapped component's props to 16975 * the respective withFormik config methods. 16976 */ 16977 16978 var C = /*#__PURE__*/function (_React$Component) { 16979 _inheritsLoose(C, _React$Component); 16980 16981 function C() { 16982 var _this; 16983 16984 _this = _React$Component.apply(this, arguments) || this; 16985 16986 _this.validate = function (values) { 16987 return config.validate(values, _this.props); 16988 }; 16989 16990 _this.validationSchema = function () { 16991 return isFunction(config.validationSchema) ? config.validationSchema(_this.props) : config.validationSchema; 16992 }; 16993 16994 _this.handleSubmit = function (values, actions) { 16995 return config.handleSubmit(values, _extends({}, actions, { 16996 props: _this.props 16997 })); 16998 }; 16999 /** 17000 * Just avoiding a render callback for perf here 17001 */ 17002 17003 17004 _this.renderFormComponent = function (formikProps) { 17005 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Component$1, Object.assign({}, _this.props, formikProps)); 17006 }; 17007 17008 return _this; 17009 } 17010 17011 var _proto = C.prototype; 17012 17013 _proto.render = function render() { 17014 var _this$props = this.props, 17015 props = _objectWithoutPropertiesLoose(_this$props, ["children"]); 17016 17017 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Formik, Object.assign({}, props, config, { 17018 validate: config.validate && this.validate, 17019 validationSchema: config.validationSchema && this.validationSchema, 17020 initialValues: mapPropsToValues(this.props), 17021 initialStatus: config.mapPropsToStatus && config.mapPropsToStatus(this.props), 17022 initialErrors: config.mapPropsToErrors && config.mapPropsToErrors(this.props), 17023 initialTouched: config.mapPropsToTouched && config.mapPropsToTouched(this.props), 17024 onSubmit: this.handleSubmit, 17025 children: this.renderFormComponent 17026 })); 17027 }; 17028 17029 return C; 17030 }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 17031 17032 C.displayName = "WithFormik(" + componentDisplayName + ")"; 17033 return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Component$1 // cast type to ComponentClass (even if SFC) 17034 ); 17035 }; 17036} 17037 17038/** 17039 * Connect any component to Formik context, and inject as a prop called `formik`; 17040 * @param Comp React Component 17041 */ 17042 17043function connect(Comp) { 17044 var C = function C(props) { 17045 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(FormikConsumer, null, function (formik) { 17046 !!!formik ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "Formik context is undefined, please verify you are rendering <Form>, <Field>, <FastField>, <FieldArray>, or your custom context-using component as a child of a <Formik> component. Component name: " + Comp.name) : undefined : void 0; 17047 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Comp, Object.assign({}, props, { 17048 formik: formik 17049 })); 17050 }); 17051 }; 17052 17053 var componentDisplayName = Comp.displayName || Comp.name || Comp.constructor && Comp.constructor.name || 'Component'; // Assign Comp to C.WrappedComponent so we can access the inner component in tests 17054 // For example, <Field.WrappedComponent /> gets us <FieldInner/> 17055 17056 C.WrappedComponent = Comp; 17057 C.displayName = "FormikConnect(" + componentDisplayName + ")"; 17058 return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Comp // cast type to ComponentClass (even if SFC) 17059 ); 17060} 17061 17062/** 17063 * Some array helpers! 17064 */ 17065 17066var move = function move(array, from, to) { 17067 var copy = copyArrayLike(array); 17068 var value = copy[from]; 17069 copy.splice(from, 1); 17070 copy.splice(to, 0, value); 17071 return copy; 17072}; 17073var swap = function swap(arrayLike, indexA, indexB) { 17074 var copy = copyArrayLike(arrayLike); 17075 var a = copy[indexA]; 17076 copy[indexA] = copy[indexB]; 17077 copy[indexB] = a; 17078 return copy; 17079}; 17080var insert = function insert(arrayLike, index, value) { 17081 var copy = copyArrayLike(arrayLike); 17082 copy.splice(index, 0, value); 17083 return copy; 17084}; 17085var replace = function replace(arrayLike, index, value) { 17086 var copy = copyArrayLike(arrayLike); 17087 copy[index] = value; 17088 return copy; 17089}; 17090 17091var copyArrayLike = function copyArrayLike(arrayLike) { 17092 if (!arrayLike) { 17093 return []; 17094 } else if (Array.isArray(arrayLike)) { 17095 return [].concat(arrayLike); 17096 } else { 17097 var maxIndex = Object.keys(arrayLike).map(function (key) { 17098 return parseInt(key); 17099 }).reduce(function (max, el) { 17100 return el > max ? el : max; 17101 }, 0); 17102 return Array.from(_extends({}, arrayLike, { 17103 length: maxIndex + 1 17104 })); 17105 } 17106}; 17107 17108var FieldArrayInner = /*#__PURE__*/function (_React$Component) { 17109 _inheritsLoose(FieldArrayInner, _React$Component); 17110 17111 function FieldArrayInner(props) { 17112 var _this; 17113 17114 _this = _React$Component.call(this, props) || this; 17115 17116 _this.updateArrayField = function (fn, alterTouched, alterErrors) { 17117 var _this$props = _this.props, 17118 name = _this$props.name, 17119 setFormikState = _this$props.formik.setFormikState; 17120 setFormikState(function (prevState) { 17121 var updateErrors = typeof alterErrors === 'function' ? alterErrors : fn; 17122 var updateTouched = typeof alterTouched === 'function' ? alterTouched : fn; // values fn should be executed before updateErrors and updateTouched, 17123 // otherwise it causes an error with unshift. 17124 17125 var values = setIn(prevState.values, name, fn(getIn(prevState.values, name))); 17126 var fieldError = alterErrors ? updateErrors(getIn(prevState.errors, name)) : undefined; 17127 var fieldTouched = alterTouched ? updateTouched(getIn(prevState.touched, name)) : undefined; 17128 17129 if (isEmptyArray(fieldError)) { 17130 fieldError = undefined; 17131 } 17132 17133 if (isEmptyArray(fieldTouched)) { 17134 fieldTouched = undefined; 17135 } 17136 17137 return _extends({}, prevState, { 17138 values: values, 17139 errors: alterErrors ? setIn(prevState.errors, name, fieldError) : prevState.errors, 17140 touched: alterTouched ? setIn(prevState.touched, name, fieldTouched) : prevState.touched 17141 }); 17142 }); 17143 }; 17144 17145 _this.push = function (value) { 17146 return _this.updateArrayField(function (arrayLike) { 17147 return [].concat(copyArrayLike(arrayLike), [Object(lodash_es_cloneDeep__WEBPACK_IMPORTED_MODULE_8__["default"])(value)]); 17148 }, false, false); 17149 }; 17150 17151 _this.handlePush = function (value) { 17152 return function () { 17153 return _this.push(value); 17154 }; 17155 }; 17156 17157 _this.swap = function (indexA, indexB) { 17158 return _this.updateArrayField(function (array) { 17159 return swap(array, indexA, indexB); 17160 }, true, true); 17161 }; 17162 17163 _this.handleSwap = function (indexA, indexB) { 17164 return function () { 17165 return _this.swap(indexA, indexB); 17166 }; 17167 }; 17168 17169 _this.move = function (from, to) { 17170 return _this.updateArrayField(function (array) { 17171 return move(array, from, to); 17172 }, true, true); 17173 }; 17174 17175 _this.handleMove = function (from, to) { 17176 return function () { 17177 return _this.move(from, to); 17178 }; 17179 }; 17180 17181 _this.insert = function (index, value) { 17182 return _this.updateArrayField(function (array) { 17183 return insert(array, index, value); 17184 }, function (array) { 17185 return insert(array, index, null); 17186 }, function (array) { 17187 return insert(array, index, null); 17188 }); 17189 }; 17190 17191 _this.handleInsert = function (index, value) { 17192 return function () { 17193 return _this.insert(index, value); 17194 }; 17195 }; 17196 17197 _this.replace = function (index, value) { 17198 return _this.updateArrayField(function (array) { 17199 return replace(array, index, value); 17200 }, false, false); 17201 }; 17202 17203 _this.handleReplace = function (index, value) { 17204 return function () { 17205 return _this.replace(index, value); 17206 }; 17207 }; 17208 17209 _this.unshift = function (value) { 17210 var length = -1; 17211 17212 _this.updateArrayField(function (array) { 17213 var arr = array ? [value].concat(array) : [value]; 17214 17215 if (length < 0) { 17216 length = arr.length; 17217 } 17218 17219 return arr; 17220 }, function (array) { 17221 var arr = array ? [null].concat(array) : [null]; 17222 17223 if (length < 0) { 17224 length = arr.length; 17225 } 17226 17227 return arr; 17228 }, function (array) { 17229 var arr = array ? [null].concat(array) : [null]; 17230 17231 if (length < 0) { 17232 length = arr.length; 17233 } 17234 17235 return arr; 17236 }); 17237 17238 return length; 17239 }; 17240 17241 _this.handleUnshift = function (value) { 17242 return function () { 17243 return _this.unshift(value); 17244 }; 17245 }; 17246 17247 _this.handleRemove = function (index) { 17248 return function () { 17249 return _this.remove(index); 17250 }; 17251 }; 17252 17253 _this.handlePop = function () { 17254 return function () { 17255 return _this.pop(); 17256 }; 17257 }; // We need TypeScript generics on these, so we'll bind them in the constructor 17258 // @todo Fix TS 3.2.1 17259 17260 17261 _this.remove = _this.remove.bind(_assertThisInitialized(_this)); 17262 _this.pop = _this.pop.bind(_assertThisInitialized(_this)); 17263 return _this; 17264 } 17265 17266 var _proto = FieldArrayInner.prototype; 17267 17268 _proto.componentDidUpdate = function componentDidUpdate(prevProps) { 17269 if (this.props.validateOnChange && this.props.formik.validateOnChange && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(getIn(prevProps.formik.values, prevProps.name), getIn(this.props.formik.values, this.props.name))) { 17270 this.props.formik.validateForm(this.props.formik.values); 17271 } 17272 }; 17273 17274 _proto.remove = function remove(index) { 17275 // We need to make sure we also remove relevant pieces of `touched` and `errors` 17276 var result; 17277 this.updateArrayField( // so this gets call 3 times 17278 function (array) { 17279 var copy = array ? copyArrayLike(array) : []; 17280 17281 if (!result) { 17282 result = copy[index]; 17283 } 17284 17285 if (isFunction(copy.splice)) { 17286 copy.splice(index, 1); 17287 } 17288 17289 return copy; 17290 }, true, true); 17291 return result; 17292 }; 17293 17294 _proto.pop = function pop() { 17295 // Remove relevant pieces of `touched` and `errors` too! 17296 var result; 17297 this.updateArrayField( // so this gets call 3 times 17298 function (array) { 17299 var tmp = array; 17300 17301 if (!result) { 17302 result = tmp && tmp.pop && tmp.pop(); 17303 } 17304 17305 return tmp; 17306 }, true, true); 17307 return result; 17308 }; 17309 17310 _proto.render = function render() { 17311 var arrayHelpers = { 17312 push: this.push, 17313 pop: this.pop, 17314 swap: this.swap, 17315 move: this.move, 17316 insert: this.insert, 17317 replace: this.replace, 17318 unshift: this.unshift, 17319 remove: this.remove, 17320 handlePush: this.handlePush, 17321 handlePop: this.handlePop, 17322 handleSwap: this.handleSwap, 17323 handleMove: this.handleMove, 17324 handleInsert: this.handleInsert, 17325 handleReplace: this.handleReplace, 17326 handleUnshift: this.handleUnshift, 17327 handleRemove: this.handleRemove 17328 }; 17329 17330 var _this$props2 = this.props, 17331 component = _this$props2.component, 17332 render = _this$props2.render, 17333 children = _this$props2.children, 17334 name = _this$props2.name, 17335 _this$props2$formik = _this$props2.formik, 17336 restOfFormik = _objectWithoutPropertiesLoose(_this$props2$formik, ["validate", "validationSchema"]); 17337 17338 var props = _extends({}, arrayHelpers, { 17339 form: restOfFormik, 17340 name: name 17341 }); 17342 17343 return component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, props) : render ? render(props) : children // children come last, always called 17344 ? typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? react__WEBPACK_IMPORTED_MODULE_0__["Children"].only(children) : null : null; 17345 }; 17346 17347 return FieldArrayInner; 17348}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 17349 17350FieldArrayInner.defaultProps = { 17351 validateOnChange: true 17352}; 17353var FieldArray = /*#__PURE__*/connect(FieldArrayInner); 17354 17355var ErrorMessageImpl = /*#__PURE__*/function (_React$Component) { 17356 _inheritsLoose(ErrorMessageImpl, _React$Component); 17357 17358 function ErrorMessageImpl() { 17359 return _React$Component.apply(this, arguments) || this; 17360 } 17361 17362 var _proto = ErrorMessageImpl.prototype; 17363 17364 _proto.shouldComponentUpdate = function shouldComponentUpdate(props) { 17365 if (getIn(this.props.formik.errors, this.props.name) !== getIn(props.formik.errors, this.props.name) || getIn(this.props.formik.touched, this.props.name) !== getIn(props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length) { 17366 return true; 17367 } else { 17368 return false; 17369 } 17370 }; 17371 17372 _proto.render = function render() { 17373 var _this$props = this.props, 17374 component = _this$props.component, 17375 formik = _this$props.formik, 17376 render = _this$props.render, 17377 children = _this$props.children, 17378 name = _this$props.name, 17379 rest = _objectWithoutPropertiesLoose(_this$props, ["component", "formik", "render", "children", "name"]); 17380 17381 var touch = getIn(formik.touched, name); 17382 var error = getIn(formik.errors, name); 17383 return !!touch && !!error ? render ? isFunction(render) ? render(error) : null : children ? isFunction(children) ? children(error) : null : component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, rest, error) : error : null; 17384 }; 17385 17386 return ErrorMessageImpl; 17387}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 17388 17389var ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl); 17390 17391/** 17392 * Custom Field component for quickly hooking into Formik 17393 * context and wiring up forms. 17394 */ 17395 17396var FastFieldInner = /*#__PURE__*/function (_React$Component) { 17397 _inheritsLoose(FastFieldInner, _React$Component); 17398 17399 function FastFieldInner(props) { 17400 var _this; 17401 17402 _this = _React$Component.call(this, props) || this; 17403 var render = props.render, 17404 children = props.children, 17405 component = props.component, 17406 is = props.as, 17407 name = props.name; 17408 !!render ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<FastField render> has been deprecated. Please use a child callback function instead: <FastField name={" + name + "}>{props => ...}</FastField> instead.") : undefined : void 0; 17409 !!(component && render) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField component> and <FastField render> in the same <FastField> component; <FastField component> will be ignored') : undefined : void 0; 17410 !!(is && children && isFunction(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField as> and <FastField children> as a function in the same <FastField> component; <FastField as> will be ignored.') : undefined : void 0; 17411 !!(component && children && isFunction(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField component> and <FastField children> as a function in the same <FastField> component; <FastField component> will be ignored.') : undefined : void 0; 17412 !!(render && children && !isEmptyChildren(children)) ? true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField render> and <FastField children> in the same <FastField> component; <FastField children> will be ignored') : undefined : void 0; 17413 return _this; 17414 } 17415 17416 var _proto = FastFieldInner.prototype; 17417 17418 _proto.shouldComponentUpdate = function shouldComponentUpdate(props) { 17419 if (this.props.shouldUpdate) { 17420 return this.props.shouldUpdate(props, this.props); 17421 } else if (props.name !== this.props.name || getIn(props.formik.values, this.props.name) !== getIn(this.props.formik.values, this.props.name) || getIn(props.formik.errors, this.props.name) !== getIn(this.props.formik.errors, this.props.name) || getIn(props.formik.touched, this.props.name) !== getIn(this.props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length || props.formik.isSubmitting !== this.props.formik.isSubmitting) { 17422 return true; 17423 } else { 17424 return false; 17425 } 17426 }; 17427 17428 _proto.componentDidMount = function componentDidMount() { 17429 // Register the Field with the parent Formik. Parent will cycle through 17430 // registered Field's validate fns right prior to submit 17431 this.props.formik.registerField(this.props.name, { 17432 validate: this.props.validate 17433 }); 17434 }; 17435 17436 _proto.componentDidUpdate = function componentDidUpdate(prevProps) { 17437 if (this.props.name !== prevProps.name) { 17438 this.props.formik.unregisterField(prevProps.name); 17439 this.props.formik.registerField(this.props.name, { 17440 validate: this.props.validate 17441 }); 17442 } 17443 17444 if (this.props.validate !== prevProps.validate) { 17445 this.props.formik.registerField(this.props.name, { 17446 validate: this.props.validate 17447 }); 17448 } 17449 }; 17450 17451 _proto.componentWillUnmount = function componentWillUnmount() { 17452 this.props.formik.unregisterField(this.props.name); 17453 }; 17454 17455 _proto.render = function render() { 17456 var _this$props = this.props, 17457 name = _this$props.name, 17458 render = _this$props.render, 17459 is = _this$props.as, 17460 children = _this$props.children, 17461 component = _this$props.component, 17462 formik = _this$props.formik, 17463 props = _objectWithoutPropertiesLoose(_this$props, ["validate", "name", "render", "as", "children", "component", "shouldUpdate", "formik"]); 17464 17465 var restOfFormik = _objectWithoutPropertiesLoose(formik, ["validate", "validationSchema"]); 17466 17467 var field = formik.getFieldProps(_extends({ 17468 name: name 17469 }, props)); 17470 var meta = { 17471 value: getIn(formik.values, name), 17472 error: getIn(formik.errors, name), 17473 touched: !!getIn(formik.touched, name), 17474 initialValue: getIn(formik.initialValues, name), 17475 initialTouched: !!getIn(formik.initialTouched, name), 17476 initialError: getIn(formik.initialErrors, name) 17477 }; 17478 var bag = { 17479 field: field, 17480 meta: meta, 17481 form: restOfFormik 17482 }; 17483 17484 if (render) { 17485 return render(bag); 17486 } 17487 17488 if (isFunction(children)) { 17489 return children(bag); 17490 } 17491 17492 if (component) { 17493 // This behavior is backwards compat with earlier Formik 0.9 to 1.x 17494 if (typeof component === 'string') { 17495 var innerRef = props.innerRef, 17496 rest = _objectWithoutPropertiesLoose(props, ["innerRef"]); 17497 17498 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({ 17499 ref: innerRef 17500 }, field, rest), children); 17501 } // We don't pass `meta` for backwards compat 17502 17503 17504 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({ 17505 field: field, 17506 form: formik 17507 }, props), children); 17508 } // default to input here so we can check for both `as` and `children` above 17509 17510 17511 var asElement = is || 'input'; 17512 17513 if (typeof asElement === 'string') { 17514 var _innerRef = props.innerRef, 17515 _rest = _objectWithoutPropertiesLoose(props, ["innerRef"]); 17516 17517 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({ 17518 ref: _innerRef 17519 }, field, _rest), children); 17520 } 17521 17522 return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({}, field, props), children); 17523 }; 17524 17525 return FastFieldInner; 17526}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 17527 17528var FastField = /*#__PURE__*/connect(FastFieldInner); 17529 17530 17531//# sourceMappingURL=formik.esm.js.map 17532 17533 17534/***/ }), 17535
vendor: 3,244 bytes, lines 17536-17650
17536/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": 17537/*!**********************************************************************************!*\ 17538 !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! 17539 \**********************************************************************************/ 17540/*! no static exports found */ 17541/***/ (function(module, exports, __webpack_require__) { 17542 17543"use strict"; 17544 17545 17546var reactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); 17547 17548/** 17549 * Copyright 2015, Yahoo! Inc. 17550 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. 17551 */ 17552var REACT_STATICS = { 17553 childContextTypes: true, 17554 contextType: true, 17555 contextTypes: true, 17556 defaultProps: true, 17557 displayName: true, 17558 getDefaultProps: true, 17559 getDerivedStateFromError: true, 17560 getDerivedStateFromProps: true, 17561 mixins: true, 17562 propTypes: true, 17563 type: true 17564}; 17565var KNOWN_STATICS = { 17566 name: true, 17567 length: true, 17568 prototype: true, 17569 caller: true, 17570 callee: true, 17571 arguments: true, 17572 arity: true 17573}; 17574var FORWARD_REF_STATICS = { 17575 '$$typeof': true, 17576 render: true, 17577 defaultProps: true, 17578 displayName: true, 17579 propTypes: true 17580}; 17581var MEMO_STATICS = { 17582 '$$typeof': true, 17583 compare: true, 17584 defaultProps: true, 17585 displayName: true, 17586 propTypes: true, 17587 type: true 17588}; 17589var TYPE_STATICS = {}; 17590TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; 17591TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; 17592 17593function getStatics(component) { 17594 // React v16.11 and below 17595 if (reactIs.isMemo(component)) { 17596 return MEMO_STATICS; 17597 } // React v16.12 and above 17598 17599 17600 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; 17601} 17602 17603var defineProperty = Object.defineProperty; 17604var getOwnPropertyNames = Object.getOwnPropertyNames; 17605var getOwnPropertySymbols = Object.getOwnPropertySymbols; 17606var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 17607var getPrototypeOf = Object.getPrototypeOf; 17608var objectPrototype = Object.prototype; 17609function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { 17610 if (typeof sourceComponent !== 'string') { 17611 // don't hoist over string (html) components 17612 if (objectPrototype) { 17613 var inheritedComponent = getPrototypeOf(sourceComponent); 17614 17615 if (inheritedComponent && inheritedComponent !== objectPrototype) { 17616 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); 17617 } 17618 } 17619 17620 var keys = getOwnPropertyNames(sourceComponent); 17621 17622 if (getOwnPropertySymbols) { 17623 keys = keys.concat(getOwnPropertySymbols(sourceComponent)); 17624 } 17625 17626 var targetStatics = getStatics(targetComponent); 17627 var sourceStatics = getStatics(sourceComponent); 17628 17629 for (var i = 0; i < keys.length; ++i) { 17630 var key = keys[i]; 17631 17632 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { 17633 var descriptor = getOwnPropertyDescriptor(sourceComponent, key); 17634 17635 try { 17636 // Avoid failures from read-only properties 17637 defineProperty(targetComponent, key, descriptor); 17638 } catch (e) {} 17639 } 17640 } 17641 } 17642 17643 return targetComponent; 17644} 17645 17646module.exports = hoistNonReactStatics; 17647 17648 17649/***/ }), 17650
vendor: 952 bytes, lines 17651-17672
17651/***/ "./node_modules/lodash-es/_DataView.js": 17652/*!*********************************************!*\ 17653 !*** ./node_modules/lodash-es/_DataView.js ***! 17654 \*********************************************/ 17655/*! exports provided: default */ 17656/***/ (function(module, __webpack_exports__, __webpack_require__) { 17657 17658"use strict"; 17659__webpack_require__.r(__webpack_exports__); 17660/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 17661/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17662 17663 17664 17665/* Built-in method references that are verified to be native. */ 17666var DataView = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'DataView'); 17667 17668/* harmony default export */ __webpack_exports__["default"] = (DataView); 17669 17670 17671/***/ }), 17672
vendor: 1,945 bytes, lines 17673-17722
17673/***/ "./node_modules/lodash-es/_Hash.js": 17674/*!*****************************************!*\ 17675 !*** ./node_modules/lodash-es/_Hash.js ***! 17676 \*****************************************/ 17677/*! exports provided: default */ 17678/***/ (function(module, __webpack_exports__, __webpack_require__) { 17679 17680"use strict"; 17681__webpack_require__.r(__webpack_exports__); 17682/* harmony import */ var _hashClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_hashClear.js */ "./node_modules/lodash-es/_hashClear.js"); 17683/* harmony import */ var _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hashDelete.js */ "./node_modules/lodash-es/_hashDelete.js"); 17684/* harmony import */ var _hashGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hashGet.js */ "./node_modules/lodash-es/_hashGet.js"); 17685/* harmony import */ var _hashHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hashHas.js */ "./node_modules/lodash-es/_hashHas.js"); 17686/* harmony import */ var _hashSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_hashSet.js */ "./node_modules/lodash-es/_hashSet.js"); 17687 17688 17689 17690 17691 17692 17693/** 17694 * Creates a hash object. 17695 * 17696 * @private 17697 * @constructor 17698 * @param {Array} [entries] The key-value pairs to cache. 17699 */ 17700function Hash(entries) { 17701 var index = -1, 17702 length = entries == null ? 0 : entries.length; 17703 17704 this.clear(); 17705 while (++index < length) { 17706 var entry = entries[index]; 17707 this.set(entry[0], entry[1]); 17708 } 17709} 17710 17711// Add methods to `Hash`. 17712Hash.prototype.clear = _hashClear_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 17713Hash.prototype['delete'] = _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"]; 17714Hash.prototype.get = _hashGet_js__WEBPACK_IMPORTED_MODULE_2__["default"]; 17715Hash.prototype.has = _hashHas_js__WEBPACK_IMPORTED_MODULE_3__["default"]; 17716Hash.prototype.set = _hashSet_js__WEBPACK_IMPORTED_MODULE_4__["default"]; 17717 17718/* harmony default export */ __webpack_exports__["default"] = (Hash); 17719 17720 17721/***/ }), 17722
vendor: 2,112 bytes, lines 17723-17772
17723/***/ "./node_modules/lodash-es/_ListCache.js": 17724/*!**********************************************!*\ 17725 !*** ./node_modules/lodash-es/_ListCache.js ***! 17726 \**********************************************/ 17727/*! exports provided: default */ 17728/***/ (function(module, __webpack_exports__, __webpack_require__) { 17729 17730"use strict"; 17731__webpack_require__.r(__webpack_exports__); 17732/* harmony import */ var _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_listCacheClear.js */ "./node_modules/lodash-es/_listCacheClear.js"); 17733/* harmony import */ var _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_listCacheDelete.js */ "./node_modules/lodash-es/_listCacheDelete.js"); 17734/* harmony import */ var _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_listCacheGet.js */ "./node_modules/lodash-es/_listCacheGet.js"); 17735/* harmony import */ var _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_listCacheHas.js */ "./node_modules/lodash-es/_listCacheHas.js"); 17736/* harmony import */ var _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_listCacheSet.js */ "./node_modules/lodash-es/_listCacheSet.js"); 17737 17738 17739 17740 17741 17742 17743/** 17744 * Creates an list cache object. 17745 * 17746 * @private 17747 * @constructor 17748 * @param {Array} [entries] The key-value pairs to cache. 17749 */ 17750function ListCache(entries) { 17751 var index = -1, 17752 length = entries == null ? 0 : entries.length; 17753 17754 this.clear(); 17755 while (++index < length) { 17756 var entry = entries[index]; 17757 this.set(entry[0], entry[1]); 17758 } 17759} 17760 17761// Add methods to `ListCache`. 17762ListCache.prototype.clear = _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 17763ListCache.prototype['delete'] = _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"]; 17764ListCache.prototype.get = _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__["default"]; 17765ListCache.prototype.has = _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__["default"]; 17766ListCache.prototype.set = _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__["default"]; 17767 17768/* harmony default export */ __webpack_exports__["default"] = (ListCache); 17769 17770 17771/***/ }), 17772
vendor: 917 bytes, lines 17773-17794
17773/***/ "./node_modules/lodash-es/_Map.js": 17774/*!****************************************!*\ 17775 !*** ./node_modules/lodash-es/_Map.js ***! 17776 \****************************************/ 17777/*! exports provided: default */ 17778/***/ (function(module, __webpack_exports__, __webpack_require__) { 17779 17780"use strict"; 17781__webpack_require__.r(__webpack_exports__); 17782/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 17783/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17784 17785 17786 17787/* Built-in method references that are verified to be native. */ 17788var Map = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Map'); 17789 17790/* harmony default export */ __webpack_exports__["default"] = (Map); 17791 17792 17793/***/ }), 17794
vendor: 2,103 bytes, lines 17795-17844
17795/***/ "./node_modules/lodash-es/_MapCache.js": 17796/*!*********************************************!*\ 17797 !*** ./node_modules/lodash-es/_MapCache.js ***! 17798 \*********************************************/ 17799/*! exports provided: default */ 17800/***/ (function(module, __webpack_exports__, __webpack_require__) { 17801 17802"use strict"; 17803__webpack_require__.r(__webpack_exports__); 17804/* harmony import */ var _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_mapCacheClear.js */ "./node_modules/lodash-es/_mapCacheClear.js"); 17805/* harmony import */ var _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_mapCacheDelete.js */ "./node_modules/lodash-es/_mapCacheDelete.js"); 17806/* harmony import */ var _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapCacheGet.js */ "./node_modules/lodash-es/_mapCacheGet.js"); 17807/* harmony import */ var _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_mapCacheHas.js */ "./node_modules/lodash-es/_mapCacheHas.js"); 17808/* harmony import */ var _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapCacheSet.js */ "./node_modules/lodash-es/_mapCacheSet.js"); 17809 17810 17811 17812 17813 17814 17815/** 17816 * Creates a map cache object to store key-value pairs. 17817 * 17818 * @private 17819 * @constructor 17820 * @param {Array} [entries] The key-value pairs to cache. 17821 */ 17822function MapCache(entries) { 17823 var index = -1, 17824 length = entries == null ? 0 : entries.length; 17825 17826 this.clear(); 17827 while (++index < length) { 17828 var entry = entries[index]; 17829 this.set(entry[0], entry[1]); 17830 } 17831} 17832 17833// Add methods to `MapCache`. 17834MapCache.prototype.clear = _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 17835MapCache.prototype['delete'] = _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"]; 17836MapCache.prototype.get = _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__["default"]; 17837MapCache.prototype.has = _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__["default"]; 17838MapCache.prototype.set = _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__["default"]; 17839 17840/* harmony default export */ __webpack_exports__["default"] = (MapCache); 17841 17842 17843/***/ }), 17844
vendor: 945 bytes, lines 17845-17866
17845/***/ "./node_modules/lodash-es/_Promise.js": 17846/*!********************************************!*\ 17847 !*** ./node_modules/lodash-es/_Promise.js ***! 17848 \********************************************/ 17849/*! exports provided: default */ 17850/***/ (function(module, __webpack_exports__, __webpack_require__) { 17851 17852"use strict"; 17853__webpack_require__.r(__webpack_exports__); 17854/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 17855/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17856 17857 17858 17859/* Built-in method references that are verified to be native. */ 17860var Promise = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Promise'); 17861 17862/* harmony default export */ __webpack_exports__["default"] = (Promise); 17863 17864 17865/***/ }), 17866
vendor: 917 bytes, lines 17867-17888
17867/***/ "./node_modules/lodash-es/_Set.js": 17868/*!****************************************!*\ 17869 !*** ./node_modules/lodash-es/_Set.js ***! 17870 \****************************************/ 17871/*! exports provided: default */ 17872/***/ (function(module, __webpack_exports__, __webpack_require__) { 17873 17874"use strict"; 17875__webpack_require__.r(__webpack_exports__); 17876/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 17877/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17878 17879 17880 17881/* Built-in method references that are verified to be native. */ 17882var Set = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Set'); 17883 17884/* harmony default export */ __webpack_exports__["default"] = (Set); 17885 17886 17887/***/ }), 17888
vendor: 2,101 bytes, lines 17889-17934
17889/***/ "./node_modules/lodash-es/_Stack.js": 17890/*!******************************************!*\ 17891 !*** ./node_modules/lodash-es/_Stack.js ***! 17892 \******************************************/ 17893/*! exports provided: default */ 17894/***/ (function(module, __webpack_exports__, __webpack_require__) { 17895 17896"use strict"; 17897__webpack_require__.r(__webpack_exports__); 17898/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js"); 17899/* harmony import */ var _stackClear_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stackClear.js */ "./node_modules/lodash-es/_stackClear.js"); 17900/* harmony import */ var _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stackDelete.js */ "./node_modules/lodash-es/_stackDelete.js"); 17901/* harmony import */ var _stackGet_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_stackGet.js */ "./node_modules/lodash-es/_stackGet.js"); 17902/* harmony import */ var _stackHas_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stackHas.js */ "./node_modules/lodash-es/_stackHas.js"); 17903/* harmony import */ var _stackSet_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stackSet.js */ "./node_modules/lodash-es/_stackSet.js"); 17904 17905 17906 17907 17908 17909 17910 17911/** 17912 * Creates a stack cache object to store key-value pairs. 17913 * 17914 * @private 17915 * @constructor 17916 * @param {Array} [entries] The key-value pairs to cache. 17917 */ 17918function Stack(entries) { 17919 var data = this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"](entries); 17920 this.size = data.size; 17921} 17922 17923// Add methods to `Stack`. 17924Stack.prototype.clear = _stackClear_js__WEBPACK_IMPORTED_MODULE_1__["default"]; 17925Stack.prototype['delete'] = _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__["default"]; 17926Stack.prototype.get = _stackGet_js__WEBPACK_IMPORTED_MODULE_3__["default"]; 17927Stack.prototype.has = _stackHas_js__WEBPACK_IMPORTED_MODULE_4__["default"]; 17928Stack.prototype.set = _stackSet_js__WEBPACK_IMPORTED_MODULE_5__["default"]; 17929 17930/* harmony default export */ __webpack_exports__["default"] = (Stack); 17931 17932 17933/***/ }), 17934
vendor: 684 bytes, lines 17935-17954
17935/***/ "./node_modules/lodash-es/_Symbol.js": 17936/*!*******************************************!*\ 17937 !*** ./node_modules/lodash-es/_Symbol.js ***! 17938 \*******************************************/ 17939/*! exports provided: default */ 17940/***/ (function(module, __webpack_exports__, __webpack_require__) { 17941 17942"use strict"; 17943__webpack_require__.r(__webpack_exports__); 17944/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17945 17946 17947/** Built-in value references. */ 17948var Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Symbol; 17949 17950/* harmony default export */ __webpack_exports__["default"] = (Symbol); 17951 17952 17953/***/ }), 17954
vendor: 712 bytes, lines 17955-17974
17955/***/ "./node_modules/lodash-es/_Uint8Array.js": 17956/*!***********************************************!*\ 17957 !*** ./node_modules/lodash-es/_Uint8Array.js ***! 17958 \***********************************************/ 17959/*! exports provided: default */ 17960/***/ (function(module, __webpack_exports__, __webpack_require__) { 17961 17962"use strict"; 17963__webpack_require__.r(__webpack_exports__); 17964/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17965 17966 17967/** Built-in value references. */ 17968var Uint8Array = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Uint8Array; 17969 17970/* harmony default export */ __webpack_exports__["default"] = (Uint8Array); 17971 17972 17973/***/ }), 17974
vendor: 945 bytes, lines 17975-17996
17975/***/ "./node_modules/lodash-es/_WeakMap.js": 17976/*!********************************************!*\ 17977 !*** ./node_modules/lodash-es/_WeakMap.js ***! 17978 \********************************************/ 17979/*! exports provided: default */ 17980/***/ (function(module, __webpack_exports__, __webpack_require__) { 17981 17982"use strict"; 17983__webpack_require__.r(__webpack_exports__); 17984/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 17985/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 17986 17987 17988 17989/* Built-in method references that are verified to be native. */ 17990var WeakMap = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'WeakMap'); 17991 17992/* harmony default export */ __webpack_exports__["default"] = (WeakMap); 17993 17994 17995/***/ }), 17996
vendor: 960 bytes, lines 17997-18031
17997/***/ "./node_modules/lodash-es/_arrayEach.js": 17998/*!**********************************************!*\ 17999 !*** ./node_modules/lodash-es/_arrayEach.js ***! 18000 \**********************************************/ 18001/*! exports provided: default */ 18002/***/ (function(module, __webpack_exports__, __webpack_require__) { 18003 18004"use strict"; 18005__webpack_require__.r(__webpack_exports__); 18006/** 18007 * A specialized version of `_.forEach` for arrays without support for 18008 * iteratee shorthands. 18009 * 18010 * @private 18011 * @param {Array} [array] The array to iterate over. 18012 * @param {Function} iteratee The function invoked per iteration. 18013 * @returns {Array} Returns `array`. 18014 */ 18015function arrayEach(array, iteratee) { 18016 var index = -1, 18017 length = array == null ? 0 : array.length; 18018 18019 while (++index < length) { 18020 if (iteratee(array[index], index, array) === false) { 18021 break; 18022 } 18023 } 18024 return array; 18025} 18026 18027/* harmony default export */ __webpack_exports__["default"] = (arrayEach); 18028 18029 18030/***/ }), 18031
vendor: 1,063 bytes, lines 18032-18069
18032/***/ "./node_modules/lodash-es/_arrayFilter.js": 18033/*!************************************************!*\ 18034 !*** ./node_modules/lodash-es/_arrayFilter.js ***! 18035 \************************************************/ 18036/*! exports provided: default */ 18037/***/ (function(module, __webpack_exports__, __webpack_require__) { 18038 18039"use strict"; 18040__webpack_require__.r(__webpack_exports__); 18041/** 18042 * A specialized version of `_.filter` for arrays without support for 18043 * iteratee shorthands. 18044 * 18045 * @private 18046 * @param {Array} [array] The array to iterate over. 18047 * @param {Function} predicate The function invoked per iteration. 18048 * @returns {Array} Returns the new filtered array. 18049 */ 18050function arrayFilter(array, predicate) { 18051 var index = -1, 18052 length = array == null ? 0 : array.length, 18053 resIndex = 0, 18054 result = []; 18055 18056 while (++index < length) { 18057 var value = array[index]; 18058 if (predicate(value, index, array)) { 18059 result[resIndex++] = value; 18060 } 18061 } 18062 return result; 18063} 18064 18065/* harmony default export */ __webpack_exports__["default"] = (arrayFilter); 18066 18067 18068/***/ }), 18069
vendor: 3,221 bytes, lines 18070-18137
18070/***/ "./node_modules/lodash-es/_arrayLikeKeys.js": 18071/*!**************************************************!*\ 18072 !*** ./node_modules/lodash-es/_arrayLikeKeys.js ***! 18073 \**************************************************/ 18074/*! exports provided: default */ 18075/***/ (function(module, __webpack_exports__, __webpack_require__) { 18076 18077"use strict"; 18078__webpack_require__.r(__webpack_exports__); 18079/* harmony import */ var _baseTimes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseTimes.js */ "./node_modules/lodash-es/_baseTimes.js"); 18080/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ "./node_modules/lodash-es/isArguments.js"); 18081/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js"); 18082/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isBuffer.js */ "./node_modules/lodash-es/isBuffer.js"); 18083/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIndex.js */ "./node_modules/lodash-es/_isIndex.js"); 18084/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTypedArray.js */ "./node_modules/lodash-es/isTypedArray.js"); 18085 18086 18087 18088 18089 18090 18091 18092/** Used for built-in method references. */ 18093var objectProto = Object.prototype; 18094 18095/** Used to check objects for own properties. */ 18096var hasOwnProperty = objectProto.hasOwnProperty; 18097 18098/** 18099 * Creates an array of the enumerable property names of the array-like `value`. 18100 * 18101 * @private 18102 * @param {*} value The value to query. 18103 * @param {boolean} inherited Specify returning inherited property names. 18104 * @returns {Array} Returns the array of property names. 18105 */ 18106function arrayLikeKeys(value, inherited) { 18107 var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value), 18108 isArg = !isArr && Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value), 18109 isBuff = !isArr && !isArg && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value), 18110 isType = !isArr && !isArg && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value), 18111 skipIndexes = isArr || isArg || isBuff || isType, 18112 result = skipIndexes ? Object(_baseTimes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value.length, String) : [], 18113 length = result.length; 18114 18115 for (var key in value) { 18116 if ((inherited || hasOwnProperty.call(value, key)) && 18117 !(skipIndexes && ( 18118 // Safari 9 has enumerable `arguments.length` in strict mode. 18119 key == 'length' || 18120 // Node.js 0.10 has enumerable non-index properties on buffers. 18121 (isBuff && (key == 'offset' || key == 'parent')) || 18122 // PhantomJS 2 has enumerable non-index properties on typed arrays. 18123 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || 18124 // Skip index properties. 18125 Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_4__["default"])(key, length) 18126 ))) { 18127 result.push(key); 18128 } 18129 } 18130 return result; 18131} 18132 18133/* harmony default export */ __webpack_exports__["default"] = (arrayLikeKeys); 18134 18135 18136/***/ }), 18137
vendor: 975 bytes, lines 18138-18171
18138/***/ "./node_modules/lodash-es/_arrayMap.js": 18139/*!*********************************************!*\ 18140 !*** ./node_modules/lodash-es/_arrayMap.js ***! 18141 \*********************************************/ 18142/*! exports provided: default */ 18143/***/ (function(module, __webpack_exports__, __webpack_require__) { 18144 18145"use strict"; 18146__webpack_require__.r(__webpack_exports__); 18147/** 18148 * A specialized version of `_.map` for arrays without support for iteratee 18149 * shorthands. 18150 * 18151 * @private 18152 * @param {Array} [array] The array to iterate over. 18153 * @param {Function} iteratee The function invoked per iteration. 18154 * @returns {Array} Returns the new mapped array. 18155 */ 18156function arrayMap(array, iteratee) { 18157 var index = -1, 18158 length = array == null ? 0 : array.length, 18159 result = Array(length); 18160 18161 while (++index < length) { 18162 result[index] = iteratee(array[index], index, array); 18163 } 18164 return result; 18165} 18166 18167/* harmony default export */ __webpack_exports__["default"] = (arrayMap); 18168 18169 18170/***/ }), 18171
vendor: 860 bytes, lines 18172-18204
18172/***/ "./node_modules/lodash-es/_arrayPush.js": 18173/*!**********************************************!*\ 18174 !*** ./node_modules/lodash-es/_arrayPush.js ***! 18175 \**********************************************/ 18176/*! exports provided: default */ 18177/***/ (function(module, __webpack_exports__, __webpack_require__) { 18178 18179"use strict"; 18180__webpack_require__.r(__webpack_exports__); 18181/** 18182 * Appends the elements of `values` to `array`. 18183 * 18184 * @private 18185 * @param {Array} array The array to modify. 18186 * @param {Array} values The values to append. 18187 * @returns {Array} Returns `array`. 18188 */ 18189function arrayPush(array, values) { 18190 var index = -1, 18191 length = values.length, 18192 offset = array.length; 18193 18194 while (++index < length) { 18195 array[offset + index] = values[index]; 18196 } 18197 return array; 18198} 18199 18200/* harmony default export */ __webpack_exports__["default"] = (arrayPush); 18201 18202 18203/***/ }), 18204
vendor: 1,664 bytes, lines 18205-18247
18205/***/ "./node_modules/lodash-es/_assignValue.js": 18206/*!************************************************!*\ 18207 !*** ./node_modules/lodash-es/_assignValue.js ***! 18208 \************************************************/ 18209/*! exports provided: default */ 18210/***/ (function(module, __webpack_exports__, __webpack_require__) { 18211 18212"use strict"; 18213__webpack_require__.r(__webpack_exports__); 18214/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ "./node_modules/lodash-es/_baseAssignValue.js"); 18215/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ "./node_modules/lodash-es/eq.js"); 18216 18217 18218 18219/** Used for built-in method references. */ 18220var objectProto = Object.prototype; 18221 18222/** Used to check objects for own properties. */ 18223var hasOwnProperty = objectProto.hasOwnProperty; 18224 18225/** 18226 * Assigns `value` to `key` of `object` if the existing value is not equivalent 18227 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 18228 * for equality comparisons. 18229 * 18230 * @private 18231 * @param {Object} object The object to modify. 18232 * @param {string} key The key of the property to assign. 18233 * @param {*} value The value to assign. 18234 */ 18235function assignValue(object, key, value) { 18236 var objValue = object[key]; 18237 if (!(hasOwnProperty.call(object, key) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__["default"])(objValue, value)) || 18238 (value === undefined && !(key in object))) { 18239 Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, value); 18240 } 18241} 18242 18243/* harmony default export */ __webpack_exports__["default"] = (assignValue); 18244 18245 18246/***/ }), 18247
vendor: 1,082 bytes, lines 18248-18282
18248/***/ "./node_modules/lodash-es/_assocIndexOf.js": 18249/*!*************************************************!*\ 18250 !*** ./node_modules/lodash-es/_assocIndexOf.js ***! 18251 \*************************************************/ 18252/*! exports provided: default */ 18253/***/ (function(module, __webpack_exports__, __webpack_require__) { 18254 18255"use strict"; 18256__webpack_require__.r(__webpack_exports__); 18257/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ "./node_modules/lodash-es/eq.js"); 18258 18259 18260/** 18261 * Gets the index at which the `key` is found in `array` of key-value pairs. 18262 * 18263 * @private 18264 * @param {Array} array The array to inspect. 18265 * @param {*} key The key to search for. 18266 * @returns {number} Returns the index of the matched value, else `-1`. 18267 */ 18268function assocIndexOf(array, key) { 18269 var length = array.length; 18270 while (length--) { 18271 if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__["default"])(array[length][0], key)) { 18272 return length; 18273 } 18274 } 18275 return -1; 18276} 18277 18278/* harmony default export */ __webpack_exports__["default"] = (assocIndexOf); 18279 18280 18281/***/ }), 18282
vendor: 1,228 bytes, lines 18283-18314
18283/***/ "./node_modules/lodash-es/_baseAssign.js": 18284/*!***********************************************!*\ 18285 !*** ./node_modules/lodash-es/_baseAssign.js ***! 18286 \***********************************************/ 18287/*! exports provided: default */ 18288/***/ (function(module, __webpack_exports__, __webpack_require__) { 18289 18290"use strict"; 18291__webpack_require__.r(__webpack_exports__); 18292/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js"); 18293/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js"); 18294 18295 18296 18297/** 18298 * The base implementation of `_.assign` without support for multiple sources 18299 * or `customizer` functions. 18300 * 18301 * @private 18302 * @param {Object} object The destination object. 18303 * @param {Object} source The source object. 18304 * @returns {Object} Returns `object`. 18305 */ 18306function baseAssign(object, source) { 18307 return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object); 18308} 18309 18310/* harmony default export */ __webpack_exports__["default"] = (baseAssign); 18311 18312 18313/***/ }), 18314
vendor: 1,250 bytes, lines 18315-18346
18315/***/ "./node_modules/lodash-es/_baseAssignIn.js": 18316/*!*************************************************!*\ 18317 !*** ./node_modules/lodash-es/_baseAssignIn.js ***! 18318 \*************************************************/ 18319/*! exports provided: default */ 18320/***/ (function(module, __webpack_exports__, __webpack_require__) { 18321 18322"use strict"; 18323__webpack_require__.r(__webpack_exports__); 18324/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js"); 18325/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/lodash-es/keysIn.js"); 18326 18327 18328 18329/** 18330 * The base implementation of `_.assignIn` without support for multiple sources 18331 * or `customizer` functions. 18332 * 18333 * @private 18334 * @param {Object} object The destination object. 18335 * @param {Object} source The source object. 18336 * @returns {Object} Returns `object`. 18337 */ 18338function baseAssignIn(object, source) { 18339 return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object); 18340} 18341 18342/* harmony default export */ __webpack_exports__["default"] = (baseAssignIn); 18343 18344 18345/***/ }), 18346
vendor: 1,289 bytes, lines 18347-18385
18347/***/ "./node_modules/lodash-es/_baseAssignValue.js": 18348/*!****************************************************!*\ 18349 !*** ./node_modules/lodash-es/_baseAssignValue.js ***! 18350 \****************************************************/ 18351/*! exports provided: default */ 18352/***/ (function(module, __webpack_exports__, __webpack_require__) { 18353 18354"use strict"; 18355__webpack_require__.r(__webpack_exports__); 18356/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_defineProperty.js */ "./node_modules/lodash-es/_defineProperty.js"); 18357 18358 18359/** 18360 * The base implementation of `assignValue` and `assignMergeValue` without 18361 * value checks. 18362 * 18363 * @private 18364 * @param {Object} object The object to modify. 18365 * @param {string} key The key of the property to assign. 18366 * @param {*} value The value to assign. 18367 */ 18368function baseAssignValue(object, key, value) { 18369 if (key == '__proto__' && _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"]) { 18370 Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, { 18371 'configurable': true, 18372 'enumerable': true, 18373 'value': value, 18374 'writable': true 18375 }); 18376 } else { 18377 object[key] = value; 18378 } 18379} 18380 18381/* harmony default export */ __webpack_exports__["default"] = (baseAssignValue); 18382 18383 18384/***/ }), 18385
vendor: 9,520 bytes, lines 18386-18584
18386/***/ "./node_modules/lodash-es/_baseClone.js": 18387/*!**********************************************!*\ 18388 !*** ./node_modules/lodash-es/_baseClone.js ***! 18389 \**********************************************/ 18390/*! exports provided: default */ 18391/***/ (function(module, __webpack_exports__, __webpack_require__) { 18392 18393"use strict"; 18394__webpack_require__.r(__webpack_exports__); 18395/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ "./node_modules/lodash-es/_Stack.js"); 18396/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayEach.js */ "./node_modules/lodash-es/_arrayEach.js"); 18397/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_assignValue.js */ "./node_modules/lodash-es/_assignValue.js"); 18398/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseAssign.js */ "./node_modules/lodash-es/_baseAssign.js"); 18399/* harmony import */ var _baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseAssignIn.js */ "./node_modules/lodash-es/_baseAssignIn.js"); 18400/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cloneBuffer.js */ "./node_modules/lodash-es/_cloneBuffer.js"); 18401/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_copyArray.js */ "./node_modules/lodash-es/_copyArray.js"); 18402/* harmony import */ var _copySymbols_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_copySymbols.js */ "./node_modules/lodash-es/_copySymbols.js"); 18403/* harmony import */ var _copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_copySymbolsIn.js */ "./node_modules/lodash-es/_copySymbolsIn.js"); 18404/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_getAllKeys.js */ "./node_modules/lodash-es/_getAllKeys.js"); 18405/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_getAllKeysIn.js */ "./node_modules/lodash-es/_getAllKeysIn.js"); 18406/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js"); 18407/* harmony import */ var _initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_initCloneArray.js */ "./node_modules/lodash-es/_initCloneArray.js"); 18408/* harmony import */ var _initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_initCloneByTag.js */ "./node_modules/lodash-es/_initCloneByTag.js"); 18409/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_initCloneObject.js */ "./node_modules/lodash-es/_initCloneObject.js"); 18410/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js"); 18411/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isBuffer.js */ "./node_modules/lodash-es/isBuffer.js"); 18412/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isMap.js */ "./node_modules/lodash-es/isMap.js"); 18413/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js"); 18414/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isSet.js */ "./node_modules/lodash-es/isSet.js"); 18415/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js"); 18416 18417 18418 18419 18420 18421 18422 18423 18424 18425 18426 18427 18428 18429 18430 18431 18432 18433 18434 18435 18436 18437 18438/** Used to compose bitmasks for cloning. */ 18439var CLONE_DEEP_FLAG = 1, 18440 CLONE_FLAT_FLAG = 2, 18441 CLONE_SYMBOLS_FLAG = 4; 18442 18443/** `Object#toString` result references. */ 18444var argsTag = '[object Arguments]', 18445 arrayTag = '[object Array]', 18446 boolTag = '[object Boolean]', 18447 dateTag = '[object Date]', 18448 errorTag = '[object Error]', 18449 funcTag = '[object Function]', 18450 genTag = '[object GeneratorFunction]', 18451 mapTag = '[object Map]', 18452 numberTag = '[object Number]', 18453 objectTag = '[object Object]', 18454 regexpTag = '[object RegExp]', 18455 setTag = '[object Set]', 18456 stringTag = '[object String]', 18457 symbolTag = '[object Symbol]', 18458 weakMapTag = '[object WeakMap]'; 18459 18460var arrayBufferTag = '[object ArrayBuffer]', 18461 dataViewTag = '[object DataView]', 18462 float32Tag = '[object Float32Array]', 18463 float64Tag = '[object Float64Array]', 18464 int8Tag = '[object Int8Array]', 18465 int16Tag = '[object Int16Array]', 18466 int32Tag = '[object Int32Array]', 18467 uint8Tag = '[object Uint8Array]', 18468 uint8ClampedTag = '[object Uint8ClampedArray]', 18469 uint16Tag = '[object Uint16Array]', 18470 uint32Tag = '[object Uint32Array]'; 18471 18472/** Used to identify `toStringTag` values supported by `_.clone`. */ 18473var cloneableTags = {}; 18474cloneableTags[argsTag] = cloneableTags[arrayTag] = 18475cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = 18476cloneableTags[boolTag] = cloneableTags[dateTag] = 18477cloneableTags[float32Tag] = cloneableTags[float64Tag] = 18478cloneableTags[int8Tag] = cloneableTags[int16Tag] = 18479cloneableTags[int32Tag] = cloneableTags[mapTag] = 18480cloneableTags[numberTag] = cloneableTags[objectTag] = 18481cloneableTags[regexpTag] = cloneableTags[setTag] = 18482cloneableTags[stringTag] = cloneableTags[symbolTag] = 18483cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = 18484cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; 18485cloneableTags[errorTag] = cloneableTags[funcTag] = 18486cloneableTags[weakMapTag] = false; 18487 18488/** 18489 * The base implementation of `_.clone` and `_.cloneDeep` which tracks 18490 * traversed objects. 18491 * 18492 * @private 18493 * @param {*} value The value to clone. 18494 * @param {boolean} bitmask The bitmask flags. 18495 * 1 - Deep clone 18496 * 2 - Flatten inherited properties 18497 * 4 - Clone symbols 18498 * @param {Function} [customizer] The function to customize cloning. 18499 * @param {string} [key] The key of `value`. 18500 * @param {Object} [object] The parent object of `value`. 18501 * @param {Object} [stack] Tracks traversed objects and their clone counterparts. 18502 * @returns {*} Returns the cloned value. 18503 */ 18504function baseClone(value, bitmask, customizer, key, object, stack) { 18505 var result, 18506 isDeep = bitmask & CLONE_DEEP_FLAG, 18507 isFlat = bitmask & CLONE_FLAT_FLAG, 18508 isFull = bitmask & CLONE_SYMBOLS_FLAG; 18509 18510 if (customizer) { 18511 result = object ? customizer(value, key, object, stack) : customizer(value); 18512 } 18513 if (result !== undefined) { 18514 return result; 18515 } 18516 if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_18__["default"])(value)) { 18517 return value; 18518 } 18519 var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_15__["default"])(value); 18520 if (isArr) { 18521 result = Object(_initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__["default"])(value); 18522 if (!isDeep) { 18523 return Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(value, result); 18524 } 18525 } else { 18526 var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_11__["default"])(value), 18527 isFunc = tag == funcTag || tag == genTag; 18528 18529 if (Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_16__["default"])(value)) { 18530 return Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value, isDeep); 18531 } 18532 if (tag == objectTag || tag == argsTag || (isFunc && !object)) { 18533 result = (isFlat || isFunc) ? {} : Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__["default"])(value); 18534 if (!isDeep) { 18535 return isFlat 18536 ? Object(_copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__["default"])(value, Object(_baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__["default"])(result, value)) 18537 : Object(_copySymbols_js__WEBPACK_IMPORTED_MODULE_7__["default"])(value, Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_3__["default"])(result, value)); 18538 } 18539 } else { 18540 if (!cloneableTags[tag]) { 18541 return object ? value : {}; 18542 } 18543 result = Object(_initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__["default"])(value, tag, isDeep); 18544 } 18545 } 18546 // Check for circular references and return its corresponding clone. 18547 stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__["default"]); 18548 var stacked = stack.get(value); 18549 if (stacked) { 18550 return stacked; 18551 } 18552 stack.set(value, result); 18553 18554 if (Object(_isSet_js__WEBPACK_IMPORTED_MODULE_19__["default"])(value)) { 18555 value.forEach(function(subValue) { 18556 result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); 18557 }); 18558 } else if (Object(_isMap_js__WEBPACK_IMPORTED_MODULE_17__["default"])(value)) { 18559 value.forEach(function(subValue, key) { 18560 result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); 18561 }); 18562 } 18563 18564 var keysFunc = isFull 18565 ? (isFlat ? _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__["default"] : _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__["default"]) 18566 : (isFlat ? keysIn : _keys_js__WEBPACK_IMPORTED_MODULE_20__["default"]); 18567 18568 var props = isArr ? undefined : keysFunc(value); 18569 Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_1__["default"])(props || value, function(subValue, key) { 18570 if (props) { 18571 key = subValue; 18572 subValue = value[key]; 18573 } 18574 // Recursively populate clone (susceptible to call stack limits). 18575 Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); 18576 }); 18577 return result; 18578} 18579 18580/* harmony default export */ __webpack_exports__["default"] = (baseClone); 18581 18582 18583/***/ }), 18584
vendor: 1,279 bytes, lines 18585-18628
18585/***/ "./node_modules/lodash-es/_baseCreate.js": 18586/*!***********************************************!*\ 18587 !*** ./node_modules/lodash-es/_baseCreate.js ***! 18588 \***********************************************/ 18589/*! exports provided: default */ 18590/***/ (function(module, __webpack_exports__, __webpack_require__) { 18591 18592"use strict"; 18593__webpack_require__.r(__webpack_exports__); 18594/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js"); 18595 18596 18597/** Built-in value references. */ 18598var objectCreate = Object.create; 18599 18600/** 18601 * The base implementation of `_.create` without support for assigning 18602 * properties to the created object. 18603 * 18604 * @private 18605 * @param {Object} proto The object to inherit from. 18606 * @returns {Object} Returns the new object. 18607 */ 18608var baseCreate = (function() { 18609 function object() {} 18610 return function(proto) { 18611 if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(proto)) { 18612 return {}; 18613 } 18614 if (objectCreate) { 18615 return objectCreate(proto); 18616 } 18617 object.prototype = proto; 18618 var result = new object; 18619 object.prototype = undefined; 18620 return result; 18621 }; 18622}()); 18623 18624/* harmony default export */ __webpack_exports__["default"] = (baseCreate); 18625 18626 18627/***/ }), 18628
vendor: 1,515 bytes, lines 18629-18663
18629/***/ "./node_modules/lodash-es/_baseGetAllKeys.js": 18630/*!***************************************************!*\ 18631 !*** ./node_modules/lodash-es/_baseGetAllKeys.js ***! 18632 \***************************************************/ 18633/*! exports provided: default */ 18634/***/ (function(module, __webpack_exports__, __webpack_require__) { 18635 18636"use strict"; 18637__webpack_require__.r(__webpack_exports__); 18638/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ "./node_modules/lodash-es/_arrayPush.js"); 18639/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js"); 18640 18641 18642 18643/** 18644 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 18645 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 18646 * symbols of `object`. 18647 * 18648 * @private 18649 * @param {Object} object The object to query. 18650 * @param {Function} keysFunc The function to get the keys of `object`. 18651 * @param {Function} symbolsFunc The function to get the symbols of `object`. 18652 * @returns {Array} Returns the array of property names and symbols. 18653 */ 18654function baseGetAllKeys(object, keysFunc, symbolsFunc) { 18655 var result = keysFunc(object); 18656 return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object) ? result : Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, symbolsFunc(object)); 18657} 18658 18659/* harmony default export */ __webpack_exports__["default"] = (baseGetAllKeys); 18660 18661 18662/***/ }), 18663
vendor: 1,761 bytes, lines 18664-18707
18664/***/ "./node_modules/lodash-es/_baseGetTag.js": 18665/*!***********************************************!*\ 18666 !*** ./node_modules/lodash-es/_baseGetTag.js ***! 18667 \***********************************************/ 18668/*! exports provided: default */ 18669/***/ (function(module, __webpack_exports__, __webpack_require__) { 18670 18671"use strict"; 18672__webpack_require__.r(__webpack_exports__); 18673/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); 18674/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ "./node_modules/lodash-es/_getRawTag.js"); 18675/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ "./node_modules/lodash-es/_objectToString.js"); 18676 18677 18678 18679 18680/** `Object#toString` result references. */ 18681var nullTag = '[object Null]', 18682 undefinedTag = '[object Undefined]'; 18683 18684/** Built-in value references. */ 18685var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; 18686 18687/** 18688 * The base implementation of `getTag` without fallbacks for buggy environments. 18689 * 18690 * @private 18691 * @param {*} value The value to query. 18692 * @returns {string} Returns the `toStringTag`. 18693 */ 18694function baseGetTag(value) { 18695 if (value == null) { 18696 return value === undefined ? undefinedTag : nullTag; 18697 } 18698 return (symToStringTag && symToStringTag in Object(value)) 18699 ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) 18700 : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value); 18701} 18702 18703/* harmony default export */ __webpack_exports__["default"] = (baseGetTag); 18704 18705 18706/***/ }), 18707
vendor: 1,274 bytes, lines 18708-18740
18708/***/ "./node_modules/lodash-es/_baseIsArguments.js": 18709/*!****************************************************!*\ 18710 !*** ./node_modules/lodash-es/_baseIsArguments.js ***! 18711 \****************************************************/ 18712/*! exports provided: default */ 18713/***/ (function(module, __webpack_exports__, __webpack_require__) { 18714 18715"use strict"; 18716__webpack_require__.r(__webpack_exports__); 18717/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 18718/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 18719 18720 18721 18722/** `Object#toString` result references. */ 18723var argsTag = '[object Arguments]'; 18724 18725/** 18726 * The base implementation of `_.isArguments`. 18727 * 18728 * @private 18729 * @param {*} value The value to check. 18730 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 18731 */ 18732function baseIsArguments(value) { 18733 return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == argsTag; 18734} 18735 18736/* harmony default export */ __webpack_exports__["default"] = (baseIsArguments); 18737 18738 18739/***/ }), 18740
vendor: 1,236 bytes, lines 18741-18773
18741/***/ "./node_modules/lodash-es/_baseIsMap.js": 18742/*!**********************************************!*\ 18743 !*** ./node_modules/lodash-es/_baseIsMap.js ***! 18744 \**********************************************/ 18745/*! exports provided: default */ 18746/***/ (function(module, __webpack_exports__, __webpack_require__) { 18747 18748"use strict"; 18749__webpack_require__.r(__webpack_exports__); 18750/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js"); 18751/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 18752 18753 18754 18755/** `Object#toString` result references. */ 18756var mapTag = '[object Map]'; 18757 18758/** 18759 * The base implementation of `_.isMap` without Node.js optimizations. 18760 * 18761 * @private 18762 * @param {*} value The value to check. 18763 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 18764 */ 18765function baseIsMap(value) { 18766 return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == mapTag; 18767} 18768 18769/* harmony default export */ __webpack_exports__["default"] = (baseIsMap); 18770 18771 18772/***/ }), 18773
vendor: 2,520 bytes, lines 18774-18837
18774/***/ "./node_modules/lodash-es/_baseIsNative.js": 18775/*!*************************************************!*\ 18776 !*** ./node_modules/lodash-es/_baseIsNative.js ***! 18777 \*************************************************/ 18778/*! exports provided: default */ 18779/***/ (function(module, __webpack_exports__, __webpack_require__) { 18780 18781"use strict"; 18782__webpack_require__.r(__webpack_exports__); 18783/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ "./node_modules/lodash-es/isFunction.js"); 18784/* harmony import */ var _isMasked_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMasked.js */ "./node_modules/lodash-es/_isMasked.js"); 18785/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js"); 18786/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toSource.js */ "./node_modules/lodash-es/_toSource.js"); 18787 18788 18789 18790 18791 18792/** 18793 * Used to match `RegExp` 18794 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 18795 */ 18796var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; 18797 18798/** Used to detect host constructors (Safari). */ 18799var reIsHostCtor = /^\[object .+?Constructor\]$/; 18800 18801/** Used for built-in method references. */ 18802var funcProto = Function.prototype, 18803 objectProto = Object.prototype; 18804 18805/** Used to resolve the decompiled source of functions. */ 18806var funcToString = funcProto.toString; 18807 18808/** Used to check objects for own properties. */ 18809var hasOwnProperty = objectProto.hasOwnProperty; 18810 18811/** Used to detect if a method is native. */ 18812var reIsNative = RegExp('^' + 18813 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 18814 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 18815); 18816 18817/** 18818 * The base implementation of `_.isNative` without bad shim checks. 18819 * 18820 * @private 18821 * @param {*} value The value to check. 18822 * @returns {boolean} Returns `true` if `value` is a native function, 18823 * else `false`. 18824 */ 18825function baseIsNative(value) { 18826 if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_isMasked_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) { 18827 return false; 18828 } 18829 var pattern = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) ? reIsNative : reIsHostCtor; 18830 return pattern.test(Object(_toSource_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value)); 18831} 18832 18833/* harmony default export */ __webpack_exports__["default"] = (baseIsNative); 18834 18835 18836/***/ }), 18837
vendor: 1,236 bytes, lines 18838-18870
18838/***/ "./node_modules/lodash-es/_baseIsSet.js": 18839/*!**********************************************!*\ 18840 !*** ./node_modules/lodash-es/_baseIsSet.js ***! 18841 \**********************************************/ 18842/*! exports provided: default */ 18843/***/ (function(module, __webpack_exports__, __webpack_require__) { 18844 18845"use strict"; 18846__webpack_require__.r(__webpack_exports__); 18847/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js"); 18848/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 18849 18850 18851 18852/** `Object#toString` result references. */ 18853var setTag = '[object Set]'; 18854 18855/** 18856 * The base implementation of `_.isSet` without Node.js optimizations. 18857 * 18858 * @private 18859 * @param {*} value The value to check. 18860 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 18861 */ 18862function baseIsSet(value) { 18863 return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == setTag; 18864} 18865 18866/* harmony default export */ __webpack_exports__["default"] = (baseIsSet); 18867 18868 18869/***/ }), 18870
vendor: 3,178 bytes, lines 18871-18946
18871/***/ "./node_modules/lodash-es/_baseIsTypedArray.js": 18872/*!*****************************************************!*\ 18873 !*** ./node_modules/lodash-es/_baseIsTypedArray.js ***! 18874 \*****************************************************/ 18875/*! exports provided: default */ 18876/***/ (function(module, __webpack_exports__, __webpack_require__) { 18877 18878"use strict"; 18879__webpack_require__.r(__webpack_exports__); 18880/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 18881/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ "./node_modules/lodash-es/isLength.js"); 18882/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 18883 18884 18885 18886 18887/** `Object#toString` result references. */ 18888var argsTag = '[object Arguments]', 18889 arrayTag = '[object Array]', 18890 boolTag = '[object Boolean]', 18891 dateTag = '[object Date]', 18892 errorTag = '[object Error]', 18893 funcTag = '[object Function]', 18894 mapTag = '[object Map]', 18895 numberTag = '[object Number]', 18896 objectTag = '[object Object]', 18897 regexpTag = '[object RegExp]', 18898 setTag = '[object Set]', 18899 stringTag = '[object String]', 18900 weakMapTag = '[object WeakMap]'; 18901 18902var arrayBufferTag = '[object ArrayBuffer]', 18903 dataViewTag = '[object DataView]', 18904 float32Tag = '[object Float32Array]', 18905 float64Tag = '[object Float64Array]', 18906 int8Tag = '[object Int8Array]', 18907 int16Tag = '[object Int16Array]', 18908 int32Tag = '[object Int32Array]', 18909 uint8Tag = '[object Uint8Array]', 18910 uint8ClampedTag = '[object Uint8ClampedArray]', 18911 uint16Tag = '[object Uint16Array]', 18912 uint32Tag = '[object Uint32Array]'; 18913 18914/** Used to identify `toStringTag` values of typed arrays. */ 18915var typedArrayTags = {}; 18916typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = 18917typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = 18918typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = 18919typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = 18920typedArrayTags[uint32Tag] = true; 18921typedArrayTags[argsTag] = typedArrayTags[arrayTag] = 18922typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = 18923typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = 18924typedArrayTags[errorTag] = typedArrayTags[funcTag] = 18925typedArrayTags[mapTag] = typedArrayTags[numberTag] = 18926typedArrayTags[objectTag] = typedArrayTags[regexpTag] = 18927typedArrayTags[setTag] = typedArrayTags[stringTag] = 18928typedArrayTags[weakMapTag] = false; 18929 18930/** 18931 * The base implementation of `_.isTypedArray` without Node.js optimizations. 18932 * 18933 * @private 18934 * @param {*} value The value to check. 18935 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 18936 */ 18937function baseIsTypedArray(value) { 18938 return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) && 18939 Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value.length) && !!typedArrayTags[Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value)]; 18940} 18941 18942/* harmony default export */ __webpack_exports__["default"] = (baseIsTypedArray); 18943 18944 18945/***/ }), 18946
vendor: 1,534 bytes, lines 18947-18991
18947/***/ "./node_modules/lodash-es/_baseKeys.js": 18948/*!*********************************************!*\ 18949 !*** ./node_modules/lodash-es/_baseKeys.js ***! 18950 \*********************************************/ 18951/*! exports provided: default */ 18952/***/ (function(module, __webpack_exports__, __webpack_require__) { 18953 18954"use strict"; 18955__webpack_require__.r(__webpack_exports__); 18956/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js"); 18957/* harmony import */ var _nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_nativeKeys.js */ "./node_modules/lodash-es/_nativeKeys.js"); 18958 18959 18960 18961/** Used for built-in method references. */ 18962var objectProto = Object.prototype; 18963 18964/** Used to check objects for own properties. */ 18965var hasOwnProperty = objectProto.hasOwnProperty; 18966 18967/** 18968 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 18969 * 18970 * @private 18971 * @param {Object} object The object to query. 18972 * @returns {Array} Returns the array of property names. 18973 */ 18974function baseKeys(object) { 18975 if (!Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object)) { 18976 return Object(_nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object); 18977 } 18978 var result = []; 18979 for (var key in Object(object)) { 18980 if (hasOwnProperty.call(object, key) && key != 'constructor') { 18981 result.push(key); 18982 } 18983 } 18984 return result; 18985} 18986 18987/* harmony default export */ __webpack_exports__["default"] = (baseKeys); 18988 18989 18990/***/ }), 18991
vendor: 1,804 bytes, lines 18992-19040
18992/***/ "./node_modules/lodash-es/_baseKeysIn.js": 18993/*!***********************************************!*\ 18994 !*** ./node_modules/lodash-es/_baseKeysIn.js ***! 18995 \***********************************************/ 18996/*! exports provided: default */ 18997/***/ (function(module, __webpack_exports__, __webpack_require__) { 18998 18999"use strict"; 19000__webpack_require__.r(__webpack_exports__); 19001/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js"); 19002/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js"); 19003/* harmony import */ var _nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nativeKeysIn.js */ "./node_modules/lodash-es/_nativeKeysIn.js"); 19004 19005 19006 19007 19008/** Used for built-in method references. */ 19009var objectProto = Object.prototype; 19010 19011/** Used to check objects for own properties. */ 19012var hasOwnProperty = objectProto.hasOwnProperty; 19013 19014/** 19015 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. 19016 * 19017 * @private 19018 * @param {Object} object The object to query. 19019 * @returns {Array} Returns the array of property names. 19020 */ 19021function baseKeysIn(object) { 19022 if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object)) { 19023 return Object(_nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object); 19024 } 19025 var isProto = Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object), 19026 result = []; 19027 19028 for (var key in object) { 19029 if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { 19030 result.push(key); 19031 } 19032 } 19033 return result; 19034} 19035 19036/* harmony default export */ __webpack_exports__["default"] = (baseKeysIn); 19037 19038 19039/***/ }), 19040
vendor: 927 bytes, lines 19041-19073
19041/***/ "./node_modules/lodash-es/_baseTimes.js": 19042/*!**********************************************!*\ 19043 !*** ./node_modules/lodash-es/_baseTimes.js ***! 19044 \**********************************************/ 19045/*! exports provided: default */ 19046/***/ (function(module, __webpack_exports__, __webpack_require__) { 19047 19048"use strict"; 19049__webpack_require__.r(__webpack_exports__); 19050/** 19051 * The base implementation of `_.times` without support for iteratee shorthands 19052 * or max array length checks. 19053 * 19054 * @private 19055 * @param {number} n The number of times to invoke `iteratee`. 19056 * @param {Function} iteratee The function invoked per iteration. 19057 * @returns {Array} Returns the array of results. 19058 */ 19059function baseTimes(n, iteratee) { 19060 var index = -1, 19061 result = Array(n); 19062 19063 while (++index < n) { 19064 result[index] = iteratee(index); 19065 } 19066 return result; 19067} 19068 19069/* harmony default export */ __webpack_exports__["default"] = (baseTimes); 19070 19071 19072/***/ }), 19073
vendor: 2,288 bytes, lines 19074-19127
19074/***/ "./node_modules/lodash-es/_baseToString.js": 19075/*!*************************************************!*\ 19076 !*** ./node_modules/lodash-es/_baseToString.js ***! 19077 \*************************************************/ 19078/*! exports provided: default */ 19079/***/ (function(module, __webpack_exports__, __webpack_require__) { 19080 19081"use strict"; 19082__webpack_require__.r(__webpack_exports__); 19083/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); 19084/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ "./node_modules/lodash-es/_arrayMap.js"); 19085/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js"); 19086/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js"); 19087 19088 19089 19090 19091 19092/** Used as references for various `Number` constants. */ 19093var INFINITY = 1 / 0; 19094 19095/** Used to convert symbols to primitives and strings. */ 19096var symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype : undefined, 19097 symbolToString = symbolProto ? symbolProto.toString : undefined; 19098 19099/** 19100 * The base implementation of `_.toString` which doesn't convert nullish 19101 * values to empty strings. 19102 * 19103 * @private 19104 * @param {*} value The value to process. 19105 * @returns {string} Returns the string. 19106 */ 19107function baseToString(value) { 19108 // Exit early for strings to avoid a performance hit in some environments. 19109 if (typeof value == 'string') { 19110 return value; 19111 } 19112 if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) { 19113 // Recursively convert values (susceptible to call stack limits). 19114 return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value, baseToString) + ''; 19115 } 19116 if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value)) { 19117 return symbolToString ? symbolToString.call(value) : ''; 19118 } 19119 var result = (value + ''); 19120 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 19121} 19122 19123/* harmony default export */ __webpack_exports__["default"] = (baseToString); 19124 19125 19126/***/ }), 19127
vendor: 755 bytes, lines 19128-19154
19128/***/ "./node_modules/lodash-es/_baseUnary.js": 19129/*!**********************************************!*\ 19130 !*** ./node_modules/lodash-es/_baseUnary.js ***! 19131 \**********************************************/ 19132/*! exports provided: default */ 19133/***/ (function(module, __webpack_exports__, __webpack_require__) { 19134 19135"use strict"; 19136__webpack_require__.r(__webpack_exports__); 19137/** 19138 * The base implementation of `_.unary` without support for storing metadata. 19139 * 19140 * @private 19141 * @param {Function} func The function to cap arguments for. 19142 * @returns {Function} Returns the new capped function. 19143 */ 19144function baseUnary(func) { 19145 return function(value) { 19146 return func(value); 19147 }; 19148} 19149 19150/* harmony default export */ __webpack_exports__["default"] = (baseUnary); 19151 19152 19153/***/ }), 19154
vendor: 1,105 bytes, lines 19155-19184
19155/***/ "./node_modules/lodash-es/_cloneArrayBuffer.js": 19156/*!*****************************************************!*\ 19157 !*** ./node_modules/lodash-es/_cloneArrayBuffer.js ***! 19158 \*****************************************************/ 19159/*! exports provided: default */ 19160/***/ (function(module, __webpack_exports__, __webpack_require__) { 19161 19162"use strict"; 19163__webpack_require__.r(__webpack_exports__); 19164/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Uint8Array.js */ "./node_modules/lodash-es/_Uint8Array.js"); 19165 19166 19167/** 19168 * Creates a clone of `arrayBuffer`. 19169 * 19170 * @private 19171 * @param {ArrayBuffer} arrayBuffer The array buffer to clone. 19172 * @returns {ArrayBuffer} Returns the cloned array buffer. 19173 */ 19174function cloneArrayBuffer(arrayBuffer) { 19175 var result = new arrayBuffer.constructor(arrayBuffer.byteLength); 19176 new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__["default"](result).set(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__["default"](arrayBuffer)); 19177 return result; 19178} 19179 19180/* harmony default export */ __webpack_exports__["default"] = (cloneArrayBuffer); 19181 19182 19183/***/ }), 19184
vendor: 1,856 bytes, lines 19185-19234
19185/***/ "./node_modules/lodash-es/_cloneBuffer.js": 19186/*!************************************************!*\ 19187 !*** ./node_modules/lodash-es/_cloneBuffer.js ***! 19188 \************************************************/ 19189/*! exports provided: default */ 19190/***/ (function(module, __webpack_exports__, __webpack_require__) { 19191 19192"use strict"; 19193__webpack_require__.r(__webpack_exports__); 19194/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 19195 19196 19197/** Detect free variable `exports`. */ 19198var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; 19199 19200/** Detect free variable `module`. */ 19201var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 19202 19203/** Detect the popular CommonJS extension `module.exports`. */ 19204var moduleExports = freeModule && freeModule.exports === freeExports; 19205 19206/** Built-in value references. */ 19207var Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Buffer : undefined, 19208 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; 19209 19210/** 19211 * Creates a clone of `buffer`. 19212 * 19213 * @private 19214 * @param {Buffer} buffer The buffer to clone. 19215 * @param {boolean} [isDeep] Specify a deep clone. 19216 * @returns {Buffer} Returns the cloned buffer. 19217 */ 19218function cloneBuffer(buffer, isDeep) { 19219 if (isDeep) { 19220 return buffer.slice(); 19221 } 19222 var length = buffer.length, 19223 result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); 19224 19225 buffer.copy(result); 19226 return result; 19227} 19228 19229/* harmony default export */ __webpack_exports__["default"] = (cloneBuffer); 19230 19231/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) 19232 19233/***/ }), 19234
vendor: 1,121 bytes, lines 19235-19264
19235/***/ "./node_modules/lodash-es/_cloneDataView.js": 19236/*!**************************************************!*\ 19237 !*** ./node_modules/lodash-es/_cloneDataView.js ***! 19238 \**************************************************/ 19239/*! exports provided: default */ 19240/***/ (function(module, __webpack_exports__, __webpack_require__) { 19241 19242"use strict"; 19243__webpack_require__.r(__webpack_exports__); 19244/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js"); 19245 19246 19247/** 19248 * Creates a clone of `dataView`. 19249 * 19250 * @private 19251 * @param {Object} dataView The data view to clone. 19252 * @param {boolean} [isDeep] Specify a deep clone. 19253 * @returns {Object} Returns the cloned data view. 19254 */ 19255function cloneDataView(dataView, isDeep) { 19256 var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(dataView.buffer) : dataView.buffer; 19257 return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); 19258} 19259 19260/* harmony default export */ __webpack_exports__["default"] = (cloneDataView); 19261 19262 19263/***/ }), 19264
vendor: 870 bytes, lines 19265-19294
19265/***/ "./node_modules/lodash-es/_cloneRegExp.js": 19266/*!************************************************!*\ 19267 !*** ./node_modules/lodash-es/_cloneRegExp.js ***! 19268 \************************************************/ 19269/*! exports provided: default */ 19270/***/ (function(module, __webpack_exports__, __webpack_require__) { 19271 19272"use strict"; 19273__webpack_require__.r(__webpack_exports__); 19274/** Used to match `RegExp` flags from their coerced string values. */ 19275var reFlags = /\w*$/; 19276 19277/** 19278 * Creates a clone of `regexp`. 19279 * 19280 * @private 19281 * @param {Object} regexp The regexp to clone. 19282 * @returns {Object} Returns the cloned regexp. 19283 */ 19284function cloneRegExp(regexp) { 19285 var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); 19286 result.lastIndex = regexp.lastIndex; 19287 return result; 19288} 19289 19290/* harmony default export */ __webpack_exports__["default"] = (cloneRegExp); 19291 19292 19293/***/ }), 19294
vendor: 1,156 bytes, lines 19295-19326
19295/***/ "./node_modules/lodash-es/_cloneSymbol.js": 19296/*!************************************************!*\ 19297 !*** ./node_modules/lodash-es/_cloneSymbol.js ***! 19298 \************************************************/ 19299/*! exports provided: default */ 19300/***/ (function(module, __webpack_exports__, __webpack_require__) { 19301 19302"use strict"; 19303__webpack_require__.r(__webpack_exports__); 19304/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); 19305 19306 19307/** Used to convert symbols to primitives and strings. */ 19308var symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype : undefined, 19309 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 19310 19311/** 19312 * Creates a clone of the `symbol` object. 19313 * 19314 * @private 19315 * @param {Object} symbol The symbol object to clone. 19316 * @returns {Object} Returns the cloned symbol object. 19317 */ 19318function cloneSymbol(symbol) { 19319 return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; 19320} 19321 19322/* harmony default export */ __webpack_exports__["default"] = (cloneSymbol); 19323 19324 19325/***/ }), 19326
vendor: 1,149 bytes, lines 19327-19356
19327/***/ "./node_modules/lodash-es/_cloneTypedArray.js": 19328/*!****************************************************!*\ 19329 !*** ./node_modules/lodash-es/_cloneTypedArray.js ***! 19330 \****************************************************/ 19331/*! exports provided: default */ 19332/***/ (function(module, __webpack_exports__, __webpack_require__) { 19333 19334"use strict"; 19335__webpack_require__.r(__webpack_exports__); 19336/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js"); 19337 19338 19339/** 19340 * Creates a clone of `typedArray`. 19341 * 19342 * @private 19343 * @param {Object} typedArray The typed array to clone. 19344 * @param {boolean} [isDeep] Specify a deep clone. 19345 * @returns {Object} Returns the cloned typed array. 19346 */ 19347function cloneTypedArray(typedArray, isDeep) { 19348 var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(typedArray.buffer) : typedArray.buffer; 19349 return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); 19350} 19351 19352/* harmony default export */ __webpack_exports__["default"] = (cloneTypedArray); 19353 19354 19355/***/ }), 19356
vendor: 877 bytes, lines 19357-19389
19357/***/ "./node_modules/lodash-es/_copyArray.js": 19358/*!**********************************************!*\ 19359 !*** ./node_modules/lodash-es/_copyArray.js ***! 19360 \**********************************************/ 19361/*! exports provided: default */ 19362/***/ (function(module, __webpack_exports__, __webpack_require__) { 19363 19364"use strict"; 19365__webpack_require__.r(__webpack_exports__); 19366/** 19367 * Copies the values of `source` to `array`. 19368 * 19369 * @private 19370 * @param {Array} source The array to copy values from. 19371 * @param {Array} [array=[]] The array to copy values to. 19372 * @returns {Array} Returns `array`. 19373 */ 19374function copyArray(source, array) { 19375 var index = -1, 19376 length = source.length; 19377 19378 array || (array = Array(length)); 19379 while (++index < length) { 19380 array[index] = source[index]; 19381 } 19382 return array; 19383} 19384 19385/* harmony default export */ __webpack_exports__["default"] = (copyArray); 19386 19387 19388/***/ }), 19389
vendor: 1,815 bytes, lines 19390-19444
19390/***/ "./node_modules/lodash-es/_copyObject.js": 19391/*!***********************************************!*\ 19392 !*** ./node_modules/lodash-es/_copyObject.js ***! 19393 \***********************************************/ 19394/*! exports provided: default */ 19395/***/ (function(module, __webpack_exports__, __webpack_require__) { 19396 19397"use strict"; 19398__webpack_require__.r(__webpack_exports__); 19399/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ "./node_modules/lodash-es/_assignValue.js"); 19400/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ "./node_modules/lodash-es/_baseAssignValue.js"); 19401 19402 19403 19404/** 19405 * Copies properties of `source` to `object`. 19406 * 19407 * @private 19408 * @param {Object} source The object to copy properties from. 19409 * @param {Array} props The property identifiers to copy. 19410 * @param {Object} [object={}] The object to copy properties to. 19411 * @param {Function} [customizer] The function to customize copied values. 19412 * @returns {Object} Returns `object`. 19413 */ 19414function copyObject(source, props, object, customizer) { 19415 var isNew = !object; 19416 object || (object = {}); 19417 19418 var index = -1, 19419 length = props.length; 19420 19421 while (++index < length) { 19422 var key = props[index]; 19423 19424 var newValue = customizer 19425 ? customizer(object[key], source[key], key, object, source) 19426 : undefined; 19427 19428 if (newValue === undefined) { 19429 newValue = source[key]; 19430 } 19431 if (isNew) { 19432 Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, key, newValue); 19433 } else { 19434 Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, newValue); 19435 } 19436 } 19437 return object; 19438} 19439 19440/* harmony default export */ __webpack_exports__["default"] = (copyObject); 19441 19442 19443/***/ }), 19444
vendor: 1,215 bytes, lines 19445-19475
19445/***/ "./node_modules/lodash-es/_copySymbols.js": 19446/*!************************************************!*\ 19447 !*** ./node_modules/lodash-es/_copySymbols.js ***! 19448 \************************************************/ 19449/*! exports provided: default */ 19450/***/ (function(module, __webpack_exports__, __webpack_require__) { 19451 19452"use strict"; 19453__webpack_require__.r(__webpack_exports__); 19454/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js"); 19455/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js"); 19456 19457 19458 19459/** 19460 * Copies own symbols of `source` to `object`. 19461 * 19462 * @private 19463 * @param {Object} source The object to copy symbols from. 19464 * @param {Object} [object={}] The object to copy symbols to. 19465 * @returns {Object} Returns `object`. 19466 */ 19467function copySymbols(source, object) { 19468 return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object); 19469} 19470 19471/* harmony default export */ __webpack_exports__["default"] = (copySymbols); 19472 19473 19474/***/ }), 19475
vendor: 1,249 bytes, lines 19476-19506
19476/***/ "./node_modules/lodash-es/_copySymbolsIn.js": 19477/*!**************************************************!*\ 19478 !*** ./node_modules/lodash-es/_copySymbolsIn.js ***! 19479 \**************************************************/ 19480/*! exports provided: default */ 19481/***/ (function(module, __webpack_exports__, __webpack_require__) { 19482 19483"use strict"; 19484__webpack_require__.r(__webpack_exports__); 19485/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js"); 19486/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ "./node_modules/lodash-es/_getSymbolsIn.js"); 19487 19488 19489 19490/** 19491 * Copies own and inherited symbols of `source` to `object`. 19492 * 19493 * @private 19494 * @param {Object} source The object to copy symbols from. 19495 * @param {Object} [object={}] The object to copy symbols to. 19496 * @returns {Object} Returns `object`. 19497 */ 19498function copySymbolsIn(source, object) { 19499 return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object); 19500} 19501 19502/* harmony default export */ __webpack_exports__["default"] = (copySymbolsIn); 19503 19504 19505/***/ }), 19506
vendor: 739 bytes, lines 19507-19526
19507/***/ "./node_modules/lodash-es/_coreJsData.js": 19508/*!***********************************************!*\ 19509 !*** ./node_modules/lodash-es/_coreJsData.js ***! 19510 \***********************************************/ 19511/*! exports provided: default */ 19512/***/ (function(module, __webpack_exports__, __webpack_require__) { 19513 19514"use strict"; 19515__webpack_require__.r(__webpack_exports__); 19516/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 19517 19518 19519/** Used to detect overreaching core-js shims. */ 19520var coreJsData = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"]['__core-js_shared__']; 19521 19522/* harmony default export */ __webpack_exports__["default"] = (coreJsData); 19523 19524 19525/***/ }), 19526
vendor: 844 bytes, lines 19527-19551
19527/***/ "./node_modules/lodash-es/_defineProperty.js": 19528/*!***************************************************!*\ 19529 !*** ./node_modules/lodash-es/_defineProperty.js ***! 19530 \***************************************************/ 19531/*! exports provided: default */ 19532/***/ (function(module, __webpack_exports__, __webpack_require__) { 19533 19534"use strict"; 19535__webpack_require__.r(__webpack_exports__); 19536/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 19537 19538 19539var defineProperty = (function() { 19540 try { 19541 var func = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object, 'defineProperty'); 19542 func({}, '', {}); 19543 return func; 19544 } catch (e) {} 19545}()); 19546 19547/* harmony default export */ __webpack_exports__["default"] = (defineProperty); 19548 19549 19550/***/ }), 19551
vendor: 790 bytes, lines 19552-19569
19552/***/ "./node_modules/lodash-es/_freeGlobal.js": 19553/*!***********************************************!*\ 19554 !*** ./node_modules/lodash-es/_freeGlobal.js ***! 19555 \***********************************************/ 19556/*! exports provided: default */ 19557/***/ (function(module, __webpack_exports__, __webpack_require__) { 19558 19559"use strict"; 19560__webpack_require__.r(__webpack_exports__); 19561/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ 19562var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 19563 19564/* harmony default export */ __webpack_exports__["default"] = (freeGlobal); 19565 19566/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) 19567 19568/***/ }), 19569
vendor: 1,370 bytes, lines 19570-19601
19570/***/ "./node_modules/lodash-es/_getAllKeys.js": 19571/*!***********************************************!*\ 19572 !*** ./node_modules/lodash-es/_getAllKeys.js ***! 19573 \***********************************************/ 19574/*! exports provided: default */ 19575/***/ (function(module, __webpack_exports__, __webpack_require__) { 19576 19577"use strict"; 19578__webpack_require__.r(__webpack_exports__); 19579/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ "./node_modules/lodash-es/_baseGetAllKeys.js"); 19580/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js"); 19581/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js"); 19582 19583 19584 19585 19586/** 19587 * Creates an array of own enumerable property names and symbols of `object`. 19588 * 19589 * @private 19590 * @param {Object} object The object to query. 19591 * @returns {Array} Returns the array of property names and symbols. 19592 */ 19593function getAllKeys(object) { 19594 return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, _keys_js__WEBPACK_IMPORTED_MODULE_2__["default"], _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__["default"]); 19595} 19596 19597/* harmony default export */ __webpack_exports__["default"] = (getAllKeys); 19598 19599 19600/***/ }), 19601
vendor: 1,415 bytes, lines 19602-19634
19602/***/ "./node_modules/lodash-es/_getAllKeysIn.js": 19603/*!*************************************************!*\ 19604 !*** ./node_modules/lodash-es/_getAllKeysIn.js ***! 19605 \*************************************************/ 19606/*! exports provided: default */ 19607/***/ (function(module, __webpack_exports__, __webpack_require__) { 19608 19609"use strict"; 19610__webpack_require__.r(__webpack_exports__); 19611/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ "./node_modules/lodash-es/_baseGetAllKeys.js"); 19612/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ "./node_modules/lodash-es/_getSymbolsIn.js"); 19613/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/lodash-es/keysIn.js"); 19614 19615 19616 19617 19618/** 19619 * Creates an array of own and inherited enumerable property names and 19620 * symbols of `object`. 19621 * 19622 * @private 19623 * @param {Object} object The object to query. 19624 * @returns {Array} Returns the array of property names and symbols. 19625 */ 19626function getAllKeysIn(object) { 19627 return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, _keysIn_js__WEBPACK_IMPORTED_MODULE_2__["default"], _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__["default"]); 19628} 19629 19630/* harmony default export */ __webpack_exports__["default"] = (getAllKeysIn); 19631 19632 19633/***/ }), 19634
vendor: 995 bytes, lines 19635-19666
19635/***/ "./node_modules/lodash-es/_getMapData.js": 19636/*!***********************************************!*\ 19637 !*** ./node_modules/lodash-es/_getMapData.js ***! 19638 \***********************************************/ 19639/*! exports provided: default */ 19640/***/ (function(module, __webpack_exports__, __webpack_require__) { 19641 19642"use strict"; 19643__webpack_require__.r(__webpack_exports__); 19644/* harmony import */ var _isKeyable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isKeyable.js */ "./node_modules/lodash-es/_isKeyable.js"); 19645 19646 19647/** 19648 * Gets the data for `map`. 19649 * 19650 * @private 19651 * @param {Object} map The map to query. 19652 * @param {string} key The reference key. 19653 * @returns {*} Returns the map data. 19654 */ 19655function getMapData(map, key) { 19656 var data = map.__data__; 19657 return Object(_isKeyable_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key) 19658 ? data[typeof key == 'string' ? 'string' : 'hash'] 19659 : data.map; 19660} 19661 19662/* harmony default export */ __webpack_exports__["default"] = (getMapData); 19663 19664 19665/***/ }), 19666
vendor: 1,244 bytes, lines 19667-19698
19667/***/ "./node_modules/lodash-es/_getNative.js": 19668/*!**********************************************!*\ 19669 !*** ./node_modules/lodash-es/_getNative.js ***! 19670 \**********************************************/ 19671/*! exports provided: default */ 19672/***/ (function(module, __webpack_exports__, __webpack_require__) { 19673 19674"use strict"; 19675__webpack_require__.r(__webpack_exports__); 19676/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ "./node_modules/lodash-es/_baseIsNative.js"); 19677/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getValue.js */ "./node_modules/lodash-es/_getValue.js"); 19678 19679 19680 19681/** 19682 * Gets the native function at `key` of `object`. 19683 * 19684 * @private 19685 * @param {Object} object The object to query. 19686 * @param {string} key The key of the method to get. 19687 * @returns {*} Returns the function if it's native, else `undefined`. 19688 */ 19689function getNative(object, key) { 19690 var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, key); 19691 return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) ? value : undefined; 19692} 19693 19694/* harmony default export */ __webpack_exports__["default"] = (getNative); 19695 19696 19697/***/ }), 19698
vendor: 764 bytes, lines 19699-19718
19699/***/ "./node_modules/lodash-es/_getPrototype.js": 19700/*!*************************************************!*\ 19701 !*** ./node_modules/lodash-es/_getPrototype.js ***! 19702 \*************************************************/ 19703/*! exports provided: default */ 19704/***/ (function(module, __webpack_exports__, __webpack_require__) { 19705 19706"use strict"; 19707__webpack_require__.r(__webpack_exports__); 19708/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js"); 19709 19710 19711/** Built-in value references. */ 19712var getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.getPrototypeOf, Object); 19713 19714/* harmony default export */ __webpack_exports__["default"] = (getPrototype); 19715 19716 19717/***/ }), 19718
vendor: 1,763 bytes, lines 19719-19778
19719/***/ "./node_modules/lodash-es/_getRawTag.js": 19720/*!**********************************************!*\ 19721 !*** ./node_modules/lodash-es/_getRawTag.js ***! 19722 \**********************************************/ 19723/*! exports provided: default */ 19724/***/ (function(module, __webpack_exports__, __webpack_require__) { 19725 19726"use strict"; 19727__webpack_require__.r(__webpack_exports__); 19728/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); 19729 19730 19731/** Used for built-in method references. */ 19732var objectProto = Object.prototype; 19733 19734/** Used to check objects for own properties. */ 19735var hasOwnProperty = objectProto.hasOwnProperty; 19736 19737/** 19738 * Used to resolve the 19739 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 19740 * of values. 19741 */ 19742var nativeObjectToString = objectProto.toString; 19743 19744/** Built-in value references. */ 19745var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; 19746 19747/** 19748 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 19749 * 19750 * @private 19751 * @param {*} value The value to query. 19752 * @returns {string} Returns the raw `toStringTag`. 19753 */ 19754function getRawTag(value) { 19755 var isOwn = hasOwnProperty.call(value, symToStringTag), 19756 tag = value[symToStringTag]; 19757 19758 try { 19759 value[symToStringTag] = undefined; 19760 var unmasked = true; 19761 } catch (e) {} 19762 19763 var result = nativeObjectToString.call(value); 19764 if (unmasked) { 19765 if (isOwn) { 19766 value[symToStringTag] = tag; 19767 } else { 19768 delete value[symToStringTag]; 19769 } 19770 } 19771 return result; 19772} 19773 19774/* harmony default export */ __webpack_exports__["default"] = (getRawTag); 19775 19776 19777/***/ }), 19778
vendor: 1,642 bytes, lines 19779-19823
19779/***/ "./node_modules/lodash-es/_getSymbols.js": 19780/*!***********************************************!*\ 19781 !*** ./node_modules/lodash-es/_getSymbols.js ***! 19782 \***********************************************/ 19783/*! exports provided: default */ 19784/***/ (function(module, __webpack_exports__, __webpack_require__) { 19785 19786"use strict"; 19787__webpack_require__.r(__webpack_exports__); 19788/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ "./node_modules/lodash-es/_arrayFilter.js"); 19789/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubArray.js */ "./node_modules/lodash-es/stubArray.js"); 19790 19791 19792 19793/** Used for built-in method references. */ 19794var objectProto = Object.prototype; 19795 19796/** Built-in value references. */ 19797var propertyIsEnumerable = objectProto.propertyIsEnumerable; 19798 19799/* Built-in method references for those with the same name as other `lodash` methods. */ 19800var nativeGetSymbols = Object.getOwnPropertySymbols; 19801 19802/** 19803 * Creates an array of the own enumerable symbols of `object`. 19804 * 19805 * @private 19806 * @param {Object} object The object to query. 19807 * @returns {Array} Returns the array of symbols. 19808 */ 19809var getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_1__["default"] : function(object) { 19810 if (object == null) { 19811 return []; 19812 } 19813 object = Object(object); 19814 return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__["default"])(nativeGetSymbols(object), function(symbol) { 19815 return propertyIsEnumerable.call(object, symbol); 19816 }); 19817}; 19818 19819/* harmony default export */ __webpack_exports__["default"] = (getSymbols); 19820 19821 19822/***/ }), 19823
vendor: 1,856 bytes, lines 19824-19865
19824/***/ "./node_modules/lodash-es/_getSymbolsIn.js": 19825/*!*************************************************!*\ 19826 !*** ./node_modules/lodash-es/_getSymbolsIn.js ***! 19827 \*************************************************/ 19828/*! exports provided: default */ 19829/***/ (function(module, __webpack_exports__, __webpack_require__) { 19830 19831"use strict"; 19832__webpack_require__.r(__webpack_exports__); 19833/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ "./node_modules/lodash-es/_arrayPush.js"); 19834/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js"); 19835/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js"); 19836/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stubArray.js */ "./node_modules/lodash-es/stubArray.js"); 19837 19838 19839 19840 19841 19842/* Built-in method references for those with the same name as other `lodash` methods. */ 19843var nativeGetSymbols = Object.getOwnPropertySymbols; 19844 19845/** 19846 * Creates an array of the own and inherited enumerable symbols of `object`. 19847 * 19848 * @private 19849 * @param {Object} object The object to query. 19850 * @returns {Array} Returns the array of symbols. 19851 */ 19852var getSymbolsIn = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_3__["default"] : function(object) { 19853 var result = []; 19854 while (object) { 19855 Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object)); 19856 object = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object); 19857 } 19858 return result; 19859}; 19860 19861/* harmony default export */ __webpack_exports__["default"] = (getSymbolsIn); 19862 19863 19864/***/ }), 19865
vendor: 4,112 bytes, lines 19866-19943
19866/***/ "./node_modules/lodash-es/_getTag.js": 19867/*!*******************************************!*\ 19868 !*** ./node_modules/lodash-es/_getTag.js ***! 19869 \*******************************************/ 19870/*! exports provided: default */ 19871/***/ (function(module, __webpack_exports__, __webpack_require__) { 19872 19873"use strict"; 19874__webpack_require__.r(__webpack_exports__); 19875/* harmony import */ var _DataView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_DataView.js */ "./node_modules/lodash-es/_DataView.js"); 19876/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js"); 19877/* harmony import */ var _Promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Promise.js */ "./node_modules/lodash-es/_Promise.js"); 19878/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_Set.js */ "./node_modules/lodash-es/_Set.js"); 19879/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_WeakMap.js */ "./node_modules/lodash-es/_WeakMap.js"); 19880/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 19881/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toSource.js */ "./node_modules/lodash-es/_toSource.js"); 19882 19883 19884 19885 19886 19887 19888 19889 19890/** `Object#toString` result references. */ 19891var mapTag = '[object Map]', 19892 objectTag = '[object Object]', 19893 promiseTag = '[object Promise]', 19894 setTag = '[object Set]', 19895 weakMapTag = '[object WeakMap]'; 19896 19897var dataViewTag = '[object DataView]'; 19898 19899/** Used to detect maps, sets, and weakmaps. */ 19900var dataViewCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"]), 19901 mapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"]), 19902 promiseCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"]), 19903 setCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Set_js__WEBPACK_IMPORTED_MODULE_3__["default"]), 19904 weakMapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"]); 19905 19906/** 19907 * Gets the `toStringTag` of `value`. 19908 * 19909 * @private 19910 * @param {*} value The value to query. 19911 * @returns {string} Returns the `toStringTag`. 19912 */ 19913var getTag = _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__["default"]; 19914 19915// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. 19916if ((_DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"] && getTag(new _DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"](new ArrayBuffer(1))) != dataViewTag) || 19917 (_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"] && getTag(new _Map_js__WEBPACK_IMPORTED_MODULE_1__["default"]) != mapTag) || 19918 (_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"] && getTag(_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"].resolve()) != promiseTag) || 19919 (_Set_js__WEBPACK_IMPORTED_MODULE_3__["default"] && getTag(new _Set_js__WEBPACK_IMPORTED_MODULE_3__["default"]) != setTag) || 19920 (_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"] && getTag(new _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"]) != weakMapTag)) { 19921 getTag = function(value) { 19922 var result = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value), 19923 Ctor = result == objectTag ? value.constructor : undefined, 19924 ctorString = Ctor ? Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(Ctor) : ''; 19925 19926 if (ctorString) { 19927 switch (ctorString) { 19928 case dataViewCtorString: return dataViewTag; 19929 case mapCtorString: return mapTag; 19930 case promiseCtorString: return promiseTag; 19931 case setCtorString: return setTag; 19932 case weakMapCtorString: return weakMapTag; 19933 } 19934 } 19935 return result; 19936 }; 19937} 19938 19939/* harmony default export */ __webpack_exports__["default"] = (getTag); 19940 19941 19942/***/ }), 19943
vendor: 744 bytes, lines 19944-19969
19944/***/ "./node_modules/lodash-es/_getValue.js": 19945/*!*********************************************!*\ 19946 !*** ./node_modules/lodash-es/_getValue.js ***! 19947 \*********************************************/ 19948/*! exports provided: default */ 19949/***/ (function(module, __webpack_exports__, __webpack_require__) { 19950 19951"use strict"; 19952__webpack_require__.r(__webpack_exports__); 19953/** 19954 * Gets the value at `key` of `object`. 19955 * 19956 * @private 19957 * @param {Object} [object] The object to query. 19958 * @param {string} key The key of the property to get. 19959 * @returns {*} Returns the property value. 19960 */ 19961function getValue(object, key) { 19962 return object == null ? undefined : object[key]; 19963} 19964 19965/* harmony default export */ __webpack_exports__["default"] = (getValue); 19966 19967 19968/***/ }), 19969
vendor: 919 bytes, lines 19970-19998
19970/***/ "./node_modules/lodash-es/_hashClear.js": 19971/*!**********************************************!*\ 19972 !*** ./node_modules/lodash-es/_hashClear.js ***! 19973 \**********************************************/ 19974/*! exports provided: default */ 19975/***/ (function(module, __webpack_exports__, __webpack_require__) { 19976 19977"use strict"; 19978__webpack_require__.r(__webpack_exports__); 19979/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js"); 19980 19981 19982/** 19983 * Removes all key-value entries from the hash. 19984 * 19985 * @private 19986 * @name clear 19987 * @memberOf Hash 19988 */ 19989function hashClear() { 19990 this.__data__ = _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? Object(_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"])(null) : {}; 19991 this.size = 0; 19992} 19993 19994/* harmony default export */ __webpack_exports__["default"] = (hashClear); 19995 19996 19997/***/ }), 19998
vendor: 872 bytes, lines 19999-20028
19999/***/ "./node_modules/lodash-es/_hashDelete.js": 20000/*!***********************************************!*\ 20001 !*** ./node_modules/lodash-es/_hashDelete.js ***! 20002 \***********************************************/ 20003/*! exports provided: default */ 20004/***/ (function(module, __webpack_exports__, __webpack_require__) { 20005 20006"use strict"; 20007__webpack_require__.r(__webpack_exports__); 20008/** 20009 * Removes `key` and its value from the hash. 20010 * 20011 * @private 20012 * @name delete 20013 * @memberOf Hash 20014 * @param {Object} hash The hash to modify. 20015 * @param {string} key The key of the value to remove. 20016 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 20017 */ 20018function hashDelete(key) { 20019 var result = this.has(key) && delete this.__data__[key]; 20020 this.size -= result ? 1 : 0; 20021 return result; 20022} 20023 20024/* harmony default export */ __webpack_exports__["default"] = (hashDelete); 20025 20026 20027/***/ }), 20028
vendor: 1,350 bytes, lines 20029-20072
20029/***/ "./node_modules/lodash-es/_hashGet.js": 20030/*!********************************************!*\ 20031 !*** ./node_modules/lodash-es/_hashGet.js ***! 20032 \********************************************/ 20033/*! exports provided: default */ 20034/***/ (function(module, __webpack_exports__, __webpack_require__) { 20035 20036"use strict"; 20037__webpack_require__.r(__webpack_exports__); 20038/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js"); 20039 20040 20041/** Used to stand-in for `undefined` hash values. */ 20042var HASH_UNDEFINED = '__lodash_hash_undefined__'; 20043 20044/** Used for built-in method references. */ 20045var objectProto = Object.prototype; 20046 20047/** Used to check objects for own properties. */ 20048var hasOwnProperty = objectProto.hasOwnProperty; 20049 20050/** 20051 * Gets the hash value for `key`. 20052 * 20053 * @private 20054 * @name get 20055 * @memberOf Hash 20056 * @param {string} key The key of the value to get. 20057 * @returns {*} Returns the entry value. 20058 */ 20059function hashGet(key) { 20060 var data = this.__data__; 20061 if (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"]) { 20062 var result = data[key]; 20063 return result === HASH_UNDEFINED ? undefined : result; 20064 } 20065 return hasOwnProperty.call(data, key) ? data[key] : undefined; 20066} 20067 20068/* harmony default export */ __webpack_exports__["default"] = (hashGet); 20069 20070 20071/***/ }), 20072
vendor: 1,204 bytes, lines 20073-20109
20073/***/ "./node_modules/lodash-es/_hashHas.js": 20074/*!********************************************!*\ 20075 !*** ./node_modules/lodash-es/_hashHas.js ***! 20076 \********************************************/ 20077/*! exports provided: default */ 20078/***/ (function(module, __webpack_exports__, __webpack_require__) { 20079 20080"use strict"; 20081__webpack_require__.r(__webpack_exports__); 20082/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js"); 20083 20084 20085/** Used for built-in method references. */ 20086var objectProto = Object.prototype; 20087 20088/** Used to check objects for own properties. */ 20089var hasOwnProperty = objectProto.hasOwnProperty; 20090 20091/** 20092 * Checks if a hash value for `key` exists. 20093 * 20094 * @private 20095 * @name has 20096 * @memberOf Hash 20097 * @param {string} key The key of the entry to check. 20098 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 20099 */ 20100function hashHas(key) { 20101 var data = this.__data__; 20102 return _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? (data[key] !== undefined) : hasOwnProperty.call(data, key); 20103} 20104 20105/* harmony default export */ __webpack_exports__["default"] = (hashHas); 20106 20107 20108/***/ }), 20109
vendor: 1,176 bytes, lines 20110-20146
20110/***/ "./node_modules/lodash-es/_hashSet.js": 20111/*!********************************************!*\ 20112 !*** ./node_modules/lodash-es/_hashSet.js ***! 20113 \********************************************/ 20114/*! exports provided: default */ 20115/***/ (function(module, __webpack_exports__, __webpack_require__) { 20116 20117"use strict"; 20118__webpack_require__.r(__webpack_exports__); 20119/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js"); 20120 20121 20122/** Used to stand-in for `undefined` hash values. */ 20123var HASH_UNDEFINED = '__lodash_hash_undefined__'; 20124 20125/** 20126 * Sets the hash `key` to `value`. 20127 * 20128 * @private 20129 * @name set 20130 * @memberOf Hash 20131 * @param {string} key The key of the value to set. 20132 * @param {*} value The value to set. 20133 * @returns {Object} Returns the hash instance. 20134 */ 20135function hashSet(key, value) { 20136 var data = this.__data__; 20137 this.size += this.has(key) ? 0 : 1; 20138 data[key] = (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] && value === undefined) ? HASH_UNDEFINED : value; 20139 return this; 20140} 20141 20142/* harmony default export */ __webpack_exports__["default"] = (hashSet); 20143 20144 20145/***/ }), 20146
vendor: 1,135 bytes, lines 20147-20185
20147/***/ "./node_modules/lodash-es/_initCloneArray.js": 20148/*!***************************************************!*\ 20149 !*** ./node_modules/lodash-es/_initCloneArray.js ***! 20150 \***************************************************/ 20151/*! exports provided: default */ 20152/***/ (function(module, __webpack_exports__, __webpack_require__) { 20153 20154"use strict"; 20155__webpack_require__.r(__webpack_exports__); 20156/** Used for built-in method references. */ 20157var objectProto = Object.prototype; 20158 20159/** Used to check objects for own properties. */ 20160var hasOwnProperty = objectProto.hasOwnProperty; 20161 20162/** 20163 * Initializes an array clone. 20164 * 20165 * @private 20166 * @param {Array} array The array to clone. 20167 * @returns {Array} Returns the initialized clone. 20168 */ 20169function initCloneArray(array) { 20170 var length = array.length, 20171 result = new array.constructor(length); 20172 20173 // Add properties assigned by `RegExp#exec`. 20174 if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 20175 result.index = array.index; 20176 result.input = array.input; 20177 } 20178 return result; 20179} 20180 20181/* harmony default export */ __webpack_exports__["default"] = (initCloneArray); 20182 20183 20184/***/ }), 20185
vendor: 3,565 bytes, lines 20186-20280
20186/***/ "./node_modules/lodash-es/_initCloneByTag.js": 20187/*!***************************************************!*\ 20188 !*** ./node_modules/lodash-es/_initCloneByTag.js ***! 20189 \***************************************************/ 20190/*! exports provided: default */ 20191/***/ (function(module, __webpack_exports__, __webpack_require__) { 20192 20193"use strict"; 20194__webpack_require__.r(__webpack_exports__); 20195/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js"); 20196/* harmony import */ var _cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneDataView.js */ "./node_modules/lodash-es/_cloneDataView.js"); 20197/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneRegExp.js */ "./node_modules/lodash-es/_cloneRegExp.js"); 20198/* harmony import */ var _cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cloneSymbol.js */ "./node_modules/lodash-es/_cloneSymbol.js"); 20199/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_cloneTypedArray.js */ "./node_modules/lodash-es/_cloneTypedArray.js"); 20200 20201 20202 20203 20204 20205 20206/** `Object#toString` result references. */ 20207var boolTag = '[object Boolean]', 20208 dateTag = '[object Date]', 20209 mapTag = '[object Map]', 20210 numberTag = '[object Number]', 20211 regexpTag = '[object RegExp]', 20212 setTag = '[object Set]', 20213 stringTag = '[object String]', 20214 symbolTag = '[object Symbol]'; 20215 20216var arrayBufferTag = '[object ArrayBuffer]', 20217 dataViewTag = '[object DataView]', 20218 float32Tag = '[object Float32Array]', 20219 float64Tag = '[object Float64Array]', 20220 int8Tag = '[object Int8Array]', 20221 int16Tag = '[object Int16Array]', 20222 int32Tag = '[object Int32Array]', 20223 uint8Tag = '[object Uint8Array]', 20224 uint8ClampedTag = '[object Uint8ClampedArray]', 20225 uint16Tag = '[object Uint16Array]', 20226 uint32Tag = '[object Uint32Array]'; 20227 20228/** 20229 * Initializes an object clone based on its `toStringTag`. 20230 * 20231 * **Note:** This function only supports cloning values with tags of 20232 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. 20233 * 20234 * @private 20235 * @param {Object} object The object to clone. 20236 * @param {string} tag The `toStringTag` of the object to clone. 20237 * @param {boolean} [isDeep] Specify a deep clone. 20238 * @returns {Object} Returns the initialized clone. 20239 */ 20240function initCloneByTag(object, tag, isDeep) { 20241 var Ctor = object.constructor; 20242 switch (tag) { 20243 case arrayBufferTag: 20244 return Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object); 20245 20246 case boolTag: 20247 case dateTag: 20248 return new Ctor(+object); 20249 20250 case dataViewTag: 20251 return Object(_cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, isDeep); 20252 20253 case float32Tag: case float64Tag: 20254 case int8Tag: case int16Tag: case int32Tag: 20255 case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: 20256 return Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(object, isDeep); 20257 20258 case mapTag: 20259 return new Ctor; 20260 20261 case numberTag: 20262 case stringTag: 20263 return new Ctor(object); 20264 20265 case regexpTag: 20266 return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object); 20267 20268 case setTag: 20269 return new Ctor; 20270 20271 case symbolTag: 20272 return Object(_cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(object); 20273 } 20274} 20275 20276/* harmony default export */ __webpack_exports__["default"] = (initCloneByTag); 20277 20278 20279/***/ }), 20280
vendor: 1,443 bytes, lines 20281-20314
20281/***/ "./node_modules/lodash-es/_initCloneObject.js": 20282/*!****************************************************!*\ 20283 !*** ./node_modules/lodash-es/_initCloneObject.js ***! 20284 \****************************************************/ 20285/*! exports provided: default */ 20286/***/ (function(module, __webpack_exports__, __webpack_require__) { 20287 20288"use strict"; 20289__webpack_require__.r(__webpack_exports__); 20290/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ "./node_modules/lodash-es/_baseCreate.js"); 20291/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js"); 20292/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js"); 20293 20294 20295 20296 20297/** 20298 * Initializes an object clone. 20299 * 20300 * @private 20301 * @param {Object} object The object to clone. 20302 * @returns {Object} Returns the initialized clone. 20303 */ 20304function initCloneObject(object) { 20305 return (typeof object.constructor == 'function' && !Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object)) 20306 ? Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object)) 20307 : {}; 20308} 20309 20310/* harmony default export */ __webpack_exports__["default"] = (initCloneObject); 20311 20312 20313/***/ }), 20314
vendor: 1,174 bytes, lines 20315-20352
20315/***/ "./node_modules/lodash-es/_isIndex.js": 20316/*!********************************************!*\ 20317 !*** ./node_modules/lodash-es/_isIndex.js ***! 20318 \********************************************/ 20319/*! exports provided: default */ 20320/***/ (function(module, __webpack_exports__, __webpack_require__) { 20321 20322"use strict"; 20323__webpack_require__.r(__webpack_exports__); 20324/** Used as references for various `Number` constants. */ 20325var MAX_SAFE_INTEGER = 9007199254740991; 20326 20327/** Used to detect unsigned integer values. */ 20328var reIsUint = /^(?:0|[1-9]\d*)$/; 20329 20330/** 20331 * Checks if `value` is a valid array-like index. 20332 * 20333 * @private 20334 * @param {*} value The value to check. 20335 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 20336 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 20337 */ 20338function isIndex(value, length) { 20339 var type = typeof value; 20340 length = length == null ? MAX_SAFE_INTEGER : length; 20341 20342 return !!length && 20343 (type == 'number' || 20344 (type != 'symbol' && reIsUint.test(value))) && 20345 (value > -1 && value % 1 == 0 && value < length); 20346} 20347 20348/* harmony default export */ __webpack_exports__["default"] = (isIndex); 20349 20350 20351/***/ }), 20352
vendor: 853 bytes, lines 20353-20380
20353/***/ "./node_modules/lodash-es/_isKeyable.js": 20354/*!**********************************************!*\ 20355 !*** ./node_modules/lodash-es/_isKeyable.js ***! 20356 \**********************************************/ 20357/*! exports provided: default */ 20358/***/ (function(module, __webpack_exports__, __webpack_require__) { 20359 20360"use strict"; 20361__webpack_require__.r(__webpack_exports__); 20362/** 20363 * Checks if `value` is suitable for use as unique object key. 20364 * 20365 * @private 20366 * @param {*} value The value to check. 20367 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 20368 */ 20369function isKeyable(value) { 20370 var type = typeof value; 20371 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 20372 ? (value !== '__proto__') 20373 : (value === null); 20374} 20375 20376/* harmony default export */ __webpack_exports__["default"] = (isKeyable); 20377 20378 20379/***/ }), 20380
vendor: 1,232 bytes, lines 20381-20414
20381/***/ "./node_modules/lodash-es/_isMasked.js": 20382/*!*********************************************!*\ 20383 !*** ./node_modules/lodash-es/_isMasked.js ***! 20384 \*********************************************/ 20385/*! exports provided: default */ 20386/***/ (function(module, __webpack_exports__, __webpack_require__) { 20387 20388"use strict"; 20389__webpack_require__.r(__webpack_exports__); 20390/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ "./node_modules/lodash-es/_coreJsData.js"); 20391 20392 20393/** Used to detect methods masquerading as native. */ 20394var maskSrcKey = (function() { 20395 var uid = /[^.]+$/.exec(_coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"] && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"].keys && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"].keys.IE_PROTO || ''); 20396 return uid ? ('Symbol(src)_1.' + uid) : ''; 20397}()); 20398 20399/** 20400 * Checks if `func` has its source masked. 20401 * 20402 * @private 20403 * @param {Function} func The function to check. 20404 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 20405 */ 20406function isMasked(func) { 20407 return !!maskSrcKey && (maskSrcKey in func); 20408} 20409 20410/* harmony default export */ __webpack_exports__["default"] = (isMasked); 20411 20412 20413/***/ }), 20414
vendor: 911 bytes, lines 20415-20445
20415/***/ "./node_modules/lodash-es/_isPrototype.js": 20416/*!************************************************!*\ 20417 !*** ./node_modules/lodash-es/_isPrototype.js ***! 20418 \************************************************/ 20419/*! exports provided: default */ 20420/***/ (function(module, __webpack_exports__, __webpack_require__) { 20421 20422"use strict"; 20423__webpack_require__.r(__webpack_exports__); 20424/** Used for built-in method references. */ 20425var objectProto = Object.prototype; 20426 20427/** 20428 * Checks if `value` is likely a prototype object. 20429 * 20430 * @private 20431 * @param {*} value The value to check. 20432 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 20433 */ 20434function isPrototype(value) { 20435 var Ctor = value && value.constructor, 20436 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 20437 20438 return value === proto; 20439} 20440 20441/* harmony default export */ __webpack_exports__["default"] = (isPrototype); 20442 20443 20444/***/ }), 20445
vendor: 661 bytes, lines 20446-20471
20446/***/ "./node_modules/lodash-es/_listCacheClear.js": 20447/*!***************************************************!*\ 20448 !*** ./node_modules/lodash-es/_listCacheClear.js ***! 20449 \***************************************************/ 20450/*! exports provided: default */ 20451/***/ (function(module, __webpack_exports__, __webpack_require__) { 20452 20453"use strict"; 20454__webpack_require__.r(__webpack_exports__); 20455/** 20456 * Removes all key-value entries from the list cache. 20457 * 20458 * @private 20459 * @name clear 20460 * @memberOf ListCache 20461 */ 20462function listCacheClear() { 20463 this.__data__ = []; 20464 this.size = 0; 20465} 20466 20467/* harmony default export */ __webpack_exports__["default"] = (listCacheClear); 20468 20469 20470/***/ }), 20471
vendor: 1,393 bytes, lines 20472-20520
20472/***/ "./node_modules/lodash-es/_listCacheDelete.js": 20473/*!****************************************************!*\ 20474 !*** ./node_modules/lodash-es/_listCacheDelete.js ***! 20475 \****************************************************/ 20476/*! exports provided: default */ 20477/***/ (function(module, __webpack_exports__, __webpack_require__) { 20478 20479"use strict"; 20480__webpack_require__.r(__webpack_exports__); 20481/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js"); 20482 20483 20484/** Used for built-in method references. */ 20485var arrayProto = Array.prototype; 20486 20487/** Built-in value references. */ 20488var splice = arrayProto.splice; 20489 20490/** 20491 * Removes `key` and its value from the list cache. 20492 * 20493 * @private 20494 * @name delete 20495 * @memberOf ListCache 20496 * @param {string} key The key of the value to remove. 20497 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 20498 */ 20499function listCacheDelete(key) { 20500 var data = this.__data__, 20501 index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key); 20502 20503 if (index < 0) { 20504 return false; 20505 } 20506 var lastIndex = data.length - 1; 20507 if (index == lastIndex) { 20508 data.pop(); 20509 } else { 20510 splice.call(data, index, 1); 20511 } 20512 --this.size; 20513 return true; 20514} 20515 20516/* harmony default export */ __webpack_exports__["default"] = (listCacheDelete); 20517 20518 20519/***/ }), 20520
vendor: 1,026 bytes, lines 20521-20553
20521/***/ "./node_modules/lodash-es/_listCacheGet.js": 20522/*!*************************************************!*\ 20523 !*** ./node_modules/lodash-es/_listCacheGet.js ***! 20524 \*************************************************/ 20525/*! exports provided: default */ 20526/***/ (function(module, __webpack_exports__, __webpack_require__) { 20527 20528"use strict"; 20529__webpack_require__.r(__webpack_exports__); 20530/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js"); 20531 20532 20533/** 20534 * Gets the list cache value for `key`. 20535 * 20536 * @private 20537 * @name get 20538 * @memberOf ListCache 20539 * @param {string} key The key of the value to get. 20540 * @returns {*} Returns the entry value. 20541 */ 20542function listCacheGet(key) { 20543 var data = this.__data__, 20544 index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key); 20545 20546 return index < 0 ? undefined : data[index][1]; 20547} 20548 20549/* harmony default export */ __webpack_exports__["default"] = (listCacheGet); 20550 20551 20552/***/ }), 20553
vendor: 1,009 bytes, lines 20554-20583
20554/***/ "./node_modules/lodash-es/_listCacheHas.js": 20555/*!*************************************************!*\ 20556 !*** ./node_modules/lodash-es/_listCacheHas.js ***! 20557 \*************************************************/ 20558/*! exports provided: default */ 20559/***/ (function(module, __webpack_exports__, __webpack_require__) { 20560 20561"use strict"; 20562__webpack_require__.r(__webpack_exports__); 20563/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js"); 20564 20565 20566/** 20567 * Checks if a list cache value for `key` exists. 20568 * 20569 * @private 20570 * @name has 20571 * @memberOf ListCache 20572 * @param {string} key The key of the entry to check. 20573 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 20574 */ 20575function listCacheHas(key) { 20576 return Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this.__data__, key) > -1; 20577} 20578 20579/* harmony default export */ __webpack_exports__["default"] = (listCacheHas); 20580 20581 20582/***/ }), 20583
vendor: 1,159 bytes, lines 20584-20623
20584/***/ "./node_modules/lodash-es/_listCacheSet.js": 20585/*!*************************************************!*\ 20586 !*** ./node_modules/lodash-es/_listCacheSet.js ***! 20587 \*************************************************/ 20588/*! exports provided: default */ 20589/***/ (function(module, __webpack_exports__, __webpack_require__) { 20590 20591"use strict"; 20592__webpack_require__.r(__webpack_exports__); 20593/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js"); 20594 20595 20596/** 20597 * Sets the list cache `key` to `value`. 20598 * 20599 * @private 20600 * @name set 20601 * @memberOf ListCache 20602 * @param {string} key The key of the value to set. 20603 * @param {*} value The value to set. 20604 * @returns {Object} Returns the list cache instance. 20605 */ 20606function listCacheSet(key, value) { 20607 var data = this.__data__, 20608 index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key); 20609 20610 if (index < 0) { 20611 ++this.size; 20612 data.push([key, value]); 20613 } else { 20614 data[index][1] = value; 20615 } 20616 return this; 20617} 20618 20619/* harmony default export */ __webpack_exports__["default"] = (listCacheSet); 20620 20621 20622/***/ }), 20623
vendor: 1,345 bytes, lines 20624-20660
20624/***/ "./node_modules/lodash-es/_mapCacheClear.js": 20625/*!**************************************************!*\ 20626 !*** ./node_modules/lodash-es/_mapCacheClear.js ***! 20627 \**************************************************/ 20628/*! exports provided: default */ 20629/***/ (function(module, __webpack_exports__, __webpack_require__) { 20630 20631"use strict"; 20632__webpack_require__.r(__webpack_exports__); 20633/* harmony import */ var _Hash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Hash.js */ "./node_modules/lodash-es/_Hash.js"); 20634/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js"); 20635/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js"); 20636 20637 20638 20639 20640/** 20641 * Removes all key-value entries from the map. 20642 * 20643 * @private 20644 * @name clear 20645 * @memberOf MapCache 20646 */ 20647function mapCacheClear() { 20648 this.size = 0; 20649 this.__data__ = { 20650 'hash': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__["default"], 20651 'map': new (_Map_js__WEBPACK_IMPORTED_MODULE_2__["default"] || _ListCache_js__WEBPACK_IMPORTED_MODULE_1__["default"]), 20652 'string': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__["default"] 20653 }; 20654} 20655 20656/* harmony default export */ __webpack_exports__["default"] = (mapCacheClear); 20657 20658 20659/***/ }), 20660
vendor: 1,062 bytes, lines 20661-20692
20661/***/ "./node_modules/lodash-es/_mapCacheDelete.js": 20662/*!***************************************************!*\ 20663 !*** ./node_modules/lodash-es/_mapCacheDelete.js ***! 20664 \***************************************************/ 20665/*! exports provided: default */ 20666/***/ (function(module, __webpack_exports__, __webpack_require__) { 20667 20668"use strict"; 20669__webpack_require__.r(__webpack_exports__); 20670/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js"); 20671 20672 20673/** 20674 * Removes `key` and its value from the map. 20675 * 20676 * @private 20677 * @name delete 20678 * @memberOf MapCache 20679 * @param {string} key The key of the value to remove. 20680 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 20681 */ 20682function mapCacheDelete(key) { 20683 var result = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key)['delete'](key); 20684 this.size -= result ? 1 : 0; 20685 return result; 20686} 20687 20688/* harmony default export */ __webpack_exports__["default"] = (mapCacheDelete); 20689 20690 20691/***/ }), 20692
vendor: 930 bytes, lines 20693-20722
20693/***/ "./node_modules/lodash-es/_mapCacheGet.js": 20694/*!************************************************!*\ 20695 !*** ./node_modules/lodash-es/_mapCacheGet.js ***! 20696 \************************************************/ 20697/*! exports provided: default */ 20698/***/ (function(module, __webpack_exports__, __webpack_require__) { 20699 20700"use strict"; 20701__webpack_require__.r(__webpack_exports__); 20702/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js"); 20703 20704 20705/** 20706 * Gets the map value for `key`. 20707 * 20708 * @private 20709 * @name get 20710 * @memberOf MapCache 20711 * @param {string} key The key of the value to get. 20712 * @returns {*} Returns the entry value. 20713 */ 20714function mapCacheGet(key) { 20715 return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key).get(key); 20716} 20717 20718/* harmony default export */ __webpack_exports__["default"] = (mapCacheGet); 20719 20720 20721/***/ }), 20722
vendor: 982 bytes, lines 20723-20752
20723/***/ "./node_modules/lodash-es/_mapCacheHas.js": 20724/*!************************************************!*\ 20725 !*** ./node_modules/lodash-es/_mapCacheHas.js ***! 20726 \************************************************/ 20727/*! exports provided: default */ 20728/***/ (function(module, __webpack_exports__, __webpack_require__) { 20729 20730"use strict"; 20731__webpack_require__.r(__webpack_exports__); 20732/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js"); 20733 20734 20735/** 20736 * Checks if a map value for `key` exists. 20737 * 20738 * @private 20739 * @name has 20740 * @memberOf MapCache 20741 * @param {string} key The key of the entry to check. 20742 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 20743 */ 20744function mapCacheHas(key) { 20745 return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key).has(key); 20746} 20747 20748/* harmony default export */ __webpack_exports__["default"] = (mapCacheHas); 20749 20750 20751/***/ }), 20752
vendor: 1,089 bytes, lines 20753-20788
20753/***/ "./node_modules/lodash-es/_mapCacheSet.js": 20754/*!************************************************!*\ 20755 !*** ./node_modules/lodash-es/_mapCacheSet.js ***! 20756 \************************************************/ 20757/*! exports provided: default */ 20758/***/ (function(module, __webpack_exports__, __webpack_require__) { 20759 20760"use strict"; 20761__webpack_require__.r(__webpack_exports__); 20762/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js"); 20763 20764 20765/** 20766 * Sets the map `key` to `value`. 20767 * 20768 * @private 20769 * @name set 20770 * @memberOf MapCache 20771 * @param {string} key The key of the value to set. 20772 * @param {*} value The value to set. 20773 * @returns {Object} Returns the map cache instance. 20774 */ 20775function mapCacheSet(key, value) { 20776 var data = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key), 20777 size = data.size; 20778 20779 data.set(key, value); 20780 this.size += data.size == size ? 0 : 1; 20781 return this; 20782} 20783 20784/* harmony default export */ __webpack_exports__["default"] = (mapCacheSet); 20785 20786 20787/***/ }), 20788
vendor: 1,237 bytes, lines 20789-20828
20789/***/ "./node_modules/lodash-es/_memoizeCapped.js": 20790/*!**************************************************!*\ 20791 !*** ./node_modules/lodash-es/_memoizeCapped.js ***! 20792 \**************************************************/ 20793/*! exports provided: default */ 20794/***/ (function(module, __webpack_exports__, __webpack_require__) { 20795 20796"use strict"; 20797__webpack_require__.r(__webpack_exports__); 20798/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoize.js */ "./node_modules/lodash-es/memoize.js"); 20799 20800 20801/** Used as the maximum memoize cache size. */ 20802var MAX_MEMOIZE_SIZE = 500; 20803 20804/** 20805 * A specialized version of `_.memoize` which clears the memoized function's 20806 * cache when it exceeds `MAX_MEMOIZE_SIZE`. 20807 * 20808 * @private 20809 * @param {Function} func The function to have its output memoized. 20810 * @returns {Function} Returns the new memoized function. 20811 */ 20812function memoizeCapped(func) { 20813 var result = Object(_memoize_js__WEBPACK_IMPORTED_MODULE_0__["default"])(func, function(key) { 20814 if (cache.size === MAX_MEMOIZE_SIZE) { 20815 cache.clear(); 20816 } 20817 return key; 20818 }); 20819 20820 var cache = result.cache; 20821 return result; 20822} 20823 20824/* harmony default export */ __webpack_exports__["default"] = (memoizeCapped); 20825 20826 20827/***/ }), 20828
vendor: 790 bytes, lines 20829-20848
20829/***/ "./node_modules/lodash-es/_nativeCreate.js": 20830/*!*************************************************!*\ 20831 !*** ./node_modules/lodash-es/_nativeCreate.js ***! 20832 \*************************************************/ 20833/*! exports provided: default */ 20834/***/ (function(module, __webpack_exports__, __webpack_require__) { 20835 20836"use strict"; 20837__webpack_require__.r(__webpack_exports__); 20838/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js"); 20839 20840 20841/* Built-in method references that are verified to be native. */ 20842var nativeCreate = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object, 'create'); 20843 20844/* harmony default export */ __webpack_exports__["default"] = (nativeCreate); 20845 20846 20847/***/ }), 20848
vendor: 797 bytes, lines 20849-20868
20849/***/ "./node_modules/lodash-es/_nativeKeys.js": 20850/*!***********************************************!*\ 20851 !*** ./node_modules/lodash-es/_nativeKeys.js ***! 20852 \***********************************************/ 20853/*! exports provided: default */ 20854/***/ (function(module, __webpack_exports__, __webpack_require__) { 20855 20856"use strict"; 20857__webpack_require__.r(__webpack_exports__); 20858/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js"); 20859 20860 20861/* Built-in method references for those with the same name as other `lodash` methods. */ 20862var nativeKeys = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.keys, Object); 20863 20864/* harmony default export */ __webpack_exports__["default"] = (nativeKeys); 20865 20866 20867/***/ }), 20868
vendor: 925 bytes, lines 20869-20901
20869/***/ "./node_modules/lodash-es/_nativeKeysIn.js": 20870/*!*************************************************!*\ 20871 !*** ./node_modules/lodash-es/_nativeKeysIn.js ***! 20872 \*************************************************/ 20873/*! exports provided: default */ 20874/***/ (function(module, __webpack_exports__, __webpack_require__) { 20875 20876"use strict"; 20877__webpack_require__.r(__webpack_exports__); 20878/** 20879 * This function is like 20880 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 20881 * except that it includes inherited enumerable properties. 20882 * 20883 * @private 20884 * @param {Object} object The object to query. 20885 * @returns {Array} Returns the array of property names. 20886 */ 20887function nativeKeysIn(object) { 20888 var result = []; 20889 if (object != null) { 20890 for (var key in Object(object)) { 20891 result.push(key); 20892 } 20893 } 20894 return result; 20895} 20896 20897/* harmony default export */ __webpack_exports__["default"] = (nativeKeysIn); 20898 20899 20900/***/ }), 20901
vendor: 1,789 bytes, lines 20902-20946
20902/***/ "./node_modules/lodash-es/_nodeUtil.js": 20903/*!*********************************************!*\ 20904 !*** ./node_modules/lodash-es/_nodeUtil.js ***! 20905 \*********************************************/ 20906/*! exports provided: default */ 20907/***/ (function(module, __webpack_exports__, __webpack_require__) { 20908 20909"use strict"; 20910__webpack_require__.r(__webpack_exports__); 20911/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js"); 20912 20913 20914/** Detect free variable `exports`. */ 20915var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; 20916 20917/** Detect free variable `module`. */ 20918var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 20919 20920/** Detect the popular CommonJS extension `module.exports`. */ 20921var moduleExports = freeModule && freeModule.exports === freeExports; 20922 20923/** Detect free variable `process` from Node.js. */ 20924var freeProcess = moduleExports && _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"].process; 20925 20926/** Used to access faster Node.js helpers. */ 20927var nodeUtil = (function() { 20928 try { 20929 // Use `util.types` for Node.js 10+. 20930 var types = freeModule && freeModule.require && freeModule.require('util').types; 20931 20932 if (types) { 20933 return types; 20934 } 20935 20936 // Legacy `process.binding('util')` for Node.js < 10. 20937 return freeProcess && freeProcess.binding && freeProcess.binding('util'); 20938 } catch (e) {} 20939}()); 20940 20941/* harmony default export */ __webpack_exports__["default"] = (nodeUtil); 20942 20943/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) 20944 20945/***/ }), 20946
vendor: 1,008 bytes, lines 20947-20981
20947/***/ "./node_modules/lodash-es/_objectToString.js": 20948/*!***************************************************!*\ 20949 !*** ./node_modules/lodash-es/_objectToString.js ***! 20950 \***************************************************/ 20951/*! exports provided: default */ 20952/***/ (function(module, __webpack_exports__, __webpack_require__) { 20953 20954"use strict"; 20955__webpack_require__.r(__webpack_exports__); 20956/** Used for built-in method references. */ 20957var objectProto = Object.prototype; 20958 20959/** 20960 * Used to resolve the 20961 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 20962 * of values. 20963 */ 20964var nativeObjectToString = objectProto.toString; 20965 20966/** 20967 * Converts `value` to a string using `Object.prototype.toString`. 20968 * 20969 * @private 20970 * @param {*} value The value to convert. 20971 * @returns {string} Returns the converted string. 20972 */ 20973function objectToString(value) { 20974 return nativeObjectToString.call(value); 20975} 20976 20977/* harmony default export */ __webpack_exports__["default"] = (objectToString); 20978 20979 20980/***/ }), 20981
vendor: 797 bytes, lines 20982-21009
20982/***/ "./node_modules/lodash-es/_overArg.js": 20983/*!********************************************!*\ 20984 !*** ./node_modules/lodash-es/_overArg.js ***! 20985 \********************************************/ 20986/*! exports provided: default */ 20987/***/ (function(module, __webpack_exports__, __webpack_require__) { 20988 20989"use strict"; 20990__webpack_require__.r(__webpack_exports__); 20991/** 20992 * Creates a unary function that invokes `func` with its argument transformed. 20993 * 20994 * @private 20995 * @param {Function} func The function to wrap. 20996 * @param {Function} transform The argument transform. 20997 * @returns {Function} Returns the new function. 20998 */ 20999function overArg(func, transform) { 21000 return function(arg) { 21001 return func(transform(arg)); 21002 }; 21003} 21004 21005/* harmony default export */ __webpack_exports__["default"] = (overArg); 21006 21007 21008/***/ }), 21009
vendor: 864 bytes, lines 21010-21032
21010/***/ "./node_modules/lodash-es/_root.js": 21011/*!*****************************************!*\ 21012 !*** ./node_modules/lodash-es/_root.js ***! 21013 \*****************************************/ 21014/*! exports provided: default */ 21015/***/ (function(module, __webpack_exports__, __webpack_require__) { 21016 21017"use strict"; 21018__webpack_require__.r(__webpack_exports__); 21019/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js"); 21020 21021 21022/** Detect free variable `self`. */ 21023var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 21024 21025/** Used as a reference to the global object. */ 21026var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"] || freeSelf || Function('return this')(); 21027 21028/* harmony default export */ __webpack_exports__["default"] = (root); 21029 21030 21031/***/ }), 21032
vendor: 841 bytes, lines 21033-21061
21033/***/ "./node_modules/lodash-es/_stackClear.js": 21034/*!***********************************************!*\ 21035 !*** ./node_modules/lodash-es/_stackClear.js ***! 21036 \***********************************************/ 21037/*! exports provided: default */ 21038/***/ (function(module, __webpack_exports__, __webpack_require__) { 21039 21040"use strict"; 21041__webpack_require__.r(__webpack_exports__); 21042/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js"); 21043 21044 21045/** 21046 * Removes all key-value entries from the stack. 21047 * 21048 * @private 21049 * @name clear 21050 * @memberOf Stack 21051 */ 21052function stackClear() { 21053 this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 21054 this.size = 0; 21055} 21056 21057/* harmony default export */ __webpack_exports__["default"] = (stackClear); 21058 21059 21060/***/ }), 21061
vendor: 836 bytes, lines 21062-21092
21062/***/ "./node_modules/lodash-es/_stackDelete.js": 21063/*!************************************************!*\ 21064 !*** ./node_modules/lodash-es/_stackDelete.js ***! 21065 \************************************************/ 21066/*! exports provided: default */ 21067/***/ (function(module, __webpack_exports__, __webpack_require__) { 21068 21069"use strict"; 21070__webpack_require__.r(__webpack_exports__); 21071/** 21072 * Removes `key` and its value from the stack. 21073 * 21074 * @private 21075 * @name delete 21076 * @memberOf Stack 21077 * @param {string} key The key of the value to remove. 21078 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 21079 */ 21080function stackDelete(key) { 21081 var data = this.__data__, 21082 result = data['delete'](key); 21083 21084 this.size = data.size; 21085 return result; 21086} 21087 21088/* harmony default export */ __webpack_exports__["default"] = (stackDelete); 21089 21090 21091/***/ }), 21092
vendor: 690 bytes, lines 21093-21119
21093/***/ "./node_modules/lodash-es/_stackGet.js": 21094/*!*********************************************!*\ 21095 !*** ./node_modules/lodash-es/_stackGet.js ***! 21096 \*********************************************/ 21097/*! exports provided: default */ 21098/***/ (function(module, __webpack_exports__, __webpack_require__) { 21099 21100"use strict"; 21101__webpack_require__.r(__webpack_exports__); 21102/** 21103 * Gets the stack value for `key`. 21104 * 21105 * @private 21106 * @name get 21107 * @memberOf Stack 21108 * @param {string} key The key of the value to get. 21109 * @returns {*} Returns the entry value. 21110 */ 21111function stackGet(key) { 21112 return this.__data__.get(key); 21113} 21114 21115/* harmony default export */ __webpack_exports__["default"] = (stackGet); 21116 21117 21118/***/ }), 21119
vendor: 742 bytes, lines 21120-21146
21120/***/ "./node_modules/lodash-es/_stackHas.js": 21121/*!*********************************************!*\ 21122 !*** ./node_modules/lodash-es/_stackHas.js ***! 21123 \*********************************************/ 21124/*! exports provided: default */ 21125/***/ (function(module, __webpack_exports__, __webpack_require__) { 21126 21127"use strict"; 21128__webpack_require__.r(__webpack_exports__); 21129/** 21130 * Checks if a stack value for `key` exists. 21131 * 21132 * @private 21133 * @name has 21134 * @memberOf Stack 21135 * @param {string} key The key of the entry to check. 21136 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 21137 */ 21138function stackHas(key) { 21139 return this.__data__.has(key); 21140} 21141 21142/* harmony default export */ __webpack_exports__["default"] = (stackHas); 21143 21144 21145/***/ }), 21146
vendor: 1,745 bytes, lines 21147-21196
21147/***/ "./node_modules/lodash-es/_stackSet.js": 21148/*!*********************************************!*\ 21149 !*** ./node_modules/lodash-es/_stackSet.js ***! 21150 \*********************************************/ 21151/*! exports provided: default */ 21152/***/ (function(module, __webpack_exports__, __webpack_require__) { 21153 21154"use strict"; 21155__webpack_require__.r(__webpack_exports__); 21156/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js"); 21157/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js"); 21158/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_MapCache.js */ "./node_modules/lodash-es/_MapCache.js"); 21159 21160 21161 21162 21163/** Used as the size to enable large array optimizations. */ 21164var LARGE_ARRAY_SIZE = 200; 21165 21166/** 21167 * Sets the stack `key` to `value`. 21168 * 21169 * @private 21170 * @name set 21171 * @memberOf Stack 21172 * @param {string} key The key of the value to set. 21173 * @param {*} value The value to set. 21174 * @returns {Object} Returns the stack cache instance. 21175 */ 21176function stackSet(key, value) { 21177 var data = this.__data__; 21178 if (data instanceof _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]) { 21179 var pairs = data.__data__; 21180 if (!_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"] || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 21181 pairs.push([key, value]); 21182 this.size = ++data.size; 21183 return this; 21184 } 21185 data = this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_2__["default"](pairs); 21186 } 21187 data.set(key, value); 21188 this.size = data.size; 21189 return this; 21190} 21191 21192/* harmony default export */ __webpack_exports__["default"] = (stackSet); 21193 21194 21195/***/ }), 21196
vendor: 1,447 bytes, lines 21197-21237
21197/***/ "./node_modules/lodash-es/_stringToPath.js": 21198/*!*************************************************!*\ 21199 !*** ./node_modules/lodash-es/_stringToPath.js ***! 21200 \*************************************************/ 21201/*! exports provided: default */ 21202/***/ (function(module, __webpack_exports__, __webpack_require__) { 21203 21204"use strict"; 21205__webpack_require__.r(__webpack_exports__); 21206/* harmony import */ var _memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_memoizeCapped.js */ "./node_modules/lodash-es/_memoizeCapped.js"); 21207 21208 21209/** Used to match property names within property paths. */ 21210var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; 21211 21212/** Used to match backslashes in property paths. */ 21213var reEscapeChar = /\\(\\)?/g; 21214 21215/** 21216 * Converts `string` to a property path array. 21217 * 21218 * @private 21219 * @param {string} string The string to convert. 21220 * @returns {Array} Returns the property path array. 21221 */ 21222var stringToPath = Object(_memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(string) { 21223 var result = []; 21224 if (string.charCodeAt(0) === 46 /* . */) { 21225 result.push(''); 21226 } 21227 string.replace(rePropName, function(match, number, quote, subString) { 21228 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); 21229 }); 21230 return result; 21231}); 21232 21233/* harmony default export */ __webpack_exports__["default"] = (stringToPath); 21234 21235 21236/***/ }), 21237
vendor: 1,096 bytes, lines 21238-21272
21238/***/ "./node_modules/lodash-es/_toKey.js": 21239/*!******************************************!*\ 21240 !*** ./node_modules/lodash-es/_toKey.js ***! 21241 \******************************************/ 21242/*! exports provided: default */ 21243/***/ (function(module, __webpack_exports__, __webpack_require__) { 21244 21245"use strict"; 21246__webpack_require__.r(__webpack_exports__); 21247/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js"); 21248 21249 21250/** Used as references for various `Number` constants. */ 21251var INFINITY = 1 / 0; 21252 21253/** 21254 * Converts `value` to a string key if it's not a string or symbol. 21255 * 21256 * @private 21257 * @param {*} value The value to inspect. 21258 * @returns {string|symbol} Returns the key. 21259 */ 21260function toKey(value) { 21261 if (typeof value == 'string' || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { 21262 return value; 21263 } 21264 var result = (value + ''); 21265 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 21266} 21267 21268/* harmony default export */ __webpack_exports__["default"] = (toKey); 21269 21270 21271/***/ }), 21272
vendor: 975 bytes, lines 21273-21311
21273/***/ "./node_modules/lodash-es/_toSource.js": 21274/*!*********************************************!*\ 21275 !*** ./node_modules/lodash-es/_toSource.js ***! 21276 \*********************************************/ 21277/*! exports provided: default */ 21278/***/ (function(module, __webpack_exports__, __webpack_require__) { 21279 21280"use strict"; 21281__webpack_require__.r(__webpack_exports__); 21282/** Used for built-in method references. */ 21283var funcProto = Function.prototype; 21284 21285/** Used to resolve the decompiled source of functions. */ 21286var funcToString = funcProto.toString; 21287 21288/** 21289 * Converts `func` to its source code. 21290 * 21291 * @private 21292 * @param {Function} func The function to convert. 21293 * @returns {string} Returns the source code. 21294 */ 21295function toSource(func) { 21296 if (func != null) { 21297 try { 21298 return funcToString.call(func); 21299 } catch (e) {} 21300 try { 21301 return (func + ''); 21302 } catch (e) {} 21303 } 21304 return ''; 21305} 21306 21307/* harmony default export */ __webpack_exports__["default"] = (toSource); 21308 21309 21310/***/ }), 21311
vendor: 1,636 bytes, lines 21312-21361
21312/***/ "./node_modules/lodash-es/clone.js": 21313/*!*****************************************!*\ 21314 !*** ./node_modules/lodash-es/clone.js ***! 21315 \*****************************************/ 21316/*! exports provided: default */ 21317/***/ (function(module, __webpack_exports__, __webpack_require__) { 21318 21319"use strict"; 21320__webpack_require__.r(__webpack_exports__); 21321/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ "./node_modules/lodash-es/_baseClone.js"); 21322 21323 21324/** Used to compose bitmasks for cloning. */ 21325var CLONE_SYMBOLS_FLAG = 4; 21326 21327/** 21328 * Creates a shallow clone of `value`. 21329 * 21330 * **Note:** This method is loosely based on the 21331 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) 21332 * and supports cloning arrays, array buffers, booleans, date objects, maps, 21333 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed 21334 * arrays. The own enumerable properties of `arguments` objects are cloned 21335 * as plain objects. An empty object is returned for uncloneable values such 21336 * as error objects, functions, DOM nodes, and WeakMaps. 21337 * 21338 * @static 21339 * @memberOf _ 21340 * @since 0.1.0 21341 * @category Lang 21342 * @param {*} value The value to clone. 21343 * @returns {*} Returns the cloned value. 21344 * @see _.cloneDeep 21345 * @example 21346 * 21347 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 21348 * 21349 * var shallow = _.clone(objects); 21350 * console.log(shallow[0] === objects[0]); 21351 * // => true 21352 */ 21353function clone(value) { 21354 return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, CLONE_SYMBOLS_FLAG); 21355} 21356 21357/* harmony default export */ __webpack_exports__["default"] = (clone); 21358 21359 21360/***/ }), 21361
vendor: 1,266 bytes, lines 21362-21404
21362/***/ "./node_modules/lodash-es/cloneDeep.js": 21363/*!*********************************************!*\ 21364 !*** ./node_modules/lodash-es/cloneDeep.js ***! 21365 \*********************************************/ 21366/*! exports provided: default */ 21367/***/ (function(module, __webpack_exports__, __webpack_require__) { 21368 21369"use strict"; 21370__webpack_require__.r(__webpack_exports__); 21371/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ "./node_modules/lodash-es/_baseClone.js"); 21372 21373 21374/** Used to compose bitmasks for cloning. */ 21375var CLONE_DEEP_FLAG = 1, 21376 CLONE_SYMBOLS_FLAG = 4; 21377 21378/** 21379 * This method is like `_.clone` except that it recursively clones `value`. 21380 * 21381 * @static 21382 * @memberOf _ 21383 * @since 1.0.0 21384 * @category Lang 21385 * @param {*} value The value to recursively clone. 21386 * @returns {*} Returns the deep cloned value. 21387 * @see _.clone 21388 * @example 21389 * 21390 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 21391 * 21392 * var deep = _.cloneDeep(objects); 21393 * console.log(deep[0] === objects[0]); 21394 * // => false 21395 */ 21396function cloneDeep(value) { 21397 return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); 21398} 21399 21400/* harmony default export */ __webpack_exports__["default"] = (cloneDeep); 21401 21402 21403/***/ }), 21404
vendor: 1,190 bytes, lines 21405-21454
21405/***/ "./node_modules/lodash-es/eq.js": 21406/*!**************************************!*\ 21407 !*** ./node_modules/lodash-es/eq.js ***! 21408 \**************************************/ 21409/*! exports provided: default */ 21410/***/ (function(module, __webpack_exports__, __webpack_require__) { 21411 21412"use strict"; 21413__webpack_require__.r(__webpack_exports__); 21414/** 21415 * Performs a 21416 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21417 * comparison between two values to determine if they are equivalent. 21418 * 21419 * @static 21420 * @memberOf _ 21421 * @since 4.0.0 21422 * @category Lang 21423 * @param {*} value The value to compare. 21424 * @param {*} other The other value to compare. 21425 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 21426 * @example 21427 * 21428 * var object = { 'a': 1 }; 21429 * var other = { 'a': 1 }; 21430 * 21431 * _.eq(object, object); 21432 * // => true 21433 * 21434 * _.eq(object, other); 21435 * // => false 21436 * 21437 * _.eq('a', 'a'); 21438 * // => true 21439 * 21440 * _.eq('a', Object('a')); 21441 * // => false 21442 * 21443 * _.eq(NaN, NaN); 21444 * // => true 21445 */ 21446function eq(value, other) { 21447 return value === other || (value !== value && other !== other); 21448} 21449 21450/* harmony default export */ __webpack_exports__["default"] = (eq); 21451 21452 21453/***/ }), 21454
vendor: 1,841 bytes, lines 21455-21505
21455/***/ "./node_modules/lodash-es/isArguments.js": 21456/*!***********************************************!*\ 21457 !*** ./node_modules/lodash-es/isArguments.js ***! 21458 \***********************************************/ 21459/*! exports provided: default */ 21460/***/ (function(module, __webpack_exports__, __webpack_require__) { 21461 21462"use strict"; 21463__webpack_require__.r(__webpack_exports__); 21464/* harmony import */ var _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArguments.js */ "./node_modules/lodash-es/_baseIsArguments.js"); 21465/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 21466 21467 21468 21469/** Used for built-in method references. */ 21470var objectProto = Object.prototype; 21471 21472/** Used to check objects for own properties. */ 21473var hasOwnProperty = objectProto.hasOwnProperty; 21474 21475/** Built-in value references. */ 21476var propertyIsEnumerable = objectProto.propertyIsEnumerable; 21477 21478/** 21479 * Checks if `value` is likely an `arguments` object. 21480 * 21481 * @static 21482 * @memberOf _ 21483 * @since 0.1.0 21484 * @category Lang 21485 * @param {*} value The value to check. 21486 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 21487 * else `false`. 21488 * @example 21489 * 21490 * _.isArguments(function() { return arguments; }()); 21491 * // => true 21492 * 21493 * _.isArguments([1, 2, 3]); 21494 * // => false 21495 */ 21496var isArguments = Object(_baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function() { return arguments; }()) ? _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__["default"] : function(value) { 21497 return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && hasOwnProperty.call(value, 'callee') && 21498 !propertyIsEnumerable.call(value, 'callee'); 21499}; 21500 21501/* harmony default export */ __webpack_exports__["default"] = (isArguments); 21502 21503 21504/***/ }), 21505
vendor: 899 bytes, lines 21506-21544
21506/***/ "./node_modules/lodash-es/isArray.js": 21507/*!*******************************************!*\ 21508 !*** ./node_modules/lodash-es/isArray.js ***! 21509 \*******************************************/ 21510/*! exports provided: default */ 21511/***/ (function(module, __webpack_exports__, __webpack_require__) { 21512 21513"use strict"; 21514__webpack_require__.r(__webpack_exports__); 21515/** 21516 * Checks if `value` is classified as an `Array` object. 21517 * 21518 * @static 21519 * @memberOf _ 21520 * @since 0.1.0 21521 * @category Lang 21522 * @param {*} value The value to check. 21523 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 21524 * @example 21525 * 21526 * _.isArray([1, 2, 3]); 21527 * // => true 21528 * 21529 * _.isArray(document.body.children); 21530 * // => false 21531 * 21532 * _.isArray('abc'); 21533 * // => false 21534 * 21535 * _.isArray(_.noop); 21536 * // => false 21537 */ 21538var isArray = Array.isArray; 21539 21540/* harmony default export */ __webpack_exports__["default"] = (isArray); 21541 21542 21543/***/ }), 21544
vendor: 1,591 bytes, lines 21545-21592
21545/***/ "./node_modules/lodash-es/isArrayLike.js": 21546/*!***********************************************!*\ 21547 !*** ./node_modules/lodash-es/isArrayLike.js ***! 21548 \***********************************************/ 21549/*! exports provided: default */ 21550/***/ (function(module, __webpack_exports__, __webpack_require__) { 21551 21552"use strict"; 21553__webpack_require__.r(__webpack_exports__); 21554/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ "./node_modules/lodash-es/isFunction.js"); 21555/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ "./node_modules/lodash-es/isLength.js"); 21556 21557 21558 21559/** 21560 * Checks if `value` is array-like. A value is considered array-like if it's 21561 * not a function and has a `value.length` that's an integer greater than or 21562 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 21563 * 21564 * @static 21565 * @memberOf _ 21566 * @since 4.0.0 21567 * @category Lang 21568 * @param {*} value The value to check. 21569 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 21570 * @example 21571 * 21572 * _.isArrayLike([1, 2, 3]); 21573 * // => true 21574 * 21575 * _.isArrayLike(document.body.children); 21576 * // => true 21577 * 21578 * _.isArrayLike('abc'); 21579 * // => true 21580 * 21581 * _.isArrayLike(_.noop); 21582 * // => false 21583 */ 21584function isArrayLike(value) { 21585 return value != null && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value.length) && !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value); 21586} 21587 21588/* harmony default export */ __webpack_exports__["default"] = (isArrayLike); 21589 21590 21591/***/ }), 21592
vendor: 2,057 bytes, lines 21593-21646
21593/***/ "./node_modules/lodash-es/isBuffer.js": 21594/*!********************************************!*\ 21595 !*** ./node_modules/lodash-es/isBuffer.js ***! 21596 \********************************************/ 21597/*! exports provided: default */ 21598/***/ (function(module, __webpack_exports__, __webpack_require__) { 21599 21600"use strict"; 21601__webpack_require__.r(__webpack_exports__); 21602/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); 21603/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubFalse.js */ "./node_modules/lodash-es/stubFalse.js"); 21604 21605 21606 21607/** Detect free variable `exports`. */ 21608var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; 21609 21610/** Detect free variable `module`. */ 21611var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 21612 21613/** Detect the popular CommonJS extension `module.exports`. */ 21614var moduleExports = freeModule && freeModule.exports === freeExports; 21615 21616/** Built-in value references. */ 21617var Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Buffer : undefined; 21618 21619/* Built-in method references for those with the same name as other `lodash` methods. */ 21620var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; 21621 21622/** 21623 * Checks if `value` is a buffer. 21624 * 21625 * @static 21626 * @memberOf _ 21627 * @since 4.3.0 21628 * @category Lang 21629 * @param {*} value The value to check. 21630 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 21631 * @example 21632 * 21633 * _.isBuffer(new Buffer(2)); 21634 * // => true 21635 * 21636 * _.isBuffer(new Uint8Array(2)); 21637 * // => false 21638 */ 21639var isBuffer = nativeIsBuffer || _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__["default"]; 21640 21641/* harmony default export */ __webpack_exports__["default"] = (isBuffer); 21642 21643/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) 21644 21645/***/ }), 21646
vendor: 1,751 bytes, lines 21647-21698
21647/***/ "./node_modules/lodash-es/isFunction.js": 21648/*!**********************************************!*\ 21649 !*** ./node_modules/lodash-es/isFunction.js ***! 21650 \**********************************************/ 21651/*! exports provided: default */ 21652/***/ (function(module, __webpack_exports__, __webpack_require__) { 21653 21654"use strict"; 21655__webpack_require__.r(__webpack_exports__); 21656/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 21657/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js"); 21658 21659 21660 21661/** `Object#toString` result references. */ 21662var asyncTag = '[object AsyncFunction]', 21663 funcTag = '[object Function]', 21664 genTag = '[object GeneratorFunction]', 21665 proxyTag = '[object Proxy]'; 21666 21667/** 21668 * Checks if `value` is classified as a `Function` object. 21669 * 21670 * @static 21671 * @memberOf _ 21672 * @since 0.1.0 21673 * @category Lang 21674 * @param {*} value The value to check. 21675 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 21676 * @example 21677 * 21678 * _.isFunction(_); 21679 * // => true 21680 * 21681 * _.isFunction(/abc/); 21682 * // => false 21683 */ 21684function isFunction(value) { 21685 if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) { 21686 return false; 21687 } 21688 // The use of `Object#toString` avoids issues with the `typeof` operator 21689 // in Safari 9 which returns 'object' for typed arrays and other constructors. 21690 var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value); 21691 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; 21692} 21693 21694/* harmony default export */ __webpack_exports__["default"] = (isFunction); 21695 21696 21697/***/ }), 21698
vendor: 1,217 bytes, lines 21699-21746
21699/***/ "./node_modules/lodash-es/isLength.js": 21700/*!********************************************!*\ 21701 !*** ./node_modules/lodash-es/isLength.js ***! 21702 \********************************************/ 21703/*! exports provided: default */ 21704/***/ (function(module, __webpack_exports__, __webpack_require__) { 21705 21706"use strict"; 21707__webpack_require__.r(__webpack_exports__); 21708/** Used as references for various `Number` constants. */ 21709var MAX_SAFE_INTEGER = 9007199254740991; 21710 21711/** 21712 * Checks if `value` is a valid array-like length. 21713 * 21714 * **Note:** This method is loosely based on 21715 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 21716 * 21717 * @static 21718 * @memberOf _ 21719 * @since 4.0.0 21720 * @category Lang 21721 * @param {*} value The value to check. 21722 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 21723 * @example 21724 * 21725 * _.isLength(3); 21726 * // => true 21727 * 21728 * _.isLength(Number.MIN_VALUE); 21729 * // => false 21730 * 21731 * _.isLength(Infinity); 21732 * // => false 21733 * 21734 * _.isLength('3'); 21735 * // => false 21736 */ 21737function isLength(value) { 21738 return typeof value == 'number' && 21739 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 21740} 21741 21742/* harmony default export */ __webpack_exports__["default"] = (isLength); 21743 21744 21745/***/ }), 21746
vendor: 1,547 bytes, lines 21747-21789
21747/***/ "./node_modules/lodash-es/isMap.js": 21748/*!*****************************************!*\ 21749 !*** ./node_modules/lodash-es/isMap.js ***! 21750 \*****************************************/ 21751/*! exports provided: default */ 21752/***/ (function(module, __webpack_exports__, __webpack_require__) { 21753 21754"use strict"; 21755__webpack_require__.r(__webpack_exports__); 21756/* harmony import */ var _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMap.js */ "./node_modules/lodash-es/_baseIsMap.js"); 21757/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js"); 21758/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js"); 21759 21760 21761 21762 21763/* Node.js helper references. */ 21764var nodeIsMap = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isMap; 21765 21766/** 21767 * Checks if `value` is classified as a `Map` object. 21768 * 21769 * @static 21770 * @memberOf _ 21771 * @since 4.3.0 21772 * @category Lang 21773 * @param {*} value The value to check. 21774 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 21775 * @example 21776 * 21777 * _.isMap(new Map); 21778 * // => true 21779 * 21780 * _.isMap(new WeakMap); 21781 * // => false 21782 */ 21783var isMap = nodeIsMap ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsMap) : _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 21784 21785/* harmony default export */ __webpack_exports__["default"] = (isMap); 21786 21787 21788/***/ }), 21789
vendor: 1,148 bytes, lines 21790-21833
21790/***/ "./node_modules/lodash-es/isObject.js": 21791/*!********************************************!*\ 21792 !*** ./node_modules/lodash-es/isObject.js ***! 21793 \********************************************/ 21794/*! exports provided: default */ 21795/***/ (function(module, __webpack_exports__, __webpack_require__) { 21796 21797"use strict"; 21798__webpack_require__.r(__webpack_exports__); 21799/** 21800 * Checks if `value` is the 21801 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 21802 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 21803 * 21804 * @static 21805 * @memberOf _ 21806 * @since 0.1.0 21807 * @category Lang 21808 * @param {*} value The value to check. 21809 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 21810 * @example 21811 * 21812 * _.isObject({}); 21813 * // => true 21814 * 21815 * _.isObject([1, 2, 3]); 21816 * // => true 21817 * 21818 * _.isObject(_.noop); 21819 * // => true 21820 * 21821 * _.isObject(null); 21822 * // => false 21823 */ 21824function isObject(value) { 21825 var type = typeof value; 21826 return value != null && (type == 'object' || type == 'function'); 21827} 21828 21829/* harmony default export */ __webpack_exports__["default"] = (isObject); 21830 21831 21832/***/ }), 21833
vendor: 1,045 bytes, lines 21834-21875
21834/***/ "./node_modules/lodash-es/isObjectLike.js": 21835/*!************************************************!*\ 21836 !*** ./node_modules/lodash-es/isObjectLike.js ***! 21837 \************************************************/ 21838/*! exports provided: default */ 21839/***/ (function(module, __webpack_exports__, __webpack_require__) { 21840 21841"use strict"; 21842__webpack_require__.r(__webpack_exports__); 21843/** 21844 * Checks if `value` is object-like. A value is object-like if it's not `null` 21845 * and has a `typeof` result of "object". 21846 * 21847 * @static 21848 * @memberOf _ 21849 * @since 4.0.0 21850 * @category Lang 21851 * @param {*} value The value to check. 21852 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 21853 * @example 21854 * 21855 * _.isObjectLike({}); 21856 * // => true 21857 * 21858 * _.isObjectLike([1, 2, 3]); 21859 * // => true 21860 * 21861 * _.isObjectLike(_.noop); 21862 * // => false 21863 * 21864 * _.isObjectLike(null); 21865 * // => false 21866 */ 21867function isObjectLike(value) { 21868 return value != null && typeof value == 'object'; 21869} 21870 21871/* harmony default export */ __webpack_exports__["default"] = (isObjectLike); 21872 21873 21874/***/ }), 21875
vendor: 2,595 bytes, lines 21876-21953
21876/***/ "./node_modules/lodash-es/isPlainObject.js": 21877/*!*************************************************!*\ 21878 !*** ./node_modules/lodash-es/isPlainObject.js ***! 21879 \*************************************************/ 21880/*! exports provided: default */ 21881/***/ (function(module, __webpack_exports__, __webpack_require__) { 21882 21883"use strict"; 21884__webpack_require__.r(__webpack_exports__); 21885/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 21886/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js"); 21887/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 21888 21889 21890 21891 21892/** `Object#toString` result references. */ 21893var objectTag = '[object Object]'; 21894 21895/** Used for built-in method references. */ 21896var funcProto = Function.prototype, 21897 objectProto = Object.prototype; 21898 21899/** Used to resolve the decompiled source of functions. */ 21900var funcToString = funcProto.toString; 21901 21902/** Used to check objects for own properties. */ 21903var hasOwnProperty = objectProto.hasOwnProperty; 21904 21905/** Used to infer the `Object` constructor. */ 21906var objectCtorString = funcToString.call(Object); 21907 21908/** 21909 * Checks if `value` is a plain object, that is, an object created by the 21910 * `Object` constructor or one with a `[[Prototype]]` of `null`. 21911 * 21912 * @static 21913 * @memberOf _ 21914 * @since 0.8.0 21915 * @category Lang 21916 * @param {*} value The value to check. 21917 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. 21918 * @example 21919 * 21920 * function Foo() { 21921 * this.a = 1; 21922 * } 21923 * 21924 * _.isPlainObject(new Foo); 21925 * // => false 21926 * 21927 * _.isPlainObject([1, 2, 3]); 21928 * // => false 21929 * 21930 * _.isPlainObject({ 'x': 0, 'y': 0 }); 21931 * // => true 21932 * 21933 * _.isPlainObject(Object.create(null)); 21934 * // => true 21935 */ 21936function isPlainObject(value) { 21937 if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) != objectTag) { 21938 return false; 21939 } 21940 var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value); 21941 if (proto === null) { 21942 return true; 21943 } 21944 var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; 21945 return typeof Ctor == 'function' && Ctor instanceof Ctor && 21946 funcToString.call(Ctor) == objectCtorString; 21947} 21948 21949/* harmony default export */ __webpack_exports__["default"] = (isPlainObject); 21950 21951 21952/***/ }), 21953
vendor: 1,547 bytes, lines 21954-21996
21954/***/ "./node_modules/lodash-es/isSet.js": 21955/*!*****************************************!*\ 21956 !*** ./node_modules/lodash-es/isSet.js ***! 21957 \*****************************************/ 21958/*! exports provided: default */ 21959/***/ (function(module, __webpack_exports__, __webpack_require__) { 21960 21961"use strict"; 21962__webpack_require__.r(__webpack_exports__); 21963/* harmony import */ var _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsSet.js */ "./node_modules/lodash-es/_baseIsSet.js"); 21964/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js"); 21965/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js"); 21966 21967 21968 21969 21970/* Node.js helper references. */ 21971var nodeIsSet = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isSet; 21972 21973/** 21974 * Checks if `value` is classified as a `Set` object. 21975 * 21976 * @static 21977 * @memberOf _ 21978 * @since 4.3.0 21979 * @category Lang 21980 * @param {*} value The value to check. 21981 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 21982 * @example 21983 * 21984 * _.isSet(new Set); 21985 * // => true 21986 * 21987 * _.isSet(new WeakSet); 21988 * // => false 21989 */ 21990var isSet = nodeIsSet ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsSet) : _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 21991 21992/* harmony default export */ __webpack_exports__["default"] = (isSet); 21993 21994 21995/***/ }), 21996
vendor: 1,436 bytes, lines 21997-22040
21997/***/ "./node_modules/lodash-es/isSymbol.js": 21998/*!********************************************!*\ 21999 !*** ./node_modules/lodash-es/isSymbol.js ***! 22000 \********************************************/ 22001/*! exports provided: default */ 22002/***/ (function(module, __webpack_exports__, __webpack_require__) { 22003 22004"use strict"; 22005__webpack_require__.r(__webpack_exports__); 22006/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); 22007/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); 22008 22009 22010 22011/** `Object#toString` result references. */ 22012var symbolTag = '[object Symbol]'; 22013 22014/** 22015 * Checks if `value` is classified as a `Symbol` primitive or object. 22016 * 22017 * @static 22018 * @memberOf _ 22019 * @since 4.0.0 22020 * @category Lang 22021 * @param {*} value The value to check. 22022 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 22023 * @example 22024 * 22025 * _.isSymbol(Symbol.iterator); 22026 * // => true 22027 * 22028 * _.isSymbol('abc'); 22029 * // => false 22030 */ 22031function isSymbol(value) { 22032 return typeof value == 'symbol' || 22033 (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == symbolTag); 22034} 22035 22036/* harmony default export */ __webpack_exports__["default"] = (isSymbol); 22037 22038 22039/***/ }), 22040
vendor: 1,664 bytes, lines 22041-22083
22041/***/ "./node_modules/lodash-es/isTypedArray.js": 22042/*!************************************************!*\ 22043 !*** ./node_modules/lodash-es/isTypedArray.js ***! 22044 \************************************************/ 22045/*! exports provided: default */ 22046/***/ (function(module, __webpack_exports__, __webpack_require__) { 22047 22048"use strict"; 22049__webpack_require__.r(__webpack_exports__); 22050/* harmony import */ var _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsTypedArray.js */ "./node_modules/lodash-es/_baseIsTypedArray.js"); 22051/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js"); 22052/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js"); 22053 22054 22055 22056 22057/* Node.js helper references. */ 22058var nodeIsTypedArray = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isTypedArray; 22059 22060/** 22061 * Checks if `value` is classified as a typed array. 22062 * 22063 * @static 22064 * @memberOf _ 22065 * @since 3.0.0 22066 * @category Lang 22067 * @param {*} value The value to check. 22068 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 22069 * @example 22070 * 22071 * _.isTypedArray(new Uint8Array); 22072 * // => true 22073 * 22074 * _.isTypedArray([]); 22075 * // => false 22076 */ 22077var isTypedArray = nodeIsTypedArray ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsTypedArray) : _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 22078 22079/* harmony default export */ __webpack_exports__["default"] = (isTypedArray); 22080 22081 22082/***/ }), 22083
vendor: 1,791 bytes, lines 22084-22136
22084/***/ "./node_modules/lodash-es/keys.js": 22085/*!****************************************!*\ 22086 !*** ./node_modules/lodash-es/keys.js ***! 22087 \****************************************/ 22088/*! exports provided: default */ 22089/***/ (function(module, __webpack_exports__, __webpack_require__) { 22090 22091"use strict"; 22092__webpack_require__.r(__webpack_exports__); 22093/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ "./node_modules/lodash-es/_arrayLikeKeys.js"); 22094/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeys.js */ "./node_modules/lodash-es/_baseKeys.js"); 22095/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ "./node_modules/lodash-es/isArrayLike.js"); 22096 22097 22098 22099 22100/** 22101 * Creates an array of the own enumerable property names of `object`. 22102 * 22103 * **Note:** Non-object values are coerced to objects. See the 22104 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 22105 * for more details. 22106 * 22107 * @static 22108 * @since 0.1.0 22109 * @memberOf _ 22110 * @category Object 22111 * @param {Object} object The object to query. 22112 * @returns {Array} Returns the array of property names. 22113 * @example 22114 * 22115 * function Foo() { 22116 * this.a = 1; 22117 * this.b = 2; 22118 * } 22119 * 22120 * Foo.prototype.c = 3; 22121 * 22122 * _.keys(new Foo); 22123 * // => ['a', 'b'] (iteration order is not guaranteed) 22124 * 22125 * _.keys('hi'); 22126 * // => ['0', '1'] 22127 */ 22128function keys(object) { 22129 return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object) : Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object); 22130} 22131 22132/* harmony default export */ __webpack_exports__["default"] = (keys); 22133 22134 22135/***/ }), 22136
vendor: 1,695 bytes, lines 22137-22184
22137/***/ "./node_modules/lodash-es/keysIn.js": 22138/*!******************************************!*\ 22139 !*** ./node_modules/lodash-es/keysIn.js ***! 22140 \******************************************/ 22141/*! exports provided: default */ 22142/***/ (function(module, __webpack_exports__, __webpack_require__) { 22143 22144"use strict"; 22145__webpack_require__.r(__webpack_exports__); 22146/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ "./node_modules/lodash-es/_arrayLikeKeys.js"); 22147/* harmony import */ var _baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeysIn.js */ "./node_modules/lodash-es/_baseKeysIn.js"); 22148/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ "./node_modules/lodash-es/isArrayLike.js"); 22149 22150 22151 22152 22153/** 22154 * Creates an array of the own and inherited enumerable property names of `object`. 22155 * 22156 * **Note:** Non-object values are coerced to objects. 22157 * 22158 * @static 22159 * @memberOf _ 22160 * @since 3.0.0 22161 * @category Object 22162 * @param {Object} object The object to query. 22163 * @returns {Array} Returns the array of property names. 22164 * @example 22165 * 22166 * function Foo() { 22167 * this.a = 1; 22168 * this.b = 2; 22169 * } 22170 * 22171 * Foo.prototype.c = 3; 22172 * 22173 * _.keysIn(new Foo); 22174 * // => ['a', 'b', 'c'] (iteration order is not guaranteed) 22175 */ 22176function keysIn(object) { 22177 return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, true) : Object(_baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object); 22178} 22179 22180/* harmony default export */ __webpack_exports__["default"] = (keysIn); 22181 22182 22183/***/ }), 22184
vendor: 2,838 bytes, lines 22185-22271
22185/***/ "./node_modules/lodash-es/memoize.js": 22186/*!*******************************************!*\ 22187 !*** ./node_modules/lodash-es/memoize.js ***! 22188 \*******************************************/ 22189/*! exports provided: default */ 22190/***/ (function(module, __webpack_exports__, __webpack_require__) { 22191 22192"use strict"; 22193__webpack_require__.r(__webpack_exports__); 22194/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ "./node_modules/lodash-es/_MapCache.js"); 22195 22196 22197/** Error message constants. */ 22198var FUNC_ERROR_TEXT = 'Expected a function'; 22199 22200/** 22201 * Creates a function that memoizes the result of `func`. If `resolver` is 22202 * provided, it determines the cache key for storing the result based on the 22203 * arguments provided to the memoized function. By default, the first argument 22204 * provided to the memoized function is used as the map cache key. The `func` 22205 * is invoked with the `this` binding of the memoized function. 22206 * 22207 * **Note:** The cache is exposed as the `cache` property on the memoized 22208 * function. Its creation may be customized by replacing the `_.memoize.Cache` 22209 * constructor with one whose instances implement the 22210 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) 22211 * method interface of `clear`, `delete`, `get`, `has`, and `set`. 22212 * 22213 * @static 22214 * @memberOf _ 22215 * @since 0.1.0 22216 * @category Function 22217 * @param {Function} func The function to have its output memoized. 22218 * @param {Function} [resolver] The function to resolve the cache key. 22219 * @returns {Function} Returns the new memoized function. 22220 * @example 22221 * 22222 * var object = { 'a': 1, 'b': 2 }; 22223 * var other = { 'c': 3, 'd': 4 }; 22224 * 22225 * var values = _.memoize(_.values); 22226 * values(object); 22227 * // => [1, 2] 22228 * 22229 * values(other); 22230 * // => [3, 4] 22231 * 22232 * object.a = 2; 22233 * values(object); 22234 * // => [1, 2] 22235 * 22236 * // Modify the result cache. 22237 * values.cache.set(object, ['a', 'b']); 22238 * values(object); 22239 * // => ['a', 'b'] 22240 * 22241 * // Replace `_.memoize.Cache`. 22242 * _.memoize.Cache = WeakMap; 22243 */ 22244function memoize(func, resolver) { 22245 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { 22246 throw new TypeError(FUNC_ERROR_TEXT); 22247 } 22248 var memoized = function() { 22249 var args = arguments, 22250 key = resolver ? resolver.apply(this, args) : args[0], 22251 cache = memoized.cache; 22252 22253 if (cache.has(key)) { 22254 return cache.get(key); 22255 } 22256 var result = func.apply(this, args); 22257 memoized.cache = cache.set(key, result) || cache; 22258 return result; 22259 }; 22260 memoized.cache = new (memoize.Cache || _MapCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]); 22261 return memoized; 22262} 22263 22264// Expose `MapCache`. 22265memoize.Cache = _MapCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]; 22266 22267/* harmony default export */ __webpack_exports__["default"] = (memoize); 22268 22269 22270/***/ }), 22271
vendor: 809 bytes, lines 22272-22307
22272/***/ "./node_modules/lodash-es/stubArray.js": 22273/*!*********************************************!*\ 22274 !*** ./node_modules/lodash-es/stubArray.js ***! 22275 \*********************************************/ 22276/*! exports provided: default */ 22277/***/ (function(module, __webpack_exports__, __webpack_require__) { 22278 22279"use strict"; 22280__webpack_require__.r(__webpack_exports__); 22281/** 22282 * This method returns a new empty array. 22283 * 22284 * @static 22285 * @memberOf _ 22286 * @since 4.13.0 22287 * @category Util 22288 * @returns {Array} Returns the new empty array. 22289 * @example 22290 * 22291 * var arrays = _.times(2, _.stubArray); 22292 * 22293 * console.log(arrays); 22294 * // => [[], []] 22295 * 22296 * console.log(arrays[0] === arrays[1]); 22297 * // => false 22298 */ 22299function stubArray() { 22300 return []; 22301} 22302 22303/* harmony default export */ __webpack_exports__["default"] = (stubArray); 22304 22305 22306/***/ }), 22307
vendor: 699 bytes, lines 22308-22338
22308/***/ "./node_modules/lodash-es/stubFalse.js": 22309/*!*********************************************!*\ 22310 !*** ./node_modules/lodash-es/stubFalse.js ***! 22311 \*********************************************/ 22312/*! exports provided: default */ 22313/***/ (function(module, __webpack_exports__, __webpack_require__) { 22314 22315"use strict"; 22316__webpack_require__.r(__webpack_exports__); 22317/** 22318 * This method returns `false`. 22319 * 22320 * @static 22321 * @memberOf _ 22322 * @since 4.13.0 22323 * @category Util 22324 * @returns {boolean} Returns `false`. 22325 * @example 22326 * 22327 * _.times(2, _.stubFalse); 22328 * // => [false, false] 22329 */ 22330function stubFalse() { 22331 return false; 22332} 22333 22334/* harmony default export */ __webpack_exports__["default"] = (stubFalse); 22335 22336 22337/***/ }), 22338
vendor: 2,370 bytes, lines 22339-22391
22339/***/ "./node_modules/lodash-es/toPath.js": 22340/*!******************************************!*\ 22341 !*** ./node_modules/lodash-es/toPath.js ***! 22342 \******************************************/ 22343/*! exports provided: default */ 22344/***/ (function(module, __webpack_exports__, __webpack_require__) { 22345 22346"use strict"; 22347__webpack_require__.r(__webpack_exports__); 22348/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ "./node_modules/lodash-es/_arrayMap.js"); 22349/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ "./node_modules/lodash-es/_copyArray.js"); 22350/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js"); 22351/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js"); 22352/* harmony import */ var _stringToPath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringToPath.js */ "./node_modules/lodash-es/_stringToPath.js"); 22353/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_toKey.js */ "./node_modules/lodash-es/_toKey.js"); 22354/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./toString.js */ "./node_modules/lodash-es/toString.js"); 22355 22356 22357 22358 22359 22360 22361 22362 22363/** 22364 * Converts `value` to a property path array. 22365 * 22366 * @static 22367 * @memberOf _ 22368 * @since 4.0.0 22369 * @category Util 22370 * @param {*} value The value to convert. 22371 * @returns {Array} Returns the new property path array. 22372 * @example 22373 * 22374 * _.toPath('a.b.c'); 22375 * // => ['a', 'b', 'c'] 22376 * 22377 * _.toPath('a[0].b.c'); 22378 * // => ['a', '0', 'b', 'c'] 22379 */ 22380function toPath(value) { 22381 if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) { 22382 return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, _toKey_js__WEBPACK_IMPORTED_MODULE_5__["default"]); 22383 } 22384 return Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value) ? [value] : Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_stringToPath_js__WEBPACK_IMPORTED_MODULE_4__["default"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_6__["default"])(value))); 22385} 22386 22387/* harmony default export */ __webpack_exports__["default"] = (toPath); 22388 22389 22390/***/ }), 22391
vendor: 1,166 bytes, lines 22392-22433
22392/***/ "./node_modules/lodash-es/toString.js": 22393/*!********************************************!*\ 22394 !*** ./node_modules/lodash-es/toString.js ***! 22395 \********************************************/ 22396/*! exports provided: default */ 22397/***/ (function(module, __webpack_exports__, __webpack_require__) { 22398 22399"use strict"; 22400__webpack_require__.r(__webpack_exports__); 22401/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToString.js */ "./node_modules/lodash-es/_baseToString.js"); 22402 22403 22404/** 22405 * Converts `value` to a string. An empty string is returned for `null` 22406 * and `undefined` values. The sign of `-0` is preserved. 22407 * 22408 * @static 22409 * @memberOf _ 22410 * @since 4.0.0 22411 * @category Lang 22412 * @param {*} value The value to convert. 22413 * @returns {string} Returns the converted string. 22414 * @example 22415 * 22416 * _.toString(null); 22417 * // => '' 22418 * 22419 * _.toString(-0); 22420 * // => '-0' 22421 * 22422 * _.toString([1, 2, 3]); 22423 * // => '1,2,3' 22424 */ 22425function toString(value) { 22426 return value == null ? '' : Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value); 22427} 22428 22429/* harmony default export */ __webpack_exports__["default"] = (toString); 22430 22431 22432/***/ }), 22433
vendor: 603 bytes, lines 22434-22451
22434/***/ "./node_modules/lodash/_DataView.js": 22435/*!******************************************!*\ 22436 !*** ./node_modules/lodash/_DataView.js ***! 22437 \******************************************/ 22438/*! no static exports found */ 22439/***/ (function(module, exports, __webpack_require__) { 22440 22441var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), 22442 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22443 22444/* Built-in method references that are verified to be native. */ 22445var DataView = getNative(root, 'DataView'); 22446 22447module.exports = DataView; 22448 22449 22450/***/ }), 22451
vendor: 1,289 bytes, lines 22452-22494
22452/***/ "./node_modules/lodash/_Hash.js": 22453/*!**************************************!*\ 22454 !*** ./node_modules/lodash/_Hash.js ***! 22455 \**************************************/ 22456/*! no static exports found */ 22457/***/ (function(module, exports, __webpack_require__) { 22458 22459var hashClear = __webpack_require__(/*! ./_hashClear */ "./node_modules/lodash/_hashClear.js"), 22460 hashDelete = __webpack_require__(/*! ./_hashDelete */ "./node_modules/lodash/_hashDelete.js"), 22461 hashGet = __webpack_require__(/*! ./_hashGet */ "./node_modules/lodash/_hashGet.js"), 22462 hashHas = __webpack_require__(/*! ./_hashHas */ "./node_modules/lodash/_hashHas.js"), 22463 hashSet = __webpack_require__(/*! ./_hashSet */ "./node_modules/lodash/_hashSet.js"); 22464 22465/** 22466 * Creates a hash object. 22467 * 22468 * @private 22469 * @constructor 22470 * @param {Array} [entries] The key-value pairs to cache. 22471 */ 22472function Hash(entries) { 22473 var index = -1, 22474 length = entries == null ? 0 : entries.length; 22475 22476 this.clear(); 22477 while (++index < length) { 22478 var entry = entries[index]; 22479 this.set(entry[0], entry[1]); 22480 } 22481} 22482 22483// Add methods to `Hash`. 22484Hash.prototype.clear = hashClear; 22485Hash.prototype['delete'] = hashDelete; 22486Hash.prototype.get = hashGet; 22487Hash.prototype.has = hashHas; 22488Hash.prototype.set = hashSet; 22489 22490module.exports = Hash; 22491 22492 22493/***/ }), 22494
vendor: 1,185 bytes, lines 22495-22533
22495/***/ "./node_modules/lodash/_LazyWrapper.js": 22496/*!*********************************************!*\ 22497 !*** ./node_modules/lodash/_LazyWrapper.js ***! 22498 \*********************************************/ 22499/*! no static exports found */ 22500/***/ (function(module, exports, __webpack_require__) { 22501 22502var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), 22503 baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js"); 22504 22505/** Used as references for the maximum length and index of an array. */ 22506var MAX_ARRAY_LENGTH = 4294967295; 22507 22508/** 22509 * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. 22510 * 22511 * @private 22512 * @constructor 22513 * @param {*} value The value to wrap. 22514 */ 22515function LazyWrapper(value) { 22516 this.__wrapped__ = value; 22517 this.__actions__ = []; 22518 this.__dir__ = 1; 22519 this.__filtered__ = false; 22520 this.__iteratees__ = []; 22521 this.__takeCount__ = MAX_ARRAY_LENGTH; 22522 this.__views__ = []; 22523} 22524 22525// Ensure `LazyWrapper` is an instance of `baseLodash`. 22526LazyWrapper.prototype = baseCreate(baseLodash.prototype); 22527LazyWrapper.prototype.constructor = LazyWrapper; 22528 22529module.exports = LazyWrapper; 22530 22531 22532/***/ }), 22533
vendor: 1,456 bytes, lines 22534-22576
22534/***/ "./node_modules/lodash/_ListCache.js": 22535/*!*******************************************!*\ 22536 !*** ./node_modules/lodash/_ListCache.js ***! 22537 \*******************************************/ 22538/*! no static exports found */ 22539/***/ (function(module, exports, __webpack_require__) { 22540 22541var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "./node_modules/lodash/_listCacheClear.js"), 22542 listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "./node_modules/lodash/_listCacheDelete.js"), 22543 listCacheGet = __webpack_require__(/*! ./_listCacheGet */ "./node_modules/lodash/_listCacheGet.js"), 22544 listCacheHas = __webpack_require__(/*! ./_listCacheHas */ "./node_modules/lodash/_listCacheHas.js"), 22545 listCacheSet = __webpack_require__(/*! ./_listCacheSet */ "./node_modules/lodash/_listCacheSet.js"); 22546 22547/** 22548 * Creates an list cache object. 22549 * 22550 * @private 22551 * @constructor 22552 * @param {Array} [entries] The key-value pairs to cache. 22553 */ 22554function ListCache(entries) { 22555 var index = -1, 22556 length = entries == null ? 0 : entries.length; 22557 22558 this.clear(); 22559 while (++index < length) { 22560 var entry = entries[index]; 22561 this.set(entry[0], entry[1]); 22562 } 22563} 22564 22565// Add methods to `ListCache`. 22566ListCache.prototype.clear = listCacheClear; 22567ListCache.prototype['delete'] = listCacheDelete; 22568ListCache.prototype.get = listCacheGet; 22569ListCache.prototype.has = listCacheHas; 22570ListCache.prototype.set = listCacheSet; 22571 22572module.exports = ListCache; 22573 22574 22575/***/ }), 22576
vendor: 1,031 bytes, lines 22577-22609
22577/***/ "./node_modules/lodash/_LodashWrapper.js": 22578/*!***********************************************!*\ 22579 !*** ./node_modules/lodash/_LodashWrapper.js ***! 22580 \***********************************************/ 22581/*! no static exports found */ 22582/***/ (function(module, exports, __webpack_require__) { 22583 22584var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), 22585 baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js"); 22586 22587/** 22588 * The base constructor for creating `lodash` wrapper objects. 22589 * 22590 * @private 22591 * @param {*} value The value to wrap. 22592 * @param {boolean} [chainAll] Enable explicit method chain sequences. 22593 */ 22594function LodashWrapper(value, chainAll) { 22595 this.__wrapped__ = value; 22596 this.__actions__ = []; 22597 this.__chain__ = !!chainAll; 22598 this.__index__ = 0; 22599 this.__values__ = undefined; 22600} 22601 22602LodashWrapper.prototype = baseCreate(baseLodash.prototype); 22603LodashWrapper.prototype.constructor = LodashWrapper; 22604 22605module.exports = LodashWrapper; 22606 22607 22608/***/ }), 22609
vendor: 568 bytes, lines 22610-22627
22610/***/ "./node_modules/lodash/_Map.js": 22611/*!*************************************!*\ 22612 !*** ./node_modules/lodash/_Map.js ***! 22613 \*************************************/ 22614/*! no static exports found */ 22615/***/ (function(module, exports, __webpack_require__) { 22616 22617var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), 22618 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22619 22620/* Built-in method references that are verified to be native. */ 22621var Map = getNative(root, 'Map'); 22622 22623module.exports = Map; 22624 22625 22626/***/ }), 22627
vendor: 1,447 bytes, lines 22628-22670
22628/***/ "./node_modules/lodash/_MapCache.js": 22629/*!******************************************!*\ 22630 !*** ./node_modules/lodash/_MapCache.js ***! 22631 \******************************************/ 22632/*! no static exports found */ 22633/***/ (function(module, exports, __webpack_require__) { 22634 22635var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ "./node_modules/lodash/_mapCacheClear.js"), 22636 mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ "./node_modules/lodash/_mapCacheDelete.js"), 22637 mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ "./node_modules/lodash/_mapCacheGet.js"), 22638 mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ "./node_modules/lodash/_mapCacheHas.js"), 22639 mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ "./node_modules/lodash/_mapCacheSet.js"); 22640 22641/** 22642 * Creates a map cache object to store key-value pairs. 22643 * 22644 * @private 22645 * @constructor 22646 * @param {Array} [entries] The key-value pairs to cache. 22647 */ 22648function MapCache(entries) { 22649 var index = -1, 22650 length = entries == null ? 0 : entries.length; 22651 22652 this.clear(); 22653 while (++index < length) { 22654 var entry = entries[index]; 22655 this.set(entry[0], entry[1]); 22656 } 22657} 22658 22659// Add methods to `MapCache`. 22660MapCache.prototype.clear = mapCacheClear; 22661MapCache.prototype['delete'] = mapCacheDelete; 22662MapCache.prototype.get = mapCacheGet; 22663MapCache.prototype.has = mapCacheHas; 22664MapCache.prototype.set = mapCacheSet; 22665 22666module.exports = MapCache; 22667 22668 22669/***/ }), 22670
vendor: 596 bytes, lines 22671-22688
22671/***/ "./node_modules/lodash/_Promise.js": 22672/*!*****************************************!*\ 22673 !*** ./node_modules/lodash/_Promise.js ***! 22674 \*****************************************/ 22675/*! no static exports found */ 22676/***/ (function(module, exports, __webpack_require__) { 22677 22678var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), 22679 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22680 22681/* Built-in method references that are verified to be native. */ 22682var Promise = getNative(root, 'Promise'); 22683 22684module.exports = Promise; 22685 22686 22687/***/ }), 22688
vendor: 568 bytes, lines 22689-22706
22689/***/ "./node_modules/lodash/_Set.js": 22690/*!*************************************!*\ 22691 !*** ./node_modules/lodash/_Set.js ***! 22692 \*************************************/ 22693/*! no static exports found */ 22694/***/ (function(module, exports, __webpack_require__) { 22695 22696var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), 22697 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22698 22699/* Built-in method references that are verified to be native. */ 22700var Set = getNative(root, 'Set'); 22701 22702module.exports = Set; 22703 22704 22705/***/ }), 22706
vendor: 1,088 bytes, lines 22707-22744
22707/***/ "./node_modules/lodash/_SetCache.js": 22708/*!******************************************!*\ 22709 !*** ./node_modules/lodash/_SetCache.js ***! 22710 \******************************************/ 22711/*! no static exports found */ 22712/***/ (function(module, exports, __webpack_require__) { 22713 22714var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"), 22715 setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ "./node_modules/lodash/_setCacheAdd.js"), 22716 setCacheHas = __webpack_require__(/*! ./_setCacheHas */ "./node_modules/lodash/_setCacheHas.js"); 22717 22718/** 22719 * 22720 * Creates an array cache object to store unique values. 22721 * 22722 * @private 22723 * @constructor 22724 * @param {Array} [values] The values to cache. 22725 */ 22726function SetCache(values) { 22727 var index = -1, 22728 length = values == null ? 0 : values.length; 22729 22730 this.__data__ = new MapCache; 22731 while (++index < length) { 22732 this.add(values[index]); 22733 } 22734} 22735 22736// Add methods to `SetCache`. 22737SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; 22738SetCache.prototype.has = setCacheHas; 22739 22740module.exports = SetCache; 22741 22742 22743/***/ }), 22744
vendor: 1,340 bytes, lines 22745-22782
22745/***/ "./node_modules/lodash/_Stack.js": 22746/*!***************************************!*\ 22747 !*** ./node_modules/lodash/_Stack.js ***! 22748 \***************************************/ 22749/*! no static exports found */ 22750/***/ (function(module, exports, __webpack_require__) { 22751 22752var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), 22753 stackClear = __webpack_require__(/*! ./_stackClear */ "./node_modules/lodash/_stackClear.js"), 22754 stackDelete = __webpack_require__(/*! ./_stackDelete */ "./node_modules/lodash/_stackDelete.js"), 22755 stackGet = __webpack_require__(/*! ./_stackGet */ "./node_modules/lodash/_stackGet.js"), 22756 stackHas = __webpack_require__(/*! ./_stackHas */ "./node_modules/lodash/_stackHas.js"), 22757 stackSet = __webpack_require__(/*! ./_stackSet */ "./node_modules/lodash/_stackSet.js"); 22758 22759/** 22760 * Creates a stack cache object to store key-value pairs. 22761 * 22762 * @private 22763 * @constructor 22764 * @param {Array} [entries] The key-value pairs to cache. 22765 */ 22766function Stack(entries) { 22767 var data = this.__data__ = new ListCache(entries); 22768 this.size = data.size; 22769} 22770 22771// Add methods to `Stack`. 22772Stack.prototype.clear = stackClear; 22773Stack.prototype['delete'] = stackDelete; 22774Stack.prototype.get = stackGet; 22775Stack.prototype.has = stackHas; 22776Stack.prototype.set = stackSet; 22777 22778module.exports = Stack; 22779 22780 22781/***/ }), 22782
vendor: 448 bytes, lines 22783-22799
22783/***/ "./node_modules/lodash/_Symbol.js": 22784/*!****************************************!*\ 22785 !*** ./node_modules/lodash/_Symbol.js ***! 22786 \****************************************/ 22787/*! no static exports found */ 22788/***/ (function(module, exports, __webpack_require__) { 22789 22790var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22791 22792/** Built-in value references. */ 22793var Symbol = root.Symbol; 22794 22795module.exports = Symbol; 22796 22797 22798/***/ }), 22799
vendor: 476 bytes, lines 22800-22816
22800/***/ "./node_modules/lodash/_Uint8Array.js": 22801/*!********************************************!*\ 22802 !*** ./node_modules/lodash/_Uint8Array.js ***! 22803 \********************************************/ 22804/*! no static exports found */ 22805/***/ (function(module, exports, __webpack_require__) { 22806 22807var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22808 22809/** Built-in value references. */ 22810var Uint8Array = root.Uint8Array; 22811 22812module.exports = Uint8Array; 22813 22814 22815/***/ }), 22816
vendor: 596 bytes, lines 22817-22834
22817/***/ "./node_modules/lodash/_WeakMap.js": 22818/*!*****************************************!*\ 22819 !*** ./node_modules/lodash/_WeakMap.js ***! 22820 \*****************************************/ 22821/*! no static exports found */ 22822/***/ (function(module, exports, __webpack_require__) { 22823 22824var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), 22825 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 22826 22827/* Built-in method references that are verified to be native. */ 22828var WeakMap = getNative(root, 'WeakMap'); 22829 22830module.exports = WeakMap; 22831 22832 22833/***/ }), 22834
vendor: 969 bytes, lines 22835-22866
22835/***/ "./node_modules/lodash/_apply.js": 22836/*!***************************************!*\ 22837 !*** ./node_modules/lodash/_apply.js ***! 22838 \***************************************/ 22839/*! no static exports found */ 22840/***/ (function(module, exports) { 22841 22842/** 22843 * A faster alternative to `Function#apply`, this function invokes `func` 22844 * with the `this` binding of `thisArg` and the arguments of `args`. 22845 * 22846 * @private 22847 * @param {Function} func The function to invoke. 22848 * @param {*} thisArg The `this` binding of `func`. 22849 * @param {Array} args The arguments to invoke `func` with. 22850 * @returns {*} Returns the result of `func`. 22851 */ 22852function apply(func, thisArg, args) { 22853 switch (args.length) { 22854 case 0: return func.call(thisArg); 22855 case 1: return func.call(thisArg, args[0]); 22856 case 2: return func.call(thisArg, args[0], args[1]); 22857 case 3: return func.call(thisArg, args[0], args[1], args[2]); 22858 } 22859 return func.apply(thisArg, args); 22860} 22861 22862module.exports = apply; 22863 22864 22865/***/ }), 22866
vendor: 808 bytes, lines 22867-22899
22867/***/ "./node_modules/lodash/_arrayEach.js": 22868/*!*******************************************!*\ 22869 !*** ./node_modules/lodash/_arrayEach.js ***! 22870 \*******************************************/ 22871/*! no static exports found */ 22872/***/ (function(module, exports) { 22873 22874/** 22875 * A specialized version of `_.forEach` for arrays without support for 22876 * iteratee shorthands. 22877 * 22878 * @private 22879 * @param {Array} [array] The array to iterate over. 22880 * @param {Function} iteratee The function invoked per iteration. 22881 * @returns {Array} Returns `array`. 22882 */ 22883function arrayEach(array, iteratee) { 22884 var index = -1, 22885 length = array == null ? 0 : array.length; 22886 22887 while (++index < length) { 22888 if (iteratee(array[index], index, array) === false) { 22889 break; 22890 } 22891 } 22892 return array; 22893} 22894 22895module.exports = arrayEach; 22896 22897 22898/***/ }), 22899
vendor: 911 bytes, lines 22900-22935
22900/***/ "./node_modules/lodash/_arrayFilter.js": 22901/*!*********************************************!*\ 22902 !*** ./node_modules/lodash/_arrayFilter.js ***! 22903 \*********************************************/ 22904/*! no static exports found */ 22905/***/ (function(module, exports) { 22906 22907/** 22908 * A specialized version of `_.filter` for arrays without support for 22909 * iteratee shorthands. 22910 * 22911 * @private 22912 * @param {Array} [array] The array to iterate over. 22913 * @param {Function} predicate The function invoked per iteration. 22914 * @returns {Array} Returns the new filtered array. 22915 */ 22916function arrayFilter(array, predicate) { 22917 var index = -1, 22918 length = array == null ? 0 : array.length, 22919 resIndex = 0, 22920 result = []; 22921 22922 while (++index < length) { 22923 var value = array[index]; 22924 if (predicate(value, index, array)) { 22925 result[resIndex++] = value; 22926 } 22927 } 22928 return result; 22929} 22930 22931module.exports = arrayFilter; 22932 22933 22934/***/ }), 22935
vendor: 891 bytes, lines 22936-22963
22936/***/ "./node_modules/lodash/_arrayIncludes.js": 22937/*!***********************************************!*\ 22938 !*** ./node_modules/lodash/_arrayIncludes.js ***! 22939 \***********************************************/ 22940/*! no static exports found */ 22941/***/ (function(module, exports, __webpack_require__) { 22942 22943var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "./node_modules/lodash/_baseIndexOf.js"); 22944 22945/** 22946 * A specialized version of `_.includes` for arrays without support for 22947 * specifying an index to search from. 22948 * 22949 * @private 22950 * @param {Array} [array] The array to inspect. 22951 * @param {*} target The value to search for. 22952 * @returns {boolean} Returns `true` if `target` is found, else `false`. 22953 */ 22954function arrayIncludes(array, value) { 22955 var length = array == null ? 0 : array.length; 22956 return !!length && baseIndexOf(array, value, 0) > -1; 22957} 22958 22959module.exports = arrayIncludes; 22960 22961 22962/***/ }), 22963
vendor: 2,412 bytes, lines 22964-23023
22964/***/ "./node_modules/lodash/_arrayLikeKeys.js": 22965/*!***********************************************!*\ 22966 !*** ./node_modules/lodash/_arrayLikeKeys.js ***! 22967 \***********************************************/ 22968/*! no static exports found */ 22969/***/ (function(module, exports, __webpack_require__) { 22970 22971var baseTimes = __webpack_require__(/*! ./_baseTimes */ "./node_modules/lodash/_baseTimes.js"), 22972 isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), 22973 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 22974 isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"), 22975 isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"), 22976 isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js"); 22977 22978/** Used for built-in method references. */ 22979var objectProto = Object.prototype; 22980 22981/** Used to check objects for own properties. */ 22982var hasOwnProperty = objectProto.hasOwnProperty; 22983 22984/** 22985 * Creates an array of the enumerable property names of the array-like `value`. 22986 * 22987 * @private 22988 * @param {*} value The value to query. 22989 * @param {boolean} inherited Specify returning inherited property names. 22990 * @returns {Array} Returns the array of property names. 22991 */ 22992function arrayLikeKeys(value, inherited) { 22993 var isArr = isArray(value), 22994 isArg = !isArr && isArguments(value), 22995 isBuff = !isArr && !isArg && isBuffer(value), 22996 isType = !isArr && !isArg && !isBuff && isTypedArray(value), 22997 skipIndexes = isArr || isArg || isBuff || isType, 22998 result = skipIndexes ? baseTimes(value.length, String) : [], 22999 length = result.length; 23000 23001 for (var key in value) { 23002 if ((inherited || hasOwnProperty.call(value, key)) && 23003 !(skipIndexes && ( 23004 // Safari 9 has enumerable `arguments.length` in strict mode. 23005 key == 'length' || 23006 // Node.js 0.10 has enumerable non-index properties on buffers. 23007 (isBuff && (key == 'offset' || key == 'parent')) || 23008 // PhantomJS 2 has enumerable non-index properties on typed arrays. 23009 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || 23010 // Skip index properties. 23011 isIndex(key, length) 23012 ))) { 23013 result.push(key); 23014 } 23015 } 23016 return result; 23017} 23018 23019module.exports = arrayLikeKeys; 23020 23021 23022/***/ }), 23023
vendor: 823 bytes, lines 23024-23055
23024/***/ "./node_modules/lodash/_arrayMap.js": 23025/*!******************************************!*\ 23026 !*** ./node_modules/lodash/_arrayMap.js ***! 23027 \******************************************/ 23028/*! no static exports found */ 23029/***/ (function(module, exports) { 23030 23031/** 23032 * A specialized version of `_.map` for arrays without support for iteratee 23033 * shorthands. 23034 * 23035 * @private 23036 * @param {Array} [array] The array to iterate over. 23037 * @param {Function} iteratee The function invoked per iteration. 23038 * @returns {Array} Returns the new mapped array. 23039 */ 23040function arrayMap(array, iteratee) { 23041 var index = -1, 23042 length = array == null ? 0 : array.length, 23043 result = Array(length); 23044 23045 while (++index < length) { 23046 result[index] = iteratee(array[index], index, array); 23047 } 23048 return result; 23049} 23050 23051module.exports = arrayMap; 23052 23053 23054/***/ }), 23055
vendor: 708 bytes, lines 23056-23086
23056/***/ "./node_modules/lodash/_arrayPush.js": 23057/*!*******************************************!*\ 23058 !*** ./node_modules/lodash/_arrayPush.js ***! 23059 \*******************************************/ 23060/*! no static exports found */ 23061/***/ (function(module, exports) { 23062 23063/** 23064 * Appends the elements of `values` to `array`. 23065 * 23066 * @private 23067 * @param {Array} array The array to modify. 23068 * @param {Array} values The values to append. 23069 * @returns {Array} Returns `array`. 23070 */ 23071function arrayPush(array, values) { 23072 var index = -1, 23073 length = values.length, 23074 offset = array.length; 23075 23076 while (++index < length) { 23077 array[offset + index] = values[index]; 23078 } 23079 return array; 23080} 23081 23082module.exports = arrayPush; 23083 23084 23085/***/ }), 23086
vendor: 865 bytes, lines 23087-23120
23087/***/ "./node_modules/lodash/_arraySome.js": 23088/*!*******************************************!*\ 23089 !*** ./node_modules/lodash/_arraySome.js ***! 23090 \*******************************************/ 23091/*! no static exports found */ 23092/***/ (function(module, exports) { 23093 23094/** 23095 * A specialized version of `_.some` for arrays without support for iteratee 23096 * shorthands. 23097 * 23098 * @private 23099 * @param {Array} [array] The array to iterate over. 23100 * @param {Function} predicate The function invoked per iteration. 23101 * @returns {boolean} Returns `true` if any element passes the predicate check, 23102 * else `false`. 23103 */ 23104function arraySome(array, predicate) { 23105 var index = -1, 23106 length = array == null ? 0 : array.length; 23107 23108 while (++index < length) { 23109 if (predicate(array[index], index, array)) { 23110 return true; 23111 } 23112 } 23113 return false; 23114} 23115 23116module.exports = arraySome; 23117 23118 23119/***/ }), 23120
vendor: 1,307 bytes, lines 23121-23159
23121/***/ "./node_modules/lodash/_assignValue.js": 23122/*!*********************************************!*\ 23123 !*** ./node_modules/lodash/_assignValue.js ***! 23124 \*********************************************/ 23125/*! no static exports found */ 23126/***/ (function(module, exports, __webpack_require__) { 23127 23128var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), 23129 eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); 23130 23131/** Used for built-in method references. */ 23132var objectProto = Object.prototype; 23133 23134/** Used to check objects for own properties. */ 23135var hasOwnProperty = objectProto.hasOwnProperty; 23136 23137/** 23138 * Assigns `value` to `key` of `object` if the existing value is not equivalent 23139 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 23140 * for equality comparisons. 23141 * 23142 * @private 23143 * @param {Object} object The object to modify. 23144 * @param {string} key The key of the property to assign. 23145 * @param {*} value The value to assign. 23146 */ 23147function assignValue(object, key, value) { 23148 var objValue = object[key]; 23149 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || 23150 (value === undefined && !(key in object))) { 23151 baseAssignValue(object, key, value); 23152 } 23153} 23154 23155module.exports = assignValue; 23156 23157 23158/***/ }), 23159
vendor: 838 bytes, lines 23160-23191
23160/***/ "./node_modules/lodash/_assocIndexOf.js": 23161/*!**********************************************!*\ 23162 !*** ./node_modules/lodash/_assocIndexOf.js ***! 23163 \**********************************************/ 23164/*! no static exports found */ 23165/***/ (function(module, exports, __webpack_require__) { 23166 23167var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); 23168 23169/** 23170 * Gets the index at which the `key` is found in `array` of key-value pairs. 23171 * 23172 * @private 23173 * @param {Array} array The array to inspect. 23174 * @param {*} key The key to search for. 23175 * @returns {number} Returns the index of the matched value, else `-1`. 23176 */ 23177function assocIndexOf(array, key) { 23178 var length = array.length; 23179 while (length--) { 23180 if (eq(array[length][0], key)) { 23181 return length; 23182 } 23183 } 23184 return -1; 23185} 23186 23187module.exports = assocIndexOf; 23188 23189 23190/***/ }), 23191
vendor: 871 bytes, lines 23192-23219
23192/***/ "./node_modules/lodash/_baseAssign.js": 23193/*!********************************************!*\ 23194 !*** ./node_modules/lodash/_baseAssign.js ***! 23195 \********************************************/ 23196/*! no static exports found */ 23197/***/ (function(module, exports, __webpack_require__) { 23198 23199var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), 23200 keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); 23201 23202/** 23203 * The base implementation of `_.assign` without support for multiple sources 23204 * or `customizer` functions. 23205 * 23206 * @private 23207 * @param {Object} object The destination object. 23208 * @param {Object} source The source object. 23209 * @returns {Object} Returns `object`. 23210 */ 23211function baseAssign(object, source) { 23212 return object && copyObject(source, keys(source), object); 23213} 23214 23215module.exports = baseAssign; 23216 23217 23218/***/ }), 23219
vendor: 893 bytes, lines 23220-23247
23220/***/ "./node_modules/lodash/_baseAssignIn.js": 23221/*!**********************************************!*\ 23222 !*** ./node_modules/lodash/_baseAssignIn.js ***! 23223 \**********************************************/ 23224/*! no static exports found */ 23225/***/ (function(module, exports, __webpack_require__) { 23226 23227var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), 23228 keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); 23229 23230/** 23231 * The base implementation of `_.assignIn` without support for multiple sources 23232 * or `customizer` functions. 23233 * 23234 * @private 23235 * @param {Object} object The destination object. 23236 * @param {Object} source The source object. 23237 * @returns {Object} Returns `object`. 23238 */ 23239function baseAssignIn(object, source) { 23240 return object && copyObject(source, keysIn(source), object); 23241} 23242 23243module.exports = baseAssignIn; 23244 23245 23246/***/ }), 23247
vendor: 1,001 bytes, lines 23248-23283
23248/***/ "./node_modules/lodash/_baseAssignValue.js": 23249/*!*************************************************!*\ 23250 !*** ./node_modules/lodash/_baseAssignValue.js ***! 23251 \*************************************************/ 23252/*! no static exports found */ 23253/***/ (function(module, exports, __webpack_require__) { 23254 23255var defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"); 23256 23257/** 23258 * The base implementation of `assignValue` and `assignMergeValue` without 23259 * value checks. 23260 * 23261 * @private 23262 * @param {Object} object The object to modify. 23263 * @param {string} key The key of the property to assign. 23264 * @param {*} value The value to assign. 23265 */ 23266function baseAssignValue(object, key, value) { 23267 if (key == '__proto__' && defineProperty) { 23268 defineProperty(object, key, { 23269 'configurable': true, 23270 'enumerable': true, 23271 'value': value, 23272 'writable': true 23273 }); 23274 } else { 23275 object[key] = value; 23276 } 23277} 23278 23279module.exports = baseAssignValue; 23280 23281 23282/***/ }), 23283
vendor: 7,111 bytes, lines 23284-23460
23284/***/ "./node_modules/lodash/_baseClone.js": 23285/*!*******************************************!*\ 23286 !*** ./node_modules/lodash/_baseClone.js ***! 23287 \*******************************************/ 23288/*! no static exports found */ 23289/***/ (function(module, exports, __webpack_require__) { 23290 23291var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), 23292 arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), 23293 assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), 23294 baseAssign = __webpack_require__(/*! ./_baseAssign */ "./node_modules/lodash/_baseAssign.js"), 23295 baseAssignIn = __webpack_require__(/*! ./_baseAssignIn */ "./node_modules/lodash/_baseAssignIn.js"), 23296 cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ "./node_modules/lodash/_cloneBuffer.js"), 23297 copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"), 23298 copySymbols = __webpack_require__(/*! ./_copySymbols */ "./node_modules/lodash/_copySymbols.js"), 23299 copySymbolsIn = __webpack_require__(/*! ./_copySymbolsIn */ "./node_modules/lodash/_copySymbolsIn.js"), 23300 getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js"), 23301 getAllKeysIn = __webpack_require__(/*! ./_getAllKeysIn */ "./node_modules/lodash/_getAllKeysIn.js"), 23302 getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), 23303 initCloneArray = __webpack_require__(/*! ./_initCloneArray */ "./node_modules/lodash/_initCloneArray.js"), 23304 initCloneByTag = __webpack_require__(/*! ./_initCloneByTag */ "./node_modules/lodash/_initCloneByTag.js"), 23305 initCloneObject = __webpack_require__(/*! ./_initCloneObject */ "./node_modules/lodash/_initCloneObject.js"), 23306 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 23307 isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"), 23308 isMap = __webpack_require__(/*! ./isMap */ "./node_modules/lodash/isMap.js"), 23309 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 23310 isSet = __webpack_require__(/*! ./isSet */ "./node_modules/lodash/isSet.js"), 23311 keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"), 23312 keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); 23313 23314/** Used to compose bitmasks for cloning. */ 23315var CLONE_DEEP_FLAG = 1, 23316 CLONE_FLAT_FLAG = 2, 23317 CLONE_SYMBOLS_FLAG = 4; 23318 23319/** `Object#toString` result references. */ 23320var argsTag = '[object Arguments]', 23321 arrayTag = '[object Array]', 23322 boolTag = '[object Boolean]', 23323 dateTag = '[object Date]', 23324 errorTag = '[object Error]', 23325 funcTag = '[object Function]', 23326 genTag = '[object GeneratorFunction]', 23327 mapTag = '[object Map]', 23328 numberTag = '[object Number]', 23329 objectTag = '[object Object]', 23330 regexpTag = '[object RegExp]', 23331 setTag = '[object Set]', 23332 stringTag = '[object String]', 23333 symbolTag = '[object Symbol]', 23334 weakMapTag = '[object WeakMap]'; 23335 23336var arrayBufferTag = '[object ArrayBuffer]', 23337 dataViewTag = '[object DataView]', 23338 float32Tag = '[object Float32Array]', 23339 float64Tag = '[object Float64Array]', 23340 int8Tag = '[object Int8Array]', 23341 int16Tag = '[object Int16Array]', 23342 int32Tag = '[object Int32Array]', 23343 uint8Tag = '[object Uint8Array]', 23344 uint8ClampedTag = '[object Uint8ClampedArray]', 23345 uint16Tag = '[object Uint16Array]', 23346 uint32Tag = '[object Uint32Array]'; 23347 23348/** Used to identify `toStringTag` values supported by `_.clone`. */ 23349var cloneableTags = {}; 23350cloneableTags[argsTag] = cloneableTags[arrayTag] = 23351cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = 23352cloneableTags[boolTag] = cloneableTags[dateTag] = 23353cloneableTags[float32Tag] = cloneableTags[float64Tag] = 23354cloneableTags[int8Tag] = cloneableTags[int16Tag] = 23355cloneableTags[int32Tag] = cloneableTags[mapTag] = 23356cloneableTags[numberTag] = cloneableTags[objectTag] = 23357cloneableTags[regexpTag] = cloneableTags[setTag] = 23358cloneableTags[stringTag] = cloneableTags[symbolTag] = 23359cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = 23360cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; 23361cloneableTags[errorTag] = cloneableTags[funcTag] = 23362cloneableTags[weakMapTag] = false; 23363 23364/** 23365 * The base implementation of `_.clone` and `_.cloneDeep` which tracks 23366 * traversed objects. 23367 * 23368 * @private 23369 * @param {*} value The value to clone. 23370 * @param {boolean} bitmask The bitmask flags. 23371 * 1 - Deep clone 23372 * 2 - Flatten inherited properties 23373 * 4 - Clone symbols 23374 * @param {Function} [customizer] The function to customize cloning. 23375 * @param {string} [key] The key of `value`. 23376 * @param {Object} [object] The parent object of `value`. 23377 * @param {Object} [stack] Tracks traversed objects and their clone counterparts. 23378 * @returns {*} Returns the cloned value. 23379 */ 23380function baseClone(value, bitmask, customizer, key, object, stack) { 23381 var result, 23382 isDeep = bitmask & CLONE_DEEP_FLAG, 23383 isFlat = bitmask & CLONE_FLAT_FLAG, 23384 isFull = bitmask & CLONE_SYMBOLS_FLAG; 23385 23386 if (customizer) { 23387 result = object ? customizer(value, key, object, stack) : customizer(value); 23388 } 23389 if (result !== undefined) { 23390 return result; 23391 } 23392 if (!isObject(value)) { 23393 return value; 23394 } 23395 var isArr = isArray(value); 23396 if (isArr) { 23397 result = initCloneArray(value); 23398 if (!isDeep) { 23399 return copyArray(value, result); 23400 } 23401 } else { 23402 var tag = getTag(value), 23403 isFunc = tag == funcTag || tag == genTag; 23404 23405 if (isBuffer(value)) { 23406 return cloneBuffer(value, isDeep); 23407 } 23408 if (tag == objectTag || tag == argsTag || (isFunc && !object)) { 23409 result = (isFlat || isFunc) ? {} : initCloneObject(value); 23410 if (!isDeep) { 23411 return isFlat 23412 ? copySymbolsIn(value, baseAssignIn(result, value)) 23413 : copySymbols(value, baseAssign(result, value)); 23414 } 23415 } else { 23416 if (!cloneableTags[tag]) { 23417 return object ? value : {}; 23418 } 23419 result = initCloneByTag(value, tag, isDeep); 23420 } 23421 } 23422 // Check for circular references and return its corresponding clone. 23423 stack || (stack = new Stack); 23424 var stacked = stack.get(value); 23425 if (stacked) { 23426 return stacked; 23427 } 23428 stack.set(value, result); 23429 23430 if (isSet(value)) { 23431 value.forEach(function(subValue) { 23432 result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); 23433 }); 23434 } else if (isMap(value)) { 23435 value.forEach(function(subValue, key) { 23436 result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); 23437 }); 23438 } 23439 23440 var keysFunc = isFull 23441 ? (isFlat ? getAllKeysIn : getAllKeys) 23442 : (isFlat ? keysIn : keys); 23443 23444 var props = isArr ? undefined : keysFunc(value); 23445 arrayEach(props || value, function(subValue, key) { 23446 if (props) { 23447 key = subValue; 23448 subValue = value[key]; 23449 } 23450 // Recursively populate clone (susceptible to call stack limits). 23451 assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); 23452 }); 23453 return result; 23454} 23455 23456module.exports = baseClone; 23457 23458 23459/***/ }), 23460
vendor: 1,035 bytes, lines 23461-23501
23461/***/ "./node_modules/lodash/_baseCreate.js": 23462/*!********************************************!*\ 23463 !*** ./node_modules/lodash/_baseCreate.js ***! 23464 \********************************************/ 23465/*! no static exports found */ 23466/***/ (function(module, exports, __webpack_require__) { 23467 23468var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); 23469 23470/** Built-in value references. */ 23471var objectCreate = Object.create; 23472 23473/** 23474 * The base implementation of `_.create` without support for assigning 23475 * properties to the created object. 23476 * 23477 * @private 23478 * @param {Object} proto The object to inherit from. 23479 * @returns {Object} Returns the new object. 23480 */ 23481var baseCreate = (function() { 23482 function object() {} 23483 return function(proto) { 23484 if (!isObject(proto)) { 23485 return {}; 23486 } 23487 if (objectCreate) { 23488 return objectCreate(proto); 23489 } 23490 object.prototype = proto; 23491 var result = new object; 23492 object.prototype = undefined; 23493 return result; 23494 }; 23495}()); 23496 23497module.exports = baseCreate; 23498 23499 23500/***/ }), 23501
vendor: 859 bytes, lines 23502-23526
23502/***/ "./node_modules/lodash/_baseEach.js": 23503/*!******************************************!*\ 23504 !*** ./node_modules/lodash/_baseEach.js ***! 23505 \******************************************/ 23506/*! no static exports found */ 23507/***/ (function(module, exports, __webpack_require__) { 23508 23509var baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"), 23510 createBaseEach = __webpack_require__(/*! ./_createBaseEach */ "./node_modules/lodash/_createBaseEach.js"); 23511 23512/** 23513 * The base implementation of `_.forEach` without support for iteratee shorthands. 23514 * 23515 * @private 23516 * @param {Array|Object} collection The collection to iterate over. 23517 * @param {Function} iteratee The function invoked per iteration. 23518 * @returns {Array|Object} Returns `collection`. 23519 */ 23520var baseEach = createBaseEach(baseForOwn); 23521 23522module.exports = baseEach; 23523 23524 23525/***/ }), 23526
vendor: 1,053 bytes, lines 23527-23561
23527/***/ "./node_modules/lodash/_baseFindIndex.js": 23528/*!***********************************************!*\ 23529 !*** ./node_modules/lodash/_baseFindIndex.js ***! 23530 \***********************************************/ 23531/*! no static exports found */ 23532/***/ (function(module, exports) { 23533 23534/** 23535 * The base implementation of `_.findIndex` and `_.findLastIndex` without 23536 * support for iteratee shorthands. 23537 * 23538 * @private 23539 * @param {Array} array The array to inspect. 23540 * @param {Function} predicate The function invoked per iteration. 23541 * @param {number} fromIndex The index to search from. 23542 * @param {boolean} [fromRight] Specify iterating from right to left. 23543 * @returns {number} Returns the index of the matched value, else `-1`. 23544 */ 23545function baseFindIndex(array, predicate, fromIndex, fromRight) { 23546 var length = array.length, 23547 index = fromIndex + (fromRight ? 1 : -1); 23548 23549 while ((fromRight ? index-- : ++index < length)) { 23550 if (predicate(array[index], index, array)) { 23551 return index; 23552 } 23553 } 23554 return -1; 23555} 23556 23557module.exports = baseFindIndex; 23558 23559 23560/***/ }), 23561
vendor: 1,615 bytes, lines 23562-23610
23562/***/ "./node_modules/lodash/_baseFlatten.js": 23563/*!*********************************************!*\ 23564 !*** ./node_modules/lodash/_baseFlatten.js ***! 23565 \*********************************************/ 23566/*! no static exports found */ 23567/***/ (function(module, exports, __webpack_require__) { 23568 23569var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), 23570 isFlattenable = __webpack_require__(/*! ./_isFlattenable */ "./node_modules/lodash/_isFlattenable.js"); 23571 23572/** 23573 * The base implementation of `_.flatten` with support for restricting flattening. 23574 * 23575 * @private 23576 * @param {Array} array The array to flatten. 23577 * @param {number} depth The maximum recursion depth. 23578 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. 23579 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. 23580 * @param {Array} [result=[]] The initial result value. 23581 * @returns {Array} Returns the new flattened array. 23582 */ 23583function baseFlatten(array, depth, predicate, isStrict, result) { 23584 var index = -1, 23585 length = array.length; 23586 23587 predicate || (predicate = isFlattenable); 23588 result || (result = []); 23589 23590 while (++index < length) { 23591 var value = array[index]; 23592 if (depth > 0 && predicate(value)) { 23593 if (depth > 1) { 23594 // Recursively flatten arrays (susceptible to call stack limits). 23595 baseFlatten(value, depth - 1, predicate, isStrict, result); 23596 } else { 23597 arrayPush(result, value); 23598 } 23599 } else if (!isStrict) { 23600 result[result.length] = value; 23601 } 23602 } 23603 return result; 23604} 23605 23606module.exports = baseFlatten; 23607 23608 23609/***/ }), 23610
vendor: 936 bytes, lines 23611-23637
23611/***/ "./node_modules/lodash/_baseFor.js": 23612/*!*****************************************!*\ 23613 !*** ./node_modules/lodash/_baseFor.js ***! 23614 \*****************************************/ 23615/*! no static exports found */ 23616/***/ (function(module, exports, __webpack_require__) { 23617 23618var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "./node_modules/lodash/_createBaseFor.js"); 23619 23620/** 23621 * The base implementation of `baseForOwn` which iterates over `object` 23622 * properties returned by `keysFunc` and invokes `iteratee` for each property. 23623 * Iteratee functions may exit iteration early by explicitly returning `false`. 23624 * 23625 * @private 23626 * @param {Object} object The object to iterate over. 23627 * @param {Function} iteratee The function invoked per iteration. 23628 * @param {Function} keysFunc The function to get the keys of `object`. 23629 * @returns {Object} Returns `object`. 23630 */ 23631var baseFor = createBaseFor(); 23632 23633module.exports = baseFor; 23634 23635 23636/***/ }), 23637
vendor: 854 bytes, lines 23638-23664
23638/***/ "./node_modules/lodash/_baseForOwn.js": 23639/*!********************************************!*\ 23640 !*** ./node_modules/lodash/_baseForOwn.js ***! 23641 \********************************************/ 23642/*! no static exports found */ 23643/***/ (function(module, exports, __webpack_require__) { 23644 23645var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"), 23646 keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); 23647 23648/** 23649 * The base implementation of `_.forOwn` without support for iteratee shorthands. 23650 * 23651 * @private 23652 * @param {Object} object The object to iterate over. 23653 * @param {Function} iteratee The function invoked per iteration. 23654 * @returns {Object} Returns `object`. 23655 */ 23656function baseForOwn(object, iteratee) { 23657 return object && baseFor(object, iteratee, keys); 23658} 23659 23660module.exports = baseForOwn; 23661 23662 23663/***/ }), 23664
vendor: 1,005 bytes, lines 23665-23699
23665/***/ "./node_modules/lodash/_baseGet.js": 23666/*!*****************************************!*\ 23667 !*** ./node_modules/lodash/_baseGet.js ***! 23668 \*****************************************/ 23669/*! no static exports found */ 23670/***/ (function(module, exports, __webpack_require__) { 23671 23672var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), 23673 toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); 23674 23675/** 23676 * The base implementation of `_.get` without support for default values. 23677 * 23678 * @private 23679 * @param {Object} object The object to query. 23680 * @param {Array|string} path The path of the property to get. 23681 * @returns {*} Returns the resolved value. 23682 */ 23683function baseGet(object, path) { 23684 path = castPath(path, object); 23685 23686 var index = 0, 23687 length = path.length; 23688 23689 while (object != null && index < length) { 23690 object = object[toKey(path[index++])]; 23691 } 23692 return (index && index == length) ? object : undefined; 23693} 23694 23695module.exports = baseGet; 23696 23697 23698/***/ }), 23699
vendor: 1,158 bytes, lines 23700-23730
23700/***/ "./node_modules/lodash/_baseGetAllKeys.js": 23701/*!************************************************!*\ 23702 !*** ./node_modules/lodash/_baseGetAllKeys.js ***! 23703 \************************************************/ 23704/*! no static exports found */ 23705/***/ (function(module, exports, __webpack_require__) { 23706 23707var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), 23708 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"); 23709 23710/** 23711 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 23712 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 23713 * symbols of `object`. 23714 * 23715 * @private 23716 * @param {Object} object The object to query. 23717 * @param {Function} keysFunc The function to get the keys of `object`. 23718 * @param {Function} symbolsFunc The function to get the symbols of `object`. 23719 * @returns {Array} Returns the array of property names and symbols. 23720 */ 23721function baseGetAllKeys(object, keysFunc, symbolsFunc) { 23722 var result = keysFunc(object); 23723 return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); 23724} 23725 23726module.exports = baseGetAllKeys; 23727 23728 23729/***/ }), 23730
vendor: 1,255 bytes, lines 23731-23769
23731/***/ "./node_modules/lodash/_baseGetTag.js": 23732/*!********************************************!*\ 23733 !*** ./node_modules/lodash/_baseGetTag.js ***! 23734 \********************************************/ 23735/*! no static exports found */ 23736/***/ (function(module, exports, __webpack_require__) { 23737 23738var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 23739 getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), 23740 objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js"); 23741 23742/** `Object#toString` result references. */ 23743var nullTag = '[object Null]', 23744 undefinedTag = '[object Undefined]'; 23745 23746/** Built-in value references. */ 23747var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 23748 23749/** 23750 * The base implementation of `getTag` without fallbacks for buggy environments. 23751 * 23752 * @private 23753 * @param {*} value The value to query. 23754 * @returns {string} Returns the `toStringTag`. 23755 */ 23756function baseGetTag(value) { 23757 if (value == null) { 23758 return value === undefined ? undefinedTag : nullTag; 23759 } 23760 return (symToStringTag && symToStringTag in Object(value)) 23761 ? getRawTag(value) 23762 : objectToString(value); 23763} 23764 23765module.exports = baseGetTag; 23766 23767 23768/***/ }), 23769
vendor: 645 bytes, lines 23770-23793
23770/***/ "./node_modules/lodash/_baseHasIn.js": 23771/*!*******************************************!*\ 23772 !*** ./node_modules/lodash/_baseHasIn.js ***! 23773 \*******************************************/ 23774/*! no static exports found */ 23775/***/ (function(module, exports) { 23776 23777/** 23778 * The base implementation of `_.hasIn` without support for deep paths. 23779 * 23780 * @private 23781 * @param {Object} [object] The object to query. 23782 * @param {Array|string} key The key to check. 23783 * @returns {boolean} Returns `true` if `key` exists, else `false`. 23784 */ 23785function baseHasIn(object, key) { 23786 return object != null && key in Object(object); 23787} 23788 23789module.exports = baseHasIn; 23790 23791 23792/***/ }), 23793
vendor: 1,132 bytes, lines 23794-23824
23794/***/ "./node_modules/lodash/_baseIndexOf.js": 23795/*!*********************************************!*\ 23796 !*** ./node_modules/lodash/_baseIndexOf.js ***! 23797 \*********************************************/ 23798/*! no static exports found */ 23799/***/ (function(module, exports, __webpack_require__) { 23800 23801var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"), 23802 baseIsNaN = __webpack_require__(/*! ./_baseIsNaN */ "./node_modules/lodash/_baseIsNaN.js"), 23803 strictIndexOf = __webpack_require__(/*! ./_strictIndexOf */ "./node_modules/lodash/_strictIndexOf.js"); 23804 23805/** 23806 * The base implementation of `_.indexOf` without `fromIndex` bounds checks. 23807 * 23808 * @private 23809 * @param {Array} array The array to inspect. 23810 * @param {*} value The value to search for. 23811 * @param {number} fromIndex The index to search from. 23812 * @returns {number} Returns the index of the matched value, else `-1`. 23813 */ 23814function baseIndexOf(array, value, fromIndex) { 23815 return value === value 23816 ? strictIndexOf(array, value, fromIndex) 23817 : baseFindIndex(array, baseIsNaN, fromIndex); 23818} 23819 23820module.exports = baseIndexOf; 23821 23822 23823/***/ }), 23824
vendor: 917 bytes, lines 23825-23853
23825/***/ "./node_modules/lodash/_baseIsArguments.js": 23826/*!*************************************************!*\ 23827 !*** ./node_modules/lodash/_baseIsArguments.js ***! 23828 \*************************************************/ 23829/*! no static exports found */ 23830/***/ (function(module, exports, __webpack_require__) { 23831 23832var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 23833 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 23834 23835/** `Object#toString` result references. */ 23836var argsTag = '[object Arguments]'; 23837 23838/** 23839 * The base implementation of `_.isArguments`. 23840 * 23841 * @private 23842 * @param {*} value The value to check. 23843 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 23844 */ 23845function baseIsArguments(value) { 23846 return isObjectLike(value) && baseGetTag(value) == argsTag; 23847} 23848 23849module.exports = baseIsArguments; 23850 23851 23852/***/ }), 23853
vendor: 1,437 bytes, lines 23854-23892
23854/***/ "./node_modules/lodash/_baseIsEqual.js": 23855/*!*********************************************!*\ 23856 !*** ./node_modules/lodash/_baseIsEqual.js ***! 23857 \*********************************************/ 23858/*! no static exports found */ 23859/***/ (function(module, exports, __webpack_require__) { 23860 23861var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "./node_modules/lodash/_baseIsEqualDeep.js"), 23862 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 23863 23864/** 23865 * The base implementation of `_.isEqual` which supports partial comparisons 23866 * and tracks traversed objects. 23867 * 23868 * @private 23869 * @param {*} value The value to compare. 23870 * @param {*} other The other value to compare. 23871 * @param {boolean} bitmask The bitmask flags. 23872 * 1 - Unordered comparison 23873 * 2 - Partial comparison 23874 * @param {Function} [customizer] The function to customize comparisons. 23875 * @param {Object} [stack] Tracks traversed `value` and `other` objects. 23876 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 23877 */ 23878function baseIsEqual(value, other, bitmask, customizer, stack) { 23879 if (value === other) { 23880 return true; 23881 } 23882 if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { 23883 return value !== value && other !== other; 23884 } 23885 return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); 23886} 23887 23888module.exports = baseIsEqual; 23889 23890 23891/***/ }), 23892
vendor: 3,762 bytes, lines 23893-23986
23893/***/ "./node_modules/lodash/_baseIsEqualDeep.js": 23894/*!*************************************************!*\ 23895 !*** ./node_modules/lodash/_baseIsEqualDeep.js ***! 23896 \*************************************************/ 23897/*! no static exports found */ 23898/***/ (function(module, exports, __webpack_require__) { 23899 23900var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), 23901 equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"), 23902 equalByTag = __webpack_require__(/*! ./_equalByTag */ "./node_modules/lodash/_equalByTag.js"), 23903 equalObjects = __webpack_require__(/*! ./_equalObjects */ "./node_modules/lodash/_equalObjects.js"), 23904 getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), 23905 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 23906 isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"), 23907 isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js"); 23908 23909/** Used to compose bitmasks for value comparisons. */ 23910var COMPARE_PARTIAL_FLAG = 1; 23911 23912/** `Object#toString` result references. */ 23913var argsTag = '[object Arguments]', 23914 arrayTag = '[object Array]', 23915 objectTag = '[object Object]'; 23916 23917/** Used for built-in method references. */ 23918var objectProto = Object.prototype; 23919 23920/** Used to check objects for own properties. */ 23921var hasOwnProperty = objectProto.hasOwnProperty; 23922 23923/** 23924 * A specialized version of `baseIsEqual` for arrays and objects which performs 23925 * deep comparisons and tracks traversed objects enabling objects with circular 23926 * references to be compared. 23927 * 23928 * @private 23929 * @param {Object} object The object to compare. 23930 * @param {Object} other The other object to compare. 23931 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 23932 * @param {Function} customizer The function to customize comparisons. 23933 * @param {Function} equalFunc The function to determine equivalents of values. 23934 * @param {Object} [stack] Tracks traversed `object` and `other` objects. 23935 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 23936 */ 23937function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { 23938 var objIsArr = isArray(object), 23939 othIsArr = isArray(other), 23940 objTag = objIsArr ? arrayTag : getTag(object), 23941 othTag = othIsArr ? arrayTag : getTag(other); 23942 23943 objTag = objTag == argsTag ? objectTag : objTag; 23944 othTag = othTag == argsTag ? objectTag : othTag; 23945 23946 var objIsObj = objTag == objectTag, 23947 othIsObj = othTag == objectTag, 23948 isSameTag = objTag == othTag; 23949 23950 if (isSameTag && isBuffer(object)) { 23951 if (!isBuffer(other)) { 23952 return false; 23953 } 23954 objIsArr = true; 23955 objIsObj = false; 23956 } 23957 if (isSameTag && !objIsObj) { 23958 stack || (stack = new Stack); 23959 return (objIsArr || isTypedArray(object)) 23960 ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) 23961 : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); 23962 } 23963 if (!(bitmask & COMPARE_PARTIAL_FLAG)) { 23964 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), 23965 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); 23966 23967 if (objIsWrapped || othIsWrapped) { 23968 var objUnwrapped = objIsWrapped ? object.value() : object, 23969 othUnwrapped = othIsWrapped ? other.value() : other; 23970 23971 stack || (stack = new Stack); 23972 return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); 23973 } 23974 } 23975 if (!isSameTag) { 23976 return false; 23977 } 23978 stack || (stack = new Stack); 23979 return equalObjects(object, other, bitmask, customizer, equalFunc, stack); 23980} 23981 23982module.exports = baseIsEqualDeep; 23983 23984 23985/***/ }), 23986
vendor: 879 bytes, lines 23987-24015
23987/***/ "./node_modules/lodash/_baseIsMap.js": 23988/*!*******************************************!*\ 23989 !*** ./node_modules/lodash/_baseIsMap.js ***! 23990 \*******************************************/ 23991/*! no static exports found */ 23992/***/ (function(module, exports, __webpack_require__) { 23993 23994var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), 23995 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 23996 23997/** `Object#toString` result references. */ 23998var mapTag = '[object Map]'; 23999 24000/** 24001 * The base implementation of `_.isMap` without Node.js optimizations. 24002 * 24003 * @private 24004 * @param {*} value The value to check. 24005 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 24006 */ 24007function baseIsMap(value) { 24008 return isObjectLike(value) && getTag(value) == mapTag; 24009} 24010 24011module.exports = baseIsMap; 24012 24013 24014/***/ }), 24015
vendor: 2,173 bytes, lines 24016-24088
24016/***/ "./node_modules/lodash/_baseIsMatch.js": 24017/*!*********************************************!*\ 24018 !*** ./node_modules/lodash/_baseIsMatch.js ***! 24019 \*********************************************/ 24020/*! no static exports found */ 24021/***/ (function(module, exports, __webpack_require__) { 24022 24023var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), 24024 baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"); 24025 24026/** Used to compose bitmasks for value comparisons. */ 24027var COMPARE_PARTIAL_FLAG = 1, 24028 COMPARE_UNORDERED_FLAG = 2; 24029 24030/** 24031 * The base implementation of `_.isMatch` without support for iteratee shorthands. 24032 * 24033 * @private 24034 * @param {Object} object The object to inspect. 24035 * @param {Object} source The object of property values to match. 24036 * @param {Array} matchData The property names, values, and compare flags to match. 24037 * @param {Function} [customizer] The function to customize comparisons. 24038 * @returns {boolean} Returns `true` if `object` is a match, else `false`. 24039 */ 24040function baseIsMatch(object, source, matchData, customizer) { 24041 var index = matchData.length, 24042 length = index, 24043 noCustomizer = !customizer; 24044 24045 if (object == null) { 24046 return !length; 24047 } 24048 object = Object(object); 24049 while (index--) { 24050 var data = matchData[index]; 24051 if ((noCustomizer && data[2]) 24052 ? data[1] !== object[data[0]] 24053 : !(data[0] in object) 24054 ) { 24055 return false; 24056 } 24057 } 24058 while (++index < length) { 24059 data = matchData[index]; 24060 var key = data[0], 24061 objValue = object[key], 24062 srcValue = data[1]; 24063 24064 if (noCustomizer && data[2]) { 24065 if (objValue === undefined && !(key in object)) { 24066 return false; 24067 } 24068 } else { 24069 var stack = new Stack; 24070 if (customizer) { 24071 var result = customizer(objValue, srcValue, key, object, source, stack); 24072 } 24073 if (!(result === undefined 24074 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) 24075 : result 24076 )) { 24077 return false; 24078 } 24079 } 24080 } 24081 return true; 24082} 24083 24084module.exports = baseIsMatch; 24085 24086 24087/***/ }), 24088
vendor: 567 bytes, lines 24089-24111
24089/***/ "./node_modules/lodash/_baseIsNaN.js": 24090/*!*******************************************!*\ 24091 !*** ./node_modules/lodash/_baseIsNaN.js ***! 24092 \*******************************************/ 24093/*! no static exports found */ 24094/***/ (function(module, exports) { 24095 24096/** 24097 * The base implementation of `_.isNaN` without support for number objects. 24098 * 24099 * @private 24100 * @param {*} value The value to check. 24101 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. 24102 */ 24103function baseIsNaN(value) { 24104 return value !== value; 24105} 24106 24107module.exports = baseIsNaN; 24108 24109 24110/***/ }), 24111
vendor: 1,937 bytes, lines 24112-24169
24112/***/ "./node_modules/lodash/_baseIsNative.js": 24113/*!**********************************************!*\ 24114 !*** ./node_modules/lodash/_baseIsNative.js ***! 24115 \**********************************************/ 24116/*! no static exports found */ 24117/***/ (function(module, exports, __webpack_require__) { 24118 24119var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), 24120 isMasked = __webpack_require__(/*! ./_isMasked */ "./node_modules/lodash/_isMasked.js"), 24121 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 24122 toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js"); 24123 24124/** 24125 * Used to match `RegExp` 24126 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 24127 */ 24128var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; 24129 24130/** Used to detect host constructors (Safari). */ 24131var reIsHostCtor = /^\[object .+?Constructor\]$/; 24132 24133/** Used for built-in method references. */ 24134var funcProto = Function.prototype, 24135 objectProto = Object.prototype; 24136 24137/** Used to resolve the decompiled source of functions. */ 24138var funcToString = funcProto.toString; 24139 24140/** Used to check objects for own properties. */ 24141var hasOwnProperty = objectProto.hasOwnProperty; 24142 24143/** Used to detect if a method is native. */ 24144var reIsNative = RegExp('^' + 24145 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 24146 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 24147); 24148 24149/** 24150 * The base implementation of `_.isNative` without bad shim checks. 24151 * 24152 * @private 24153 * @param {*} value The value to check. 24154 * @returns {boolean} Returns `true` if `value` is a native function, 24155 * else `false`. 24156 */ 24157function baseIsNative(value) { 24158 if (!isObject(value) || isMasked(value)) { 24159 return false; 24160 } 24161 var pattern = isFunction(value) ? reIsNative : reIsHostCtor; 24162 return pattern.test(toSource(value)); 24163} 24164 24165module.exports = baseIsNative; 24166 24167 24168/***/ }), 24169
vendor: 879 bytes, lines 24170-24198
24170/***/ "./node_modules/lodash/_baseIsSet.js": 24171/*!*******************************************!*\ 24172 !*** ./node_modules/lodash/_baseIsSet.js ***! 24173 \*******************************************/ 24174/*! no static exports found */ 24175/***/ (function(module, exports, __webpack_require__) { 24176 24177var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), 24178 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 24179 24180/** `Object#toString` result references. */ 24181var setTag = '[object Set]'; 24182 24183/** 24184 * The base implementation of `_.isSet` without Node.js optimizations. 24185 * 24186 * @private 24187 * @param {*} value The value to check. 24188 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 24189 */ 24190function baseIsSet(value) { 24191 return isObjectLike(value) && getTag(value) == setTag; 24192} 24193 24194module.exports = baseIsSet; 24195 24196 24197/***/ }), 24198
vendor: 2,708 bytes, lines 24199-24269
24199/***/ "./node_modules/lodash/_baseIsTypedArray.js": 24200/*!**************************************************!*\ 24201 !*** ./node_modules/lodash/_baseIsTypedArray.js ***! 24202 \**************************************************/ 24203/*! no static exports found */ 24204/***/ (function(module, exports, __webpack_require__) { 24205 24206var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 24207 isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"), 24208 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 24209 24210/** `Object#toString` result references. */ 24211var argsTag = '[object Arguments]', 24212 arrayTag = '[object Array]', 24213 boolTag = '[object Boolean]', 24214 dateTag = '[object Date]', 24215 errorTag = '[object Error]', 24216 funcTag = '[object Function]', 24217 mapTag = '[object Map]', 24218 numberTag = '[object Number]', 24219 objectTag = '[object Object]', 24220 regexpTag = '[object RegExp]', 24221 setTag = '[object Set]', 24222 stringTag = '[object String]', 24223 weakMapTag = '[object WeakMap]'; 24224 24225var arrayBufferTag = '[object ArrayBuffer]', 24226 dataViewTag = '[object DataView]', 24227 float32Tag = '[object Float32Array]', 24228 float64Tag = '[object Float64Array]', 24229 int8Tag = '[object Int8Array]', 24230 int16Tag = '[object Int16Array]', 24231 int32Tag = '[object Int32Array]', 24232 uint8Tag = '[object Uint8Array]', 24233 uint8ClampedTag = '[object Uint8ClampedArray]', 24234 uint16Tag = '[object Uint16Array]', 24235 uint32Tag = '[object Uint32Array]'; 24236 24237/** Used to identify `toStringTag` values of typed arrays. */ 24238var typedArrayTags = {}; 24239typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = 24240typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = 24241typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = 24242typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = 24243typedArrayTags[uint32Tag] = true; 24244typedArrayTags[argsTag] = typedArrayTags[arrayTag] = 24245typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = 24246typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = 24247typedArrayTags[errorTag] = typedArrayTags[funcTag] = 24248typedArrayTags[mapTag] = typedArrayTags[numberTag] = 24249typedArrayTags[objectTag] = typedArrayTags[regexpTag] = 24250typedArrayTags[setTag] = typedArrayTags[stringTag] = 24251typedArrayTags[weakMapTag] = false; 24252 24253/** 24254 * The base implementation of `_.isTypedArray` without Node.js optimizations. 24255 * 24256 * @private 24257 * @param {*} value The value to check. 24258 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 24259 */ 24260function baseIsTypedArray(value) { 24261 return isObjectLike(value) && 24262 isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; 24263} 24264 24265module.exports = baseIsTypedArray; 24266 24267 24268/***/ }), 24269
vendor: 1,479 bytes, lines 24270-24311
24270/***/ "./node_modules/lodash/_baseIteratee.js": 24271/*!**********************************************!*\ 24272 !*** ./node_modules/lodash/_baseIteratee.js ***! 24273 \**********************************************/ 24274/*! no static exports found */ 24275/***/ (function(module, exports, __webpack_require__) { 24276 24277var baseMatches = __webpack_require__(/*! ./_baseMatches */ "./node_modules/lodash/_baseMatches.js"), 24278 baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "./node_modules/lodash/_baseMatchesProperty.js"), 24279 identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"), 24280 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 24281 property = __webpack_require__(/*! ./property */ "./node_modules/lodash/property.js"); 24282 24283/** 24284 * The base implementation of `_.iteratee`. 24285 * 24286 * @private 24287 * @param {*} [value=_.identity] The value to convert to an iteratee. 24288 * @returns {Function} Returns the iteratee. 24289 */ 24290function baseIteratee(value) { 24291 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. 24292 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. 24293 if (typeof value == 'function') { 24294 return value; 24295 } 24296 if (value == null) { 24297 return identity; 24298 } 24299 if (typeof value == 'object') { 24300 return isArray(value) 24301 ? baseMatchesProperty(value[0], value[1]) 24302 : baseMatches(value); 24303 } 24304 return property(value); 24305} 24306 24307module.exports = baseIteratee; 24308 24309 24310/***/ }), 24311
vendor: 1,177 bytes, lines 24312-24352
24312/***/ "./node_modules/lodash/_baseKeys.js": 24313/*!******************************************!*\ 24314 !*** ./node_modules/lodash/_baseKeys.js ***! 24315 \******************************************/ 24316/*! no static exports found */ 24317/***/ (function(module, exports, __webpack_require__) { 24318 24319var isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), 24320 nativeKeys = __webpack_require__(/*! ./_nativeKeys */ "./node_modules/lodash/_nativeKeys.js"); 24321 24322/** Used for built-in method references. */ 24323var objectProto = Object.prototype; 24324 24325/** Used to check objects for own properties. */ 24326var hasOwnProperty = objectProto.hasOwnProperty; 24327 24328/** 24329 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 24330 * 24331 * @private 24332 * @param {Object} object The object to query. 24333 * @returns {Array} Returns the array of property names. 24334 */ 24335function baseKeys(object) { 24336 if (!isPrototype(object)) { 24337 return nativeKeys(object); 24338 } 24339 var result = []; 24340 for (var key in Object(object)) { 24341 if (hasOwnProperty.call(object, key) && key != 'constructor') { 24342 result.push(key); 24343 } 24344 } 24345 return result; 24346} 24347 24348module.exports = baseKeys; 24349 24350 24351/***/ }), 24352
vendor: 1,334 bytes, lines 24353-24396
24353/***/ "./node_modules/lodash/_baseKeysIn.js": 24354/*!********************************************!*\ 24355 !*** ./node_modules/lodash/_baseKeysIn.js ***! 24356 \********************************************/ 24357/*! no static exports found */ 24358/***/ (function(module, exports, __webpack_require__) { 24359 24360var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 24361 isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), 24362 nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ "./node_modules/lodash/_nativeKeysIn.js"); 24363 24364/** Used for built-in method references. */ 24365var objectProto = Object.prototype; 24366 24367/** Used to check objects for own properties. */ 24368var hasOwnProperty = objectProto.hasOwnProperty; 24369 24370/** 24371 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. 24372 * 24373 * @private 24374 * @param {Object} object The object to query. 24375 * @returns {Array} Returns the array of property names. 24376 */ 24377function baseKeysIn(object) { 24378 if (!isObject(object)) { 24379 return nativeKeysIn(object); 24380 } 24381 var isProto = isPrototype(object), 24382 result = []; 24383 24384 for (var key in object) { 24385 if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { 24386 result.push(key); 24387 } 24388 } 24389 return result; 24390} 24391 24392module.exports = baseKeysIn; 24393 24394 24395/***/ }), 24396
vendor: 453 bytes, lines 24397-24417
24397/***/ "./node_modules/lodash/_baseLodash.js": 24398/*!********************************************!*\ 24399 !*** ./node_modules/lodash/_baseLodash.js ***! 24400 \********************************************/ 24401/*! no static exports found */ 24402/***/ (function(module, exports) { 24403 24404/** 24405 * The function whose prototype chain sequence wrappers inherit from. 24406 * 24407 * @private 24408 */ 24409function baseLodash() { 24410 // No operation performed. 24411} 24412 24413module.exports = baseLodash; 24414 24415 24416/***/ }), 24417
vendor: 1,062 bytes, lines 24418-24450
24418/***/ "./node_modules/lodash/_baseMap.js": 24419/*!*****************************************!*\ 24420 !*** ./node_modules/lodash/_baseMap.js ***! 24421 \*****************************************/ 24422/*! no static exports found */ 24423/***/ (function(module, exports, __webpack_require__) { 24424 24425var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), 24426 isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); 24427 24428/** 24429 * The base implementation of `_.map` without support for iteratee shorthands. 24430 * 24431 * @private 24432 * @param {Array|Object} collection The collection to iterate over. 24433 * @param {Function} iteratee The function invoked per iteration. 24434 * @returns {Array} Returns the new mapped array. 24435 */ 24436function baseMap(collection, iteratee) { 24437 var index = -1, 24438 result = isArrayLike(collection) ? Array(collection.length) : []; 24439 24440 baseEach(collection, function(value, key, collection) { 24441 result[++index] = iteratee(value, key, collection); 24442 }); 24443 return result; 24444} 24445 24446module.exports = baseMap; 24447 24448 24449/***/ }), 24450
vendor: 1,194 bytes, lines 24451-24483
24451/***/ "./node_modules/lodash/_baseMatches.js": 24452/*!*********************************************!*\ 24453 !*** ./node_modules/lodash/_baseMatches.js ***! 24454 \*********************************************/ 24455/*! no static exports found */ 24456/***/ (function(module, exports, __webpack_require__) { 24457 24458var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "./node_modules/lodash/_baseIsMatch.js"), 24459 getMatchData = __webpack_require__(/*! ./_getMatchData */ "./node_modules/lodash/_getMatchData.js"), 24460 matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "./node_modules/lodash/_matchesStrictComparable.js"); 24461 24462/** 24463 * The base implementation of `_.matches` which doesn't clone `source`. 24464 * 24465 * @private 24466 * @param {Object} source The object of property values to match. 24467 * @returns {Function} Returns the new spec function. 24468 */ 24469function baseMatches(source) { 24470 var matchData = getMatchData(source); 24471 if (matchData.length == 1 && matchData[0][2]) { 24472 return matchesStrictComparable(matchData[0][0], matchData[0][1]); 24473 } 24474 return function(object) { 24475 return object === source || baseIsMatch(object, source, matchData); 24476 }; 24477} 24478 24479module.exports = baseMatches; 24480 24481 24482/***/ }), 24483
vendor: 1,851 bytes, lines 24484-24527
24484/***/ "./node_modules/lodash/_baseMatchesProperty.js": 24485/*!*****************************************************!*\ 24486 !*** ./node_modules/lodash/_baseMatchesProperty.js ***! 24487 \*****************************************************/ 24488/*! no static exports found */ 24489/***/ (function(module, exports, __webpack_require__) { 24490 24491var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"), 24492 get = __webpack_require__(/*! ./get */ "./node_modules/lodash/get.js"), 24493 hasIn = __webpack_require__(/*! ./hasIn */ "./node_modules/lodash/hasIn.js"), 24494 isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"), 24495 isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"), 24496 matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "./node_modules/lodash/_matchesStrictComparable.js"), 24497 toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); 24498 24499/** Used to compose bitmasks for value comparisons. */ 24500var COMPARE_PARTIAL_FLAG = 1, 24501 COMPARE_UNORDERED_FLAG = 2; 24502 24503/** 24504 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. 24505 * 24506 * @private 24507 * @param {string} path The path of the property to get. 24508 * @param {*} srcValue The value to match. 24509 * @returns {Function} Returns the new spec function. 24510 */ 24511function baseMatchesProperty(path, srcValue) { 24512 if (isKey(path) && isStrictComparable(srcValue)) { 24513 return matchesStrictComparable(toKey(path), srcValue); 24514 } 24515 return function(object) { 24516 var objValue = get(object, path); 24517 return (objValue === undefined && objValue === srcValue) 24518 ? hasIn(object, path) 24519 : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); 24520 }; 24521} 24522 24523module.exports = baseMatchesProperty; 24524 24525 24526/***/ }), 24527
vendor: 643 bytes, lines 24528-24552
24528/***/ "./node_modules/lodash/_baseProperty.js": 24529/*!**********************************************!*\ 24530 !*** ./node_modules/lodash/_baseProperty.js ***! 24531 \**********************************************/ 24532/*! no static exports found */ 24533/***/ (function(module, exports) { 24534 24535/** 24536 * The base implementation of `_.property` without support for deep paths. 24537 * 24538 * @private 24539 * @param {string} key The key of the property to get. 24540 * @returns {Function} Returns the new accessor function. 24541 */ 24542function baseProperty(key) { 24543 return function(object) { 24544 return object == null ? undefined : object[key]; 24545 }; 24546} 24547 24548module.exports = baseProperty; 24549 24550 24551/***/ }), 24552
vendor: 764 bytes, lines 24553-24579
24553/***/ "./node_modules/lodash/_basePropertyDeep.js": 24554/*!**************************************************!*\ 24555 !*** ./node_modules/lodash/_basePropertyDeep.js ***! 24556 \**************************************************/ 24557/*! no static exports found */ 24558/***/ (function(module, exports, __webpack_require__) { 24559 24560var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); 24561 24562/** 24563 * A specialized version of `baseProperty` which supports deep paths. 24564 * 24565 * @private 24566 * @param {Array|string} path The path of the property to get. 24567 * @returns {Function} Returns the new accessor function. 24568 */ 24569function basePropertyDeep(path) { 24570 return function(object) { 24571 return baseGet(object, path); 24572 }; 24573} 24574 24575module.exports = basePropertyDeep; 24576 24577 24578/***/ }), 24579
vendor: 862 bytes, lines 24580-24607
24580/***/ "./node_modules/lodash/_baseSetData.js": 24581/*!*********************************************!*\ 24582 !*** ./node_modules/lodash/_baseSetData.js ***! 24583 \*********************************************/ 24584/*! no static exports found */ 24585/***/ (function(module, exports, __webpack_require__) { 24586 24587var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"), 24588 metaMap = __webpack_require__(/*! ./_metaMap */ "./node_modules/lodash/_metaMap.js"); 24589 24590/** 24591 * The base implementation of `setData` without support for hot loop shorting. 24592 * 24593 * @private 24594 * @param {Function} func The function to associate metadata with. 24595 * @param {*} data The metadata. 24596 * @returns {Function} Returns `func`. 24597 */ 24598var baseSetData = !metaMap ? identity : function(func, data) { 24599 metaMap.set(func, data); 24600 return func; 24601}; 24602 24603module.exports = baseSetData; 24604 24605 24606/***/ }), 24607
vendor: 1,123 bytes, lines 24608-24640
24608/***/ "./node_modules/lodash/_baseSetToString.js": 24609/*!*************************************************!*\ 24610 !*** ./node_modules/lodash/_baseSetToString.js ***! 24611 \*************************************************/ 24612/*! no static exports found */ 24613/***/ (function(module, exports, __webpack_require__) { 24614 24615var constant = __webpack_require__(/*! ./constant */ "./node_modules/lodash/constant.js"), 24616 defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"), 24617 identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"); 24618 24619/** 24620 * The base implementation of `setToString` without support for hot loop shorting. 24621 * 24622 * @private 24623 * @param {Function} func The function to modify. 24624 * @param {Function} string The `toString` result. 24625 * @returns {Function} Returns `func`. 24626 */ 24627var baseSetToString = !defineProperty ? identity : function(func, string) { 24628 return defineProperty(func, 'toString', { 24629 'configurable': true, 24630 'enumerable': false, 24631 'value': constant(string), 24632 'writable': true 24633 }); 24634}; 24635 24636module.exports = baseSetToString; 24637 24638 24639/***/ }), 24640
vendor: 775 bytes, lines 24641-24671
24641/***/ "./node_modules/lodash/_baseTimes.js": 24642/*!*******************************************!*\ 24643 !*** ./node_modules/lodash/_baseTimes.js ***! 24644 \*******************************************/ 24645/*! no static exports found */ 24646/***/ (function(module, exports) { 24647 24648/** 24649 * The base implementation of `_.times` without support for iteratee shorthands 24650 * or max array length checks. 24651 * 24652 * @private 24653 * @param {number} n The number of times to invoke `iteratee`. 24654 * @param {Function} iteratee The function invoked per iteration. 24655 * @returns {Array} Returns the array of results. 24656 */ 24657function baseTimes(n, iteratee) { 24658 var index = -1, 24659 result = Array(n); 24660 24661 while (++index < n) { 24662 result[index] = iteratee(index); 24663 } 24664 return result; 24665} 24666 24667module.exports = baseTimes; 24668 24669 24670/***/ }), 24671
vendor: 1,669 bytes, lines 24672-24719
24672/***/ "./node_modules/lodash/_baseToString.js": 24673/*!**********************************************!*\ 24674 !*** ./node_modules/lodash/_baseToString.js ***! 24675 \**********************************************/ 24676/*! no static exports found */ 24677/***/ (function(module, exports, __webpack_require__) { 24678 24679var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 24680 arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), 24681 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 24682 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 24683 24684/** Used as references for various `Number` constants. */ 24685var INFINITY = 1 / 0; 24686 24687/** Used to convert symbols to primitives and strings. */ 24688var symbolProto = Symbol ? Symbol.prototype : undefined, 24689 symbolToString = symbolProto ? symbolProto.toString : undefined; 24690 24691/** 24692 * The base implementation of `_.toString` which doesn't convert nullish 24693 * values to empty strings. 24694 * 24695 * @private 24696 * @param {*} value The value to process. 24697 * @returns {string} Returns the string. 24698 */ 24699function baseToString(value) { 24700 // Exit early for strings to avoid a performance hit in some environments. 24701 if (typeof value == 'string') { 24702 return value; 24703 } 24704 if (isArray(value)) { 24705 // Recursively convert values (susceptible to call stack limits). 24706 return arrayMap(value, baseToString) + ''; 24707 } 24708 if (isSymbol(value)) { 24709 return symbolToString ? symbolToString.call(value) : ''; 24710 } 24711 var result = (value + ''); 24712 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 24713} 24714 24715module.exports = baseToString; 24716 24717 24718/***/ }), 24719
vendor: 603 bytes, lines 24720-24744
24720/***/ "./node_modules/lodash/_baseUnary.js": 24721/*!*******************************************!*\ 24722 !*** ./node_modules/lodash/_baseUnary.js ***! 24723 \*******************************************/ 24724/*! no static exports found */ 24725/***/ (function(module, exports) { 24726 24727/** 24728 * The base implementation of `_.unary` without support for storing metadata. 24729 * 24730 * @private 24731 * @param {Function} func The function to cap arguments for. 24732 * @returns {Function} Returns the new capped function. 24733 */ 24734function baseUnary(func) { 24735 return function(value) { 24736 return func(value); 24737 }; 24738} 24739 24740module.exports = baseUnary; 24741 24742 24743/***/ }), 24744
vendor: 604 bytes, lines 24745-24768
24745/***/ "./node_modules/lodash/_cacheHas.js": 24746/*!******************************************!*\ 24747 !*** ./node_modules/lodash/_cacheHas.js ***! 24748 \******************************************/ 24749/*! no static exports found */ 24750/***/ (function(module, exports) { 24751 24752/** 24753 * Checks if a `cache` value for `key` exists. 24754 * 24755 * @private 24756 * @param {Object} cache The cache to query. 24757 * @param {string} key The key of the entry to check. 24758 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 24759 */ 24760function cacheHas(cache, key) { 24761 return cache.has(key); 24762} 24763 24764module.exports = cacheHas; 24765 24766 24767/***/ }), 24768
vendor: 1,071 bytes, lines 24769-24800
24769/***/ "./node_modules/lodash/_castPath.js": 24770/*!******************************************!*\ 24771 !*** ./node_modules/lodash/_castPath.js ***! 24772 \******************************************/ 24773/*! no static exports found */ 24774/***/ (function(module, exports, __webpack_require__) { 24775 24776var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 24777 isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"), 24778 stringToPath = __webpack_require__(/*! ./_stringToPath */ "./node_modules/lodash/_stringToPath.js"), 24779 toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js"); 24780 24781/** 24782 * Casts `value` to a path array if it's not one. 24783 * 24784 * @private 24785 * @param {*} value The value to inspect. 24786 * @param {Object} [object] The object to query keys on. 24787 * @returns {Array} Returns the cast property path array. 24788 */ 24789function castPath(value, object) { 24790 if (isArray(value)) { 24791 return value; 24792 } 24793 return isKey(value, object) ? [value] : stringToPath(toString(value)); 24794} 24795 24796module.exports = castPath; 24797 24798 24799/***/ }), 24800
vendor: 825 bytes, lines 24801-24827
24801/***/ "./node_modules/lodash/_cloneArrayBuffer.js": 24802/*!**************************************************!*\ 24803 !*** ./node_modules/lodash/_cloneArrayBuffer.js ***! 24804 \**************************************************/ 24805/*! no static exports found */ 24806/***/ (function(module, exports, __webpack_require__) { 24807 24808var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"); 24809 24810/** 24811 * Creates a clone of `arrayBuffer`. 24812 * 24813 * @private 24814 * @param {ArrayBuffer} arrayBuffer The array buffer to clone. 24815 * @returns {ArrayBuffer} Returns the cloned array buffer. 24816 */ 24817function cloneArrayBuffer(arrayBuffer) { 24818 var result = new arrayBuffer.constructor(arrayBuffer.byteLength); 24819 new Uint8Array(result).set(new Uint8Array(arrayBuffer)); 24820 return result; 24821} 24822 24823module.exports = cloneArrayBuffer; 24824 24825 24826/***/ }), 24827
vendor: 1,583 bytes, lines 24828-24874
24828/***/ "./node_modules/lodash/_cloneBuffer.js": 24829/*!*********************************************!*\ 24830 !*** ./node_modules/lodash/_cloneBuffer.js ***! 24831 \*********************************************/ 24832/*! no static exports found */ 24833/***/ (function(module, exports, __webpack_require__) { 24834 24835/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 24836 24837/** Detect free variable `exports`. */ 24838var freeExports = true && exports && !exports.nodeType && exports; 24839 24840/** Detect free variable `module`. */ 24841var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 24842 24843/** Detect the popular CommonJS extension `module.exports`. */ 24844var moduleExports = freeModule && freeModule.exports === freeExports; 24845 24846/** Built-in value references. */ 24847var Buffer = moduleExports ? root.Buffer : undefined, 24848 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; 24849 24850/** 24851 * Creates a clone of `buffer`. 24852 * 24853 * @private 24854 * @param {Buffer} buffer The buffer to clone. 24855 * @param {boolean} [isDeep] Specify a deep clone. 24856 * @returns {Buffer} Returns the cloned buffer. 24857 */ 24858function cloneBuffer(buffer, isDeep) { 24859 if (isDeep) { 24860 return buffer.slice(); 24861 } 24862 var length = buffer.length, 24863 result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); 24864 24865 buffer.copy(result); 24866 return result; 24867} 24868 24869module.exports = cloneBuffer; 24870 24871/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) 24872 24873/***/ }), 24874
vendor: 877 bytes, lines 24875-24901
24875/***/ "./node_modules/lodash/_cloneDataView.js": 24876/*!***********************************************!*\ 24877 !*** ./node_modules/lodash/_cloneDataView.js ***! 24878 \***********************************************/ 24879/*! no static exports found */ 24880/***/ (function(module, exports, __webpack_require__) { 24881 24882var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); 24883 24884/** 24885 * Creates a clone of `dataView`. 24886 * 24887 * @private 24888 * @param {Object} dataView The data view to clone. 24889 * @param {boolean} [isDeep] Specify a deep clone. 24890 * @returns {Object} Returns the cloned data view. 24891 */ 24892function cloneDataView(dataView, isDeep) { 24893 var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; 24894 return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); 24895} 24896 24897module.exports = cloneDataView; 24898 24899 24900/***/ }), 24901
vendor: 718 bytes, lines 24902-24929
24902/***/ "./node_modules/lodash/_cloneRegExp.js": 24903/*!*********************************************!*\ 24904 !*** ./node_modules/lodash/_cloneRegExp.js ***! 24905 \*********************************************/ 24906/*! no static exports found */ 24907/***/ (function(module, exports) { 24908 24909/** Used to match `RegExp` flags from their coerced string values. */ 24910var reFlags = /\w*$/; 24911 24912/** 24913 * Creates a clone of `regexp`. 24914 * 24915 * @private 24916 * @param {Object} regexp The regexp to clone. 24917 * @returns {Object} Returns the cloned regexp. 24918 */ 24919function cloneRegExp(regexp) { 24920 var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); 24921 result.lastIndex = regexp.lastIndex; 24922 return result; 24923} 24924 24925module.exports = cloneRegExp; 24926 24927 24928/***/ }), 24929
vendor: 876 bytes, lines 24930-24958
24930/***/ "./node_modules/lodash/_cloneSymbol.js": 24931/*!*********************************************!*\ 24932 !*** ./node_modules/lodash/_cloneSymbol.js ***! 24933 \*********************************************/ 24934/*! no static exports found */ 24935/***/ (function(module, exports, __webpack_require__) { 24936 24937var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); 24938 24939/** Used to convert symbols to primitives and strings. */ 24940var symbolProto = Symbol ? Symbol.prototype : undefined, 24941 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 24942 24943/** 24944 * Creates a clone of the `symbol` object. 24945 * 24946 * @private 24947 * @param {Object} symbol The symbol object to clone. 24948 * @returns {Object} Returns the cloned symbol object. 24949 */ 24950function cloneSymbol(symbol) { 24951 return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; 24952} 24953 24954module.exports = cloneSymbol; 24955 24956 24957/***/ }), 24958
vendor: 905 bytes, lines 24959-24985
24959/***/ "./node_modules/lodash/_cloneTypedArray.js": 24960/*!*************************************************!*\ 24961 !*** ./node_modules/lodash/_cloneTypedArray.js ***! 24962 \*************************************************/ 24963/*! no static exports found */ 24964/***/ (function(module, exports, __webpack_require__) { 24965 24966var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); 24967 24968/** 24969 * Creates a clone of `typedArray`. 24970 * 24971 * @private 24972 * @param {Object} typedArray The typed array to clone. 24973 * @param {boolean} [isDeep] Specify a deep clone. 24974 * @returns {Object} Returns the cloned typed array. 24975 */ 24976function cloneTypedArray(typedArray, isDeep) { 24977 var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; 24978 return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); 24979} 24980 24981module.exports = cloneTypedArray; 24982 24983 24984/***/ }), 24985
vendor: 1,602 bytes, lines 24986-25035
24986/***/ "./node_modules/lodash/_composeArgs.js": 24987/*!*********************************************!*\ 24988 !*** ./node_modules/lodash/_composeArgs.js ***! 24989 \*********************************************/ 24990/*! no static exports found */ 24991/***/ (function(module, exports) { 24992 24993/* Built-in method references for those with the same name as other `lodash` methods. */ 24994var nativeMax = Math.max; 24995 24996/** 24997 * Creates an array that is the composition of partially applied arguments, 24998 * placeholders, and provided arguments into a single array of arguments. 24999 * 25000 * @private 25001 * @param {Array} args The provided arguments. 25002 * @param {Array} partials The arguments to prepend to those provided. 25003 * @param {Array} holders The `partials` placeholder indexes. 25004 * @params {boolean} [isCurried] Specify composing for a curried function. 25005 * @returns {Array} Returns the new array of composed arguments. 25006 */ 25007function composeArgs(args, partials, holders, isCurried) { 25008 var argsIndex = -1, 25009 argsLength = args.length, 25010 holdersLength = holders.length, 25011 leftIndex = -1, 25012 leftLength = partials.length, 25013 rangeLength = nativeMax(argsLength - holdersLength, 0), 25014 result = Array(leftLength + rangeLength), 25015 isUncurried = !isCurried; 25016 25017 while (++leftIndex < leftLength) { 25018 result[leftIndex] = partials[leftIndex]; 25019 } 25020 while (++argsIndex < holdersLength) { 25021 if (isUncurried || argsIndex < argsLength) { 25022 result[holders[argsIndex]] = args[argsIndex]; 25023 } 25024 } 25025 while (rangeLength--) { 25026 result[leftIndex++] = args[argsIndex++]; 25027 } 25028 return result; 25029} 25030 25031module.exports = composeArgs; 25032 25033 25034/***/ }), 25035
vendor: 1,687 bytes, lines 25036-25087
25036/***/ "./node_modules/lodash/_composeArgsRight.js": 25037/*!**************************************************!*\ 25038 !*** ./node_modules/lodash/_composeArgsRight.js ***! 25039 \**************************************************/ 25040/*! no static exports found */ 25041/***/ (function(module, exports) { 25042 25043/* Built-in method references for those with the same name as other `lodash` methods. */ 25044var nativeMax = Math.max; 25045 25046/** 25047 * This function is like `composeArgs` except that the arguments composition 25048 * is tailored for `_.partialRight`. 25049 * 25050 * @private 25051 * @param {Array} args The provided arguments. 25052 * @param {Array} partials The arguments to append to those provided. 25053 * @param {Array} holders The `partials` placeholder indexes. 25054 * @params {boolean} [isCurried] Specify composing for a curried function. 25055 * @returns {Array} Returns the new array of composed arguments. 25056 */ 25057function composeArgsRight(args, partials, holders, isCurried) { 25058 var argsIndex = -1, 25059 argsLength = args.length, 25060 holdersIndex = -1, 25061 holdersLength = holders.length, 25062 rightIndex = -1, 25063 rightLength = partials.length, 25064 rangeLength = nativeMax(argsLength - holdersLength, 0), 25065 result = Array(rangeLength + rightLength), 25066 isUncurried = !isCurried; 25067 25068 while (++argsIndex < rangeLength) { 25069 result[argsIndex] = args[argsIndex]; 25070 } 25071 var offset = argsIndex; 25072 while (++rightIndex < rightLength) { 25073 result[offset + rightIndex] = partials[rightIndex]; 25074 } 25075 while (++holdersIndex < holdersLength) { 25076 if (isUncurried || argsIndex < argsLength) { 25077 result[offset + holders[holdersIndex]] = args[argsIndex++]; 25078 } 25079 } 25080 return result; 25081} 25082 25083module.exports = composeArgsRight; 25084 25085 25086/***/ }), 25087
vendor: 725 bytes, lines 25088-25118
25088/***/ "./node_modules/lodash/_copyArray.js": 25089/*!*******************************************!*\ 25090 !*** ./node_modules/lodash/_copyArray.js ***! 25091 \*******************************************/ 25092/*! no static exports found */ 25093/***/ (function(module, exports) { 25094 25095/** 25096 * Copies the values of `source` to `array`. 25097 * 25098 * @private 25099 * @param {Array} source The array to copy values from. 25100 * @param {Array} [array=[]] The array to copy values to. 25101 * @returns {Array} Returns `array`. 25102 */ 25103function copyArray(source, array) { 25104 var index = -1, 25105 length = source.length; 25106 25107 array || (array = Array(length)); 25108 while (++index < length) { 25109 array[index] = source[index]; 25110 } 25111 return array; 25112} 25113 25114module.exports = copyArray; 25115 25116 25117/***/ }), 25118
vendor: 1,458 bytes, lines 25119-25169
25119/***/ "./node_modules/lodash/_copyObject.js": 25120/*!********************************************!*\ 25121 !*** ./node_modules/lodash/_copyObject.js ***! 25122 \********************************************/ 25123/*! no static exports found */ 25124/***/ (function(module, exports, __webpack_require__) { 25125 25126var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), 25127 baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"); 25128 25129/** 25130 * Copies properties of `source` to `object`. 25131 * 25132 * @private 25133 * @param {Object} source The object to copy properties from. 25134 * @param {Array} props The property identifiers to copy. 25135 * @param {Object} [object={}] The object to copy properties to. 25136 * @param {Function} [customizer] The function to customize copied values. 25137 * @returns {Object} Returns `object`. 25138 */ 25139function copyObject(source, props, object, customizer) { 25140 var isNew = !object; 25141 object || (object = {}); 25142 25143 var index = -1, 25144 length = props.length; 25145 25146 while (++index < length) { 25147 var key = props[index]; 25148 25149 var newValue = customizer 25150 ? customizer(object[key], source[key], key, object, source) 25151 : undefined; 25152 25153 if (newValue === undefined) { 25154 newValue = source[key]; 25155 } 25156 if (isNew) { 25157 baseAssignValue(object, key, newValue); 25158 } else { 25159 assignValue(object, key, newValue); 25160 } 25161 } 25162 return object; 25163} 25164 25165module.exports = copyObject; 25166 25167 25168/***/ }), 25169
vendor: 858 bytes, lines 25170-25196
25170/***/ "./node_modules/lodash/_copySymbols.js": 25171/*!*********************************************!*\ 25172 !*** ./node_modules/lodash/_copySymbols.js ***! 25173 \*********************************************/ 25174/*! no static exports found */ 25175/***/ (function(module, exports, __webpack_require__) { 25176 25177var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), 25178 getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"); 25179 25180/** 25181 * Copies own symbols of `source` to `object`. 25182 * 25183 * @private 25184 * @param {Object} source The object to copy symbols from. 25185 * @param {Object} [object={}] The object to copy symbols to. 25186 * @returns {Object} Returns `object`. 25187 */ 25188function copySymbols(source, object) { 25189 return copyObject(source, getSymbols(source), object); 25190} 25191 25192module.exports = copySymbols; 25193 25194 25195/***/ }), 25196
vendor: 892 bytes, lines 25197-25223
25197/***/ "./node_modules/lodash/_copySymbolsIn.js": 25198/*!***********************************************!*\ 25199 !*** ./node_modules/lodash/_copySymbolsIn.js ***! 25200 \***********************************************/ 25201/*! no static exports found */ 25202/***/ (function(module, exports, __webpack_require__) { 25203 25204var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), 25205 getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"); 25206 25207/** 25208 * Copies own and inherited symbols of `source` to `object`. 25209 * 25210 * @private 25211 * @param {Object} source The object to copy symbols from. 25212 * @param {Object} [object={}] The object to copy symbols to. 25213 * @returns {Object} Returns `object`. 25214 */ 25215function copySymbolsIn(source, object) { 25216 return copyObject(source, getSymbolsIn(source), object); 25217} 25218 25219module.exports = copySymbolsIn; 25220 25221 25222/***/ }), 25223
vendor: 503 bytes, lines 25224-25240
25224/***/ "./node_modules/lodash/_coreJsData.js": 25225/*!********************************************!*\ 25226 !*** ./node_modules/lodash/_coreJsData.js ***! 25227 \********************************************/ 25228/*! no static exports found */ 25229/***/ (function(module, exports, __webpack_require__) { 25230 25231var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 25232 25233/** Used to detect overreaching core-js shims. */ 25234var coreJsData = root['__core-js_shared__']; 25235 25236module.exports = coreJsData; 25237 25238 25239/***/ }), 25240
vendor: 752 bytes, lines 25241-25272
25241/***/ "./node_modules/lodash/_countHolders.js": 25242/*!**********************************************!*\ 25243 !*** ./node_modules/lodash/_countHolders.js ***! 25244 \**********************************************/ 25245/*! no static exports found */ 25246/***/ (function(module, exports) { 25247 25248/** 25249 * Gets the number of `placeholder` occurrences in `array`. 25250 * 25251 * @private 25252 * @param {Array} array The array to inspect. 25253 * @param {*} placeholder The placeholder to search for. 25254 * @returns {number} Returns the placeholder count. 25255 */ 25256function countHolders(array, placeholder) { 25257 var length = array.length, 25258 result = 0; 25259 25260 while (length--) { 25261 if (array[length] === placeholder) { 25262 ++result; 25263 } 25264 } 25265 return result; 25266} 25267 25268module.exports = countHolders; 25269 25270 25271/***/ }), 25272
vendor: 1,254 bytes, lines 25273-25315
25273/***/ "./node_modules/lodash/_createBaseEach.js": 25274/*!************************************************!*\ 25275 !*** ./node_modules/lodash/_createBaseEach.js ***! 25276 \************************************************/ 25277/*! no static exports found */ 25278/***/ (function(module, exports, __webpack_require__) { 25279 25280var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); 25281 25282/** 25283 * Creates a `baseEach` or `baseEachRight` function. 25284 * 25285 * @private 25286 * @param {Function} eachFunc The function to iterate over a collection. 25287 * @param {boolean} [fromRight] Specify iterating from right to left. 25288 * @returns {Function} Returns the new base function. 25289 */ 25290function createBaseEach(eachFunc, fromRight) { 25291 return function(collection, iteratee) { 25292 if (collection == null) { 25293 return collection; 25294 } 25295 if (!isArrayLike(collection)) { 25296 return eachFunc(collection, iteratee); 25297 } 25298 var length = collection.length, 25299 index = fromRight ? length : -1, 25300 iterable = Object(collection); 25301 25302 while ((fromRight ? index-- : ++index < length)) { 25303 if (iteratee(iterable[index], index, iterable) === false) { 25304 break; 25305 } 25306 } 25307 return collection; 25308 }; 25309} 25310 25311module.exports = createBaseEach; 25312 25313 25314/***/ }), 25315
vendor: 935 bytes, lines 25316-25351
25316/***/ "./node_modules/lodash/_createBaseFor.js": 25317/*!***********************************************!*\ 25318 !*** ./node_modules/lodash/_createBaseFor.js ***! 25319 \***********************************************/ 25320/*! no static exports found */ 25321/***/ (function(module, exports) { 25322 25323/** 25324 * Creates a base function for methods like `_.forIn` and `_.forOwn`. 25325 * 25326 * @private 25327 * @param {boolean} [fromRight] Specify iterating from right to left. 25328 * @returns {Function} Returns the new base function. 25329 */ 25330function createBaseFor(fromRight) { 25331 return function(object, iteratee, keysFunc) { 25332 var index = -1, 25333 iterable = Object(object), 25334 props = keysFunc(object), 25335 length = props.length; 25336 25337 while (length--) { 25338 var key = props[fromRight ? length : ++index]; 25339 if (iteratee(iterable[key], key, iterable) === false) { 25340 break; 25341 } 25342 } 25343 return object; 25344 }; 25345} 25346 25347module.exports = createBaseFor; 25348 25349 25350/***/ }), 25351
vendor: 1,255 bytes, lines 25352-25390
25352/***/ "./node_modules/lodash/_createBind.js": 25353/*!********************************************!*\ 25354 !*** ./node_modules/lodash/_createBind.js ***! 25355 \********************************************/ 25356/*! no static exports found */ 25357/***/ (function(module, exports, __webpack_require__) { 25358 25359var createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"), 25360 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 25361 25362/** Used to compose bitmasks for function metadata. */ 25363var WRAP_BIND_FLAG = 1; 25364 25365/** 25366 * Creates a function that wraps `func` to invoke it with the optional `this` 25367 * binding of `thisArg`. 25368 * 25369 * @private 25370 * @param {Function} func The function to wrap. 25371 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 25372 * @param {*} [thisArg] The `this` binding of `func`. 25373 * @returns {Function} Returns the new wrapped function. 25374 */ 25375function createBind(func, bitmask, thisArg) { 25376 var isBind = bitmask & WRAP_BIND_FLAG, 25377 Ctor = createCtor(func); 25378 25379 function wrapper() { 25380 var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 25381 return fn.apply(isBind ? thisArg : this, arguments); 25382 } 25383 return wrapper; 25384} 25385 25386module.exports = createBind; 25387 25388 25389/***/ }), 25390
vendor: 1,887 bytes, lines 25391-25438
25391/***/ "./node_modules/lodash/_createCtor.js": 25392/*!********************************************!*\ 25393 !*** ./node_modules/lodash/_createCtor.js ***! 25394 \********************************************/ 25395/*! no static exports found */ 25396/***/ (function(module, exports, __webpack_require__) { 25397 25398var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), 25399 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); 25400 25401/** 25402 * Creates a function that produces an instance of `Ctor` regardless of 25403 * whether it was invoked as part of a `new` expression or by `call` or `apply`. 25404 * 25405 * @private 25406 * @param {Function} Ctor The constructor to wrap. 25407 * @returns {Function} Returns the new wrapped function. 25408 */ 25409function createCtor(Ctor) { 25410 return function() { 25411 // Use a `switch` statement to work with class constructors. See 25412 // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist 25413 // for more details. 25414 var args = arguments; 25415 switch (args.length) { 25416 case 0: return new Ctor; 25417 case 1: return new Ctor(args[0]); 25418 case 2: return new Ctor(args[0], args[1]); 25419 case 3: return new Ctor(args[0], args[1], args[2]); 25420 case 4: return new Ctor(args[0], args[1], args[2], args[3]); 25421 case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); 25422 case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); 25423 case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); 25424 } 25425 var thisBinding = baseCreate(Ctor.prototype), 25426 result = Ctor.apply(thisBinding, args); 25427 25428 // Mimic the constructor's `return` behavior. 25429 // See https://es5.github.io/#x13.2.2 for more details. 25430 return isObject(result) ? result : thisBinding; 25431 }; 25432} 25433 25434module.exports = createCtor; 25435 25436 25437/***/ }), 25438
vendor: 2,136 bytes, lines 25439-25495
25439/***/ "./node_modules/lodash/_createCurry.js": 25440/*!*********************************************!*\ 25441 !*** ./node_modules/lodash/_createCurry.js ***! 25442 \*********************************************/ 25443/*! no static exports found */ 25444/***/ (function(module, exports, __webpack_require__) { 25445 25446var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"), 25447 createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"), 25448 createHybrid = __webpack_require__(/*! ./_createHybrid */ "./node_modules/lodash/_createHybrid.js"), 25449 createRecurry = __webpack_require__(/*! ./_createRecurry */ "./node_modules/lodash/_createRecurry.js"), 25450 getHolder = __webpack_require__(/*! ./_getHolder */ "./node_modules/lodash/_getHolder.js"), 25451 replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js"), 25452 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 25453 25454/** 25455 * Creates a function that wraps `func` to enable currying. 25456 * 25457 * @private 25458 * @param {Function} func The function to wrap. 25459 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 25460 * @param {number} arity The arity of `func`. 25461 * @returns {Function} Returns the new wrapped function. 25462 */ 25463function createCurry(func, bitmask, arity) { 25464 var Ctor = createCtor(func); 25465 25466 function wrapper() { 25467 var length = arguments.length, 25468 args = Array(length), 25469 index = length, 25470 placeholder = getHolder(wrapper); 25471 25472 while (index--) { 25473 args[index] = arguments[index]; 25474 } 25475 var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) 25476 ? [] 25477 : replaceHolders(args, placeholder); 25478 25479 length -= holders.length; 25480 if (length < arity) { 25481 return createRecurry( 25482 func, bitmask, createHybrid, wrapper.placeholder, undefined, 25483 args, holders, undefined, undefined, arity - length); 25484 } 25485 var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 25486 return apply(fn, this, args); 25487 } 25488 return wrapper; 25489} 25490 25491module.exports = createCurry; 25492 25493 25494/***/ }), 25495
vendor: 4,066 bytes, lines 25496-25598
25496/***/ "./node_modules/lodash/_createHybrid.js": 25497/*!**********************************************!*\ 25498 !*** ./node_modules/lodash/_createHybrid.js ***! 25499 \**********************************************/ 25500/*! no static exports found */ 25501/***/ (function(module, exports, __webpack_require__) { 25502 25503var composeArgs = __webpack_require__(/*! ./_composeArgs */ "./node_modules/lodash/_composeArgs.js"), 25504 composeArgsRight = __webpack_require__(/*! ./_composeArgsRight */ "./node_modules/lodash/_composeArgsRight.js"), 25505 countHolders = __webpack_require__(/*! ./_countHolders */ "./node_modules/lodash/_countHolders.js"), 25506 createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"), 25507 createRecurry = __webpack_require__(/*! ./_createRecurry */ "./node_modules/lodash/_createRecurry.js"), 25508 getHolder = __webpack_require__(/*! ./_getHolder */ "./node_modules/lodash/_getHolder.js"), 25509 reorder = __webpack_require__(/*! ./_reorder */ "./node_modules/lodash/_reorder.js"), 25510 replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js"), 25511 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 25512 25513/** Used to compose bitmasks for function metadata. */ 25514var WRAP_BIND_FLAG = 1, 25515 WRAP_BIND_KEY_FLAG = 2, 25516 WRAP_CURRY_FLAG = 8, 25517 WRAP_CURRY_RIGHT_FLAG = 16, 25518 WRAP_ARY_FLAG = 128, 25519 WRAP_FLIP_FLAG = 512; 25520 25521/** 25522 * Creates a function that wraps `func` to invoke it with optional `this` 25523 * binding of `thisArg`, partial application, and currying. 25524 * 25525 * @private 25526 * @param {Function|string} func The function or method name to wrap. 25527 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 25528 * @param {*} [thisArg] The `this` binding of `func`. 25529 * @param {Array} [partials] The arguments to prepend to those provided to 25530 * the new function. 25531 * @param {Array} [holders] The `partials` placeholder indexes. 25532 * @param {Array} [partialsRight] The arguments to append to those provided 25533 * to the new function. 25534 * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. 25535 * @param {Array} [argPos] The argument positions of the new function. 25536 * @param {number} [ary] The arity cap of `func`. 25537 * @param {number} [arity] The arity of `func`. 25538 * @returns {Function} Returns the new wrapped function. 25539 */ 25540function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { 25541 var isAry = bitmask & WRAP_ARY_FLAG, 25542 isBind = bitmask & WRAP_BIND_FLAG, 25543 isBindKey = bitmask & WRAP_BIND_KEY_FLAG, 25544 isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), 25545 isFlip = bitmask & WRAP_FLIP_FLAG, 25546 Ctor = isBindKey ? undefined : createCtor(func); 25547 25548 function wrapper() { 25549 var length = arguments.length, 25550 args = Array(length), 25551 index = length; 25552 25553 while (index--) { 25554 args[index] = arguments[index]; 25555 } 25556 if (isCurried) { 25557 var placeholder = getHolder(wrapper), 25558 holdersCount = countHolders(args, placeholder); 25559 } 25560 if (partials) { 25561 args = composeArgs(args, partials, holders, isCurried); 25562 } 25563 if (partialsRight) { 25564 args = composeArgsRight(args, partialsRight, holdersRight, isCurried); 25565 } 25566 length -= holdersCount; 25567 if (isCurried && length < arity) { 25568 var newHolders = replaceHolders(args, placeholder); 25569 return createRecurry( 25570 func, bitmask, createHybrid, wrapper.placeholder, thisArg, 25571 args, newHolders, argPos, ary, arity - length 25572 ); 25573 } 25574 var thisBinding = isBind ? thisArg : this, 25575 fn = isBindKey ? thisBinding[func] : func; 25576 25577 length = args.length; 25578 if (argPos) { 25579 args = reorder(args, argPos); 25580 } else if (isFlip && length > 1) { 25581 args.reverse(); 25582 } 25583 if (isAry && ary < length) { 25584 args.length = ary; 25585 } 25586 if (this && this !== root && this instanceof wrapper) { 25587 fn = Ctor || createCtor(fn); 25588 } 25589 return fn.apply(thisBinding, args); 25590 } 25591 return wrapper; 25592} 25593 25594module.exports = createHybrid; 25595 25596 25597/***/ }), 25598
vendor: 1,847 bytes, lines 25599-25652
25599/***/ "./node_modules/lodash/_createPartial.js": 25600/*!***********************************************!*\ 25601 !*** ./node_modules/lodash/_createPartial.js ***! 25602 \***********************************************/ 25603/*! no static exports found */ 25604/***/ (function(module, exports, __webpack_require__) { 25605 25606var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"), 25607 createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"), 25608 root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 25609 25610/** Used to compose bitmasks for function metadata. */ 25611var WRAP_BIND_FLAG = 1; 25612 25613/** 25614 * Creates a function that wraps `func` to invoke it with the `this` binding 25615 * of `thisArg` and `partials` prepended to the arguments it receives. 25616 * 25617 * @private 25618 * @param {Function} func The function to wrap. 25619 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 25620 * @param {*} thisArg The `this` binding of `func`. 25621 * @param {Array} partials The arguments to prepend to those provided to 25622 * the new function. 25623 * @returns {Function} Returns the new wrapped function. 25624 */ 25625function createPartial(func, bitmask, thisArg, partials) { 25626 var isBind = bitmask & WRAP_BIND_FLAG, 25627 Ctor = createCtor(func); 25628 25629 function wrapper() { 25630 var argsIndex = -1, 25631 argsLength = arguments.length, 25632 leftIndex = -1, 25633 leftLength = partials.length, 25634 args = Array(leftLength + argsLength), 25635 fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 25636 25637 while (++leftIndex < leftLength) { 25638 args[leftIndex] = partials[leftIndex]; 25639 } 25640 while (argsLength--) { 25641 args[leftIndex++] = arguments[++argsIndex]; 25642 } 25643 return apply(fn, isBind ? thisArg : this, args); 25644 } 25645 return wrapper; 25646} 25647 25648module.exports = createPartial; 25649 25650 25651/***/ }), 25652
vendor: 2,595 bytes, lines 25653-25719
25653/***/ "./node_modules/lodash/_createRecurry.js": 25654/*!***********************************************!*\ 25655 !*** ./node_modules/lodash/_createRecurry.js ***! 25656 \***********************************************/ 25657/*! no static exports found */ 25658/***/ (function(module, exports, __webpack_require__) { 25659 25660var isLaziable = __webpack_require__(/*! ./_isLaziable */ "./node_modules/lodash/_isLaziable.js"), 25661 setData = __webpack_require__(/*! ./_setData */ "./node_modules/lodash/_setData.js"), 25662 setWrapToString = __webpack_require__(/*! ./_setWrapToString */ "./node_modules/lodash/_setWrapToString.js"); 25663 25664/** Used to compose bitmasks for function metadata. */ 25665var WRAP_BIND_FLAG = 1, 25666 WRAP_BIND_KEY_FLAG = 2, 25667 WRAP_CURRY_BOUND_FLAG = 4, 25668 WRAP_CURRY_FLAG = 8, 25669 WRAP_PARTIAL_FLAG = 32, 25670 WRAP_PARTIAL_RIGHT_FLAG = 64; 25671 25672/** 25673 * Creates a function that wraps `func` to continue currying. 25674 * 25675 * @private 25676 * @param {Function} func The function to wrap. 25677 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 25678 * @param {Function} wrapFunc The function to create the `func` wrapper. 25679 * @param {*} placeholder The placeholder value. 25680 * @param {*} [thisArg] The `this` binding of `func`. 25681 * @param {Array} [partials] The arguments to prepend to those provided to 25682 * the new function. 25683 * @param {Array} [holders] The `partials` placeholder indexes. 25684 * @param {Array} [argPos] The argument positions of the new function. 25685 * @param {number} [ary] The arity cap of `func`. 25686 * @param {number} [arity] The arity of `func`. 25687 * @returns {Function} Returns the new wrapped function. 25688 */ 25689function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { 25690 var isCurry = bitmask & WRAP_CURRY_FLAG, 25691 newHolders = isCurry ? holders : undefined, 25692 newHoldersRight = isCurry ? undefined : holders, 25693 newPartials = isCurry ? partials : undefined, 25694 newPartialsRight = isCurry ? undefined : partials; 25695 25696 bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); 25697 bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); 25698 25699 if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { 25700 bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); 25701 } 25702 var newData = [ 25703 func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, 25704 newHoldersRight, argPos, ary, arity 25705 ]; 25706 25707 var result = wrapFunc.apply(undefined, newData); 25708 if (isLaziable(func)) { 25709 setData(result, newData); 25710 } 25711 result.placeholder = placeholder; 25712 return setWrapToString(result, func, bitmask); 25713} 25714 25715module.exports = createRecurry; 25716 25717 25718/***/ }), 25719
vendor: 4,573 bytes, lines 25720-25836
25720/***/ "./node_modules/lodash/_createWrap.js": 25721/*!********************************************!*\ 25722 !*** ./node_modules/lodash/_createWrap.js ***! 25723 \********************************************/ 25724/*! no static exports found */ 25725/***/ (function(module, exports, __webpack_require__) { 25726 25727var baseSetData = __webpack_require__(/*! ./_baseSetData */ "./node_modules/lodash/_baseSetData.js"), 25728 createBind = __webpack_require__(/*! ./_createBind */ "./node_modules/lodash/_createBind.js"), 25729 createCurry = __webpack_require__(/*! ./_createCurry */ "./node_modules/lodash/_createCurry.js"), 25730 createHybrid = __webpack_require__(/*! ./_createHybrid */ "./node_modules/lodash/_createHybrid.js"), 25731 createPartial = __webpack_require__(/*! ./_createPartial */ "./node_modules/lodash/_createPartial.js"), 25732 getData = __webpack_require__(/*! ./_getData */ "./node_modules/lodash/_getData.js"), 25733 mergeData = __webpack_require__(/*! ./_mergeData */ "./node_modules/lodash/_mergeData.js"), 25734 setData = __webpack_require__(/*! ./_setData */ "./node_modules/lodash/_setData.js"), 25735 setWrapToString = __webpack_require__(/*! ./_setWrapToString */ "./node_modules/lodash/_setWrapToString.js"), 25736 toInteger = __webpack_require__(/*! ./toInteger */ "./node_modules/lodash/toInteger.js"); 25737 25738/** Error message constants. */ 25739var FUNC_ERROR_TEXT = 'Expected a function'; 25740 25741/** Used to compose bitmasks for function metadata. */ 25742var WRAP_BIND_FLAG = 1, 25743 WRAP_BIND_KEY_FLAG = 2, 25744 WRAP_CURRY_FLAG = 8, 25745 WRAP_CURRY_RIGHT_FLAG = 16, 25746 WRAP_PARTIAL_FLAG = 32, 25747 WRAP_PARTIAL_RIGHT_FLAG = 64; 25748 25749/* Built-in method references for those with the same name as other `lodash` methods. */ 25750var nativeMax = Math.max; 25751 25752/** 25753 * Creates a function that either curries or invokes `func` with optional 25754 * `this` binding and partially applied arguments. 25755 * 25756 * @private 25757 * @param {Function|string} func The function or method name to wrap. 25758 * @param {number} bitmask The bitmask flags. 25759 * 1 - `_.bind` 25760 * 2 - `_.bindKey` 25761 * 4 - `_.curry` or `_.curryRight` of a bound function 25762 * 8 - `_.curry` 25763 * 16 - `_.curryRight` 25764 * 32 - `_.partial` 25765 * 64 - `_.partialRight` 25766 * 128 - `_.rearg` 25767 * 256 - `_.ary` 25768 * 512 - `_.flip` 25769 * @param {*} [thisArg] The `this` binding of `func`. 25770 * @param {Array} [partials] The arguments to be partially applied. 25771 * @param {Array} [holders] The `partials` placeholder indexes. 25772 * @param {Array} [argPos] The argument positions of the new function. 25773 * @param {number} [ary] The arity cap of `func`. 25774 * @param {number} [arity] The arity of `func`. 25775 * @returns {Function} Returns the new wrapped function. 25776 */ 25777function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { 25778 var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; 25779 if (!isBindKey && typeof func != 'function') { 25780 throw new TypeError(FUNC_ERROR_TEXT); 25781 } 25782 var length = partials ? partials.length : 0; 25783 if (!length) { 25784 bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); 25785 partials = holders = undefined; 25786 } 25787 ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); 25788 arity = arity === undefined ? arity : toInteger(arity); 25789 length -= holders ? holders.length : 0; 25790 25791 if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { 25792 var partialsRight = partials, 25793 holdersRight = holders; 25794 25795 partials = holders = undefined; 25796 } 25797 var data = isBindKey ? undefined : getData(func); 25798 25799 var newData = [ 25800 func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, 25801 argPos, ary, arity 25802 ]; 25803 25804 if (data) { 25805 mergeData(newData, data); 25806 } 25807 func = newData[0]; 25808 bitmask = newData[1]; 25809 thisArg = newData[2]; 25810 partials = newData[3]; 25811 holders = newData[4]; 25812 arity = newData[9] = newData[9] === undefined 25813 ? (isBindKey ? 0 : func.length) 25814 : nativeMax(newData[9] - length, 0); 25815 25816 if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { 25817 bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); 25818 } 25819 if (!bitmask || bitmask == WRAP_BIND_FLAG) { 25820 var result = createBind(func, bitmask, thisArg); 25821 } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { 25822 result = createCurry(func, bitmask, arity); 25823 } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { 25824 result = createPartial(func, bitmask, thisArg, partials); 25825 } else { 25826 result = createHybrid.apply(undefined, newData); 25827 } 25828 var setter = data ? baseSetData : setData; 25829 return setWrapToString(setter(result, newData), func, bitmask); 25830} 25831 25832module.exports = createWrap; 25833 25834 25835/***/ }), 25836
vendor: 600 bytes, lines 25837-25858
25837/***/ "./node_modules/lodash/_defineProperty.js": 25838/*!************************************************!*\ 25839 !*** ./node_modules/lodash/_defineProperty.js ***! 25840 \************************************************/ 25841/*! no static exports found */ 25842/***/ (function(module, exports, __webpack_require__) { 25843 25844var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); 25845 25846var defineProperty = (function() { 25847 try { 25848 var func = getNative(Object, 'defineProperty'); 25849 func({}, '', {}); 25850 return func; 25851 } catch (e) {} 25852}()); 25853 25854module.exports = defineProperty; 25855 25856 25857/***/ }), 25858
vendor: 3,125 bytes, lines 25859-25953
25859/***/ "./node_modules/lodash/_equalArrays.js": 25860/*!*********************************************!*\ 25861 !*** ./node_modules/lodash/_equalArrays.js ***! 25862 \*********************************************/ 25863/*! no static exports found */ 25864/***/ (function(module, exports, __webpack_require__) { 25865 25866var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"), 25867 arraySome = __webpack_require__(/*! ./_arraySome */ "./node_modules/lodash/_arraySome.js"), 25868 cacheHas = __webpack_require__(/*! ./_cacheHas */ "./node_modules/lodash/_cacheHas.js"); 25869 25870/** Used to compose bitmasks for value comparisons. */ 25871var COMPARE_PARTIAL_FLAG = 1, 25872 COMPARE_UNORDERED_FLAG = 2; 25873 25874/** 25875 * A specialized version of `baseIsEqualDeep` for arrays with support for 25876 * partial deep comparisons. 25877 * 25878 * @private 25879 * @param {Array} array The array to compare. 25880 * @param {Array} other The other array to compare. 25881 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 25882 * @param {Function} customizer The function to customize comparisons. 25883 * @param {Function} equalFunc The function to determine equivalents of values. 25884 * @param {Object} stack Tracks traversed `array` and `other` objects. 25885 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. 25886 */ 25887function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { 25888 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 25889 arrLength = array.length, 25890 othLength = other.length; 25891 25892 if (arrLength != othLength && !(isPartial && othLength > arrLength)) { 25893 return false; 25894 } 25895 // Check that cyclic values are equal. 25896 var arrStacked = stack.get(array); 25897 var othStacked = stack.get(other); 25898 if (arrStacked && othStacked) { 25899 return arrStacked == other && othStacked == array; 25900 } 25901 var index = -1, 25902 result = true, 25903 seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; 25904 25905 stack.set(array, other); 25906 stack.set(other, array); 25907 25908 // Ignore non-index properties. 25909 while (++index < arrLength) { 25910 var arrValue = array[index], 25911 othValue = other[index]; 25912 25913 if (customizer) { 25914 var compared = isPartial 25915 ? customizer(othValue, arrValue, index, other, array, stack) 25916 : customizer(arrValue, othValue, index, array, other, stack); 25917 } 25918 if (compared !== undefined) { 25919 if (compared) { 25920 continue; 25921 } 25922 result = false; 25923 break; 25924 } 25925 // Recursively compare arrays (susceptible to call stack limits). 25926 if (seen) { 25927 if (!arraySome(other, function(othValue, othIndex) { 25928 if (!cacheHas(seen, othIndex) && 25929 (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { 25930 return seen.push(othIndex); 25931 } 25932 })) { 25933 result = false; 25934 break; 25935 } 25936 } else if (!( 25937 arrValue === othValue || 25938 equalFunc(arrValue, othValue, bitmask, customizer, stack) 25939 )) { 25940 result = false; 25941 break; 25942 } 25943 } 25944 stack['delete'](array); 25945 stack['delete'](other); 25946 return result; 25947} 25948 25949module.exports = equalArrays; 25950 25951 25952/***/ }), 25953
vendor: 4,366 bytes, lines 25954-26076
25954/***/ "./node_modules/lodash/_equalByTag.js": 25955/*!********************************************!*\ 25956 !*** ./node_modules/lodash/_equalByTag.js ***! 25957 \********************************************/ 25958/*! no static exports found */ 25959/***/ (function(module, exports, __webpack_require__) { 25960 25961var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 25962 Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"), 25963 eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"), 25964 equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"), 25965 mapToArray = __webpack_require__(/*! ./_mapToArray */ "./node_modules/lodash/_mapToArray.js"), 25966 setToArray = __webpack_require__(/*! ./_setToArray */ "./node_modules/lodash/_setToArray.js"); 25967 25968/** Used to compose bitmasks for value comparisons. */ 25969var COMPARE_PARTIAL_FLAG = 1, 25970 COMPARE_UNORDERED_FLAG = 2; 25971 25972/** `Object#toString` result references. */ 25973var boolTag = '[object Boolean]', 25974 dateTag = '[object Date]', 25975 errorTag = '[object Error]', 25976 mapTag = '[object Map]', 25977 numberTag = '[object Number]', 25978 regexpTag = '[object RegExp]', 25979 setTag = '[object Set]', 25980 stringTag = '[object String]', 25981 symbolTag = '[object Symbol]'; 25982 25983var arrayBufferTag = '[object ArrayBuffer]', 25984 dataViewTag = '[object DataView]'; 25985 25986/** Used to convert symbols to primitives and strings. */ 25987var symbolProto = Symbol ? Symbol.prototype : undefined, 25988 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 25989 25990/** 25991 * A specialized version of `baseIsEqualDeep` for comparing objects of 25992 * the same `toStringTag`. 25993 * 25994 * **Note:** This function only supports comparing values with tags of 25995 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. 25996 * 25997 * @private 25998 * @param {Object} object The object to compare. 25999 * @param {Object} other The other object to compare. 26000 * @param {string} tag The `toStringTag` of the objects to compare. 26001 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 26002 * @param {Function} customizer The function to customize comparisons. 26003 * @param {Function} equalFunc The function to determine equivalents of values. 26004 * @param {Object} stack Tracks traversed `object` and `other` objects. 26005 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 26006 */ 26007function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { 26008 switch (tag) { 26009 case dataViewTag: 26010 if ((object.byteLength != other.byteLength) || 26011 (object.byteOffset != other.byteOffset)) { 26012 return false; 26013 } 26014 object = object.buffer; 26015 other = other.buffer; 26016 26017 case arrayBufferTag: 26018 if ((object.byteLength != other.byteLength) || 26019 !equalFunc(new Uint8Array(object), new Uint8Array(other))) { 26020 return false; 26021 } 26022 return true; 26023 26024 case boolTag: 26025 case dateTag: 26026 case numberTag: 26027 // Coerce booleans to `1` or `0` and dates to milliseconds. 26028 // Invalid dates are coerced to `NaN`. 26029 return eq(+object, +other); 26030 26031 case errorTag: 26032 return object.name == other.name && object.message == other.message; 26033 26034 case regexpTag: 26035 case stringTag: 26036 // Coerce regexes to strings and treat strings, primitives and objects, 26037 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring 26038 // for more details. 26039 return object == (other + ''); 26040 26041 case mapTag: 26042 var convert = mapToArray; 26043 26044 case setTag: 26045 var isPartial = bitmask & COMPARE_PARTIAL_FLAG; 26046 convert || (convert = setToArray); 26047 26048 if (object.size != other.size && !isPartial) { 26049 return false; 26050 } 26051 // Assume cyclic values are equal. 26052 var stacked = stack.get(object); 26053 if (stacked) { 26054 return stacked == other; 26055 } 26056 bitmask |= COMPARE_UNORDERED_FLAG; 26057 26058 // Recursively compare objects (susceptible to call stack limits). 26059 stack.set(object, other); 26060 var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); 26061 stack['delete'](object); 26062 return result; 26063 26064 case symbolTag: 26065 if (symbolValueOf) { 26066 return symbolValueOf.call(object) == symbolValueOf.call(other); 26067 } 26068 } 26069 return false; 26070} 26071 26072module.exports = equalByTag; 26073 26074 26075/***/ }), 26076
vendor: 3,331 bytes, lines 26077-26177
26077/***/ "./node_modules/lodash/_equalObjects.js": 26078/*!**********************************************!*\ 26079 !*** ./node_modules/lodash/_equalObjects.js ***! 26080 \**********************************************/ 26081/*! no static exports found */ 26082/***/ (function(module, exports, __webpack_require__) { 26083 26084var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js"); 26085 26086/** Used to compose bitmasks for value comparisons. */ 26087var COMPARE_PARTIAL_FLAG = 1; 26088 26089/** Used for built-in method references. */ 26090var objectProto = Object.prototype; 26091 26092/** Used to check objects for own properties. */ 26093var hasOwnProperty = objectProto.hasOwnProperty; 26094 26095/** 26096 * A specialized version of `baseIsEqualDeep` for objects with support for 26097 * partial deep comparisons. 26098 * 26099 * @private 26100 * @param {Object} object The object to compare. 26101 * @param {Object} other The other object to compare. 26102 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 26103 * @param {Function} customizer The function to customize comparisons. 26104 * @param {Function} equalFunc The function to determine equivalents of values. 26105 * @param {Object} stack Tracks traversed `object` and `other` objects. 26106 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 26107 */ 26108function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { 26109 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 26110 objProps = getAllKeys(object), 26111 objLength = objProps.length, 26112 othProps = getAllKeys(other), 26113 othLength = othProps.length; 26114 26115 if (objLength != othLength && !isPartial) { 26116 return false; 26117 } 26118 var index = objLength; 26119 while (index--) { 26120 var key = objProps[index]; 26121 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { 26122 return false; 26123 } 26124 } 26125 // Check that cyclic values are equal. 26126 var objStacked = stack.get(object); 26127 var othStacked = stack.get(other); 26128 if (objStacked && othStacked) { 26129 return objStacked == other && othStacked == object; 26130 } 26131 var result = true; 26132 stack.set(object, other); 26133 stack.set(other, object); 26134 26135 var skipCtor = isPartial; 26136 while (++index < objLength) { 26137 key = objProps[index]; 26138 var objValue = object[key], 26139 othValue = other[key]; 26140 26141 if (customizer) { 26142 var compared = isPartial 26143 ? customizer(othValue, objValue, key, other, object, stack) 26144 : customizer(objValue, othValue, key, object, other, stack); 26145 } 26146 // Recursively compare objects (susceptible to call stack limits). 26147 if (!(compared === undefined 26148 ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) 26149 : compared 26150 )) { 26151 result = false; 26152 break; 26153 } 26154 skipCtor || (skipCtor = key == 'constructor'); 26155 } 26156 if (result && !skipCtor) { 26157 var objCtor = object.constructor, 26158 othCtor = other.constructor; 26159 26160 // Non `Object` object instances with different constructors are not equal. 26161 if (objCtor != othCtor && 26162 ('constructor' in object && 'constructor' in other) && 26163 !(typeof objCtor == 'function' && objCtor instanceof objCtor && 26164 typeof othCtor == 'function' && othCtor instanceof othCtor)) { 26165 result = false; 26166 } 26167 } 26168 stack['delete'](object); 26169 stack['delete'](other); 26170 return result; 26171} 26172 26173module.exports = equalObjects; 26174 26175 26176/***/ }), 26177
vendor: 908 bytes, lines 26178-26204
26178/***/ "./node_modules/lodash/_flatRest.js": 26179/*!******************************************!*\ 26180 !*** ./node_modules/lodash/_flatRest.js ***! 26181 \******************************************/ 26182/*! no static exports found */ 26183/***/ (function(module, exports, __webpack_require__) { 26184 26185var flatten = __webpack_require__(/*! ./flatten */ "./node_modules/lodash/flatten.js"), 26186 overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"), 26187 setToString = __webpack_require__(/*! ./_setToString */ "./node_modules/lodash/_setToString.js"); 26188 26189/** 26190 * A specialized version of `baseRest` which flattens the rest array. 26191 * 26192 * @private 26193 * @param {Function} func The function to apply a rest parameter to. 26194 * @returns {Function} Returns the new function. 26195 */ 26196function flatRest(func) { 26197 return setToString(overRest(func, undefined, flatten), func + ''); 26198} 26199 26200module.exports = flatRest; 26201 26202 26203/***/ }), 26204
vendor: 659 bytes, lines 26205-26220
26205/***/ "./node_modules/lodash/_freeGlobal.js": 26206/*!********************************************!*\ 26207 !*** ./node_modules/lodash/_freeGlobal.js ***! 26208 \********************************************/ 26209/*! no static exports found */ 26210/***/ (function(module, exports, __webpack_require__) { 26211 26212/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ 26213var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 26214 26215module.exports = freeGlobal; 26216 26217/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) 26218 26219/***/ }), 26220
vendor: 916 bytes, lines 26221-26247
26221/***/ "./node_modules/lodash/_getAllKeys.js": 26222/*!********************************************!*\ 26223 !*** ./node_modules/lodash/_getAllKeys.js ***! 26224 \********************************************/ 26225/*! no static exports found */ 26226/***/ (function(module, exports, __webpack_require__) { 26227 26228var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), 26229 getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"), 26230 keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); 26231 26232/** 26233 * Creates an array of own enumerable property names and symbols of `object`. 26234 * 26235 * @private 26236 * @param {Object} object The object to query. 26237 * @returns {Array} Returns the array of property names and symbols. 26238 */ 26239function getAllKeys(object) { 26240 return baseGetAllKeys(object, keys, getSymbols); 26241} 26242 26243module.exports = getAllKeys; 26244 26245 26246/***/ }), 26247
vendor: 961 bytes, lines 26248-26275
26248/***/ "./node_modules/lodash/_getAllKeysIn.js": 26249/*!**********************************************!*\ 26250 !*** ./node_modules/lodash/_getAllKeysIn.js ***! 26251 \**********************************************/ 26252/*! no static exports found */ 26253/***/ (function(module, exports, __webpack_require__) { 26254 26255var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), 26256 getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"), 26257 keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); 26258 26259/** 26260 * Creates an array of own and inherited enumerable property names and 26261 * symbols of `object`. 26262 * 26263 * @private 26264 * @param {Object} object The object to query. 26265 * @returns {Array} Returns the array of property names and symbols. 26266 */ 26267function getAllKeysIn(object) { 26268 return baseGetAllKeys(object, keysIn, getSymbolsIn); 26269} 26270 26271module.exports = getAllKeysIn; 26272 26273 26274/***/ }), 26275
vendor: 711 bytes, lines 26276-26301
26276/***/ "./node_modules/lodash/_getData.js": 26277/*!*****************************************!*\ 26278 !*** ./node_modules/lodash/_getData.js ***! 26279 \*****************************************/ 26280/*! no static exports found */ 26281/***/ (function(module, exports, __webpack_require__) { 26282 26283var metaMap = __webpack_require__(/*! ./_metaMap */ "./node_modules/lodash/_metaMap.js"), 26284 noop = __webpack_require__(/*! ./noop */ "./node_modules/lodash/noop.js"); 26285 26286/** 26287 * Gets metadata for `func`. 26288 * 26289 * @private 26290 * @param {Function} func The function to query. 26291 * @returns {*} Returns the metadata for `func`. 26292 */ 26293var getData = !metaMap ? noop : function(func) { 26294 return metaMap.get(func); 26295}; 26296 26297module.exports = getData; 26298 26299 26300/***/ }), 26301
vendor: 1,111 bytes, lines 26302-26343
26302/***/ "./node_modules/lodash/_getFuncName.js": 26303/*!*********************************************!*\ 26304 !*** ./node_modules/lodash/_getFuncName.js ***! 26305 \*********************************************/ 26306/*! no static exports found */ 26307/***/ (function(module, exports, __webpack_require__) { 26308 26309var realNames = __webpack_require__(/*! ./_realNames */ "./node_modules/lodash/_realNames.js"); 26310 26311/** Used for built-in method references. */ 26312var objectProto = Object.prototype; 26313 26314/** Used to check objects for own properties. */ 26315var hasOwnProperty = objectProto.hasOwnProperty; 26316 26317/** 26318 * Gets the name of `func`. 26319 * 26320 * @private 26321 * @param {Function} func The function to query. 26322 * @returns {string} Returns the function name. 26323 */ 26324function getFuncName(func) { 26325 var result = (func.name + ''), 26326 array = realNames[result], 26327 length = hasOwnProperty.call(realNames, result) ? array.length : 0; 26328 26329 while (length--) { 26330 var data = array[length], 26331 otherFunc = data.func; 26332 if (otherFunc == null || otherFunc == func) { 26333 return data.name; 26334 } 26335 } 26336 return result; 26337} 26338 26339module.exports = getFuncName; 26340 26341 26342/***/ }), 26343
vendor: 551 bytes, lines 26344-26367
26344/***/ "./node_modules/lodash/_getHolder.js": 26345/*!*******************************************!*\ 26346 !*** ./node_modules/lodash/_getHolder.js ***! 26347 \*******************************************/ 26348/*! no static exports found */ 26349/***/ (function(module, exports) { 26350 26351/** 26352 * Gets the argument placeholder value for `func`. 26353 * 26354 * @private 26355 * @param {Function} func The function to inspect. 26356 * @returns {*} Returns the placeholder value. 26357 */ 26358function getHolder(func) { 26359 var object = func; 26360 return object.placeholder; 26361} 26362 26363module.exports = getHolder; 26364 26365 26366/***/ }), 26367
vendor: 751 bytes, lines 26368-26396
26368/***/ "./node_modules/lodash/_getMapData.js": 26369/*!********************************************!*\ 26370 !*** ./node_modules/lodash/_getMapData.js ***! 26371 \********************************************/ 26372/*! no static exports found */ 26373/***/ (function(module, exports, __webpack_require__) { 26374 26375var isKeyable = __webpack_require__(/*! ./_isKeyable */ "./node_modules/lodash/_isKeyable.js"); 26376 26377/** 26378 * Gets the data for `map`. 26379 * 26380 * @private 26381 * @param {Object} map The map to query. 26382 * @param {string} key The reference key. 26383 * @returns {*} Returns the map data. 26384 */ 26385function getMapData(map, key) { 26386 var data = map.__data__; 26387 return isKeyable(key) 26388 ? data[typeof key == 'string' ? 'string' : 'hash'] 26389 : data.map; 26390} 26391 26392module.exports = getMapData; 26393 26394 26395/***/ }), 26396
vendor: 990 bytes, lines 26397-26431
26397/***/ "./node_modules/lodash/_getMatchData.js": 26398/*!**********************************************!*\ 26399 !*** ./node_modules/lodash/_getMatchData.js ***! 26400 \**********************************************/ 26401/*! no static exports found */ 26402/***/ (function(module, exports, __webpack_require__) { 26403 26404var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"), 26405 keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); 26406 26407/** 26408 * Gets the property names, values, and compare flags of `object`. 26409 * 26410 * @private 26411 * @param {Object} object The object to query. 26412 * @returns {Array} Returns the match data of `object`. 26413 */ 26414function getMatchData(object) { 26415 var result = keys(object), 26416 length = result.length; 26417 26418 while (length--) { 26419 var key = result[length], 26420 value = object[key]; 26421 26422 result[length] = [key, value, isStrictComparable(value)]; 26423 } 26424 return result; 26425} 26426 26427module.exports = getMatchData; 26428 26429 26430/***/ }), 26431
vendor: 887 bytes, lines 26432-26459
26432/***/ "./node_modules/lodash/_getNative.js": 26433/*!*******************************************!*\ 26434 !*** ./node_modules/lodash/_getNative.js ***! 26435 \*******************************************/ 26436/*! no static exports found */ 26437/***/ (function(module, exports, __webpack_require__) { 26438 26439var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ "./node_modules/lodash/_baseIsNative.js"), 26440 getValue = __webpack_require__(/*! ./_getValue */ "./node_modules/lodash/_getValue.js"); 26441 26442/** 26443 * Gets the native function at `key` of `object`. 26444 * 26445 * @private 26446 * @param {Object} object The object to query. 26447 * @param {string} key The key of the method to get. 26448 * @returns {*} Returns the function if it's native, else `undefined`. 26449 */ 26450function getNative(object, key) { 26451 var value = getValue(object, key); 26452 return baseIsNative(value) ? value : undefined; 26453} 26454 26455module.exports = getNative; 26456 26457 26458/***/ }), 26459
vendor: 520 bytes, lines 26460-26476
26460/***/ "./node_modules/lodash/_getPrototype.js": 26461/*!**********************************************!*\ 26462 !*** ./node_modules/lodash/_getPrototype.js ***! 26463 \**********************************************/ 26464/*! no static exports found */ 26465/***/ (function(module, exports, __webpack_require__) { 26466 26467var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); 26468 26469/** Built-in value references. */ 26470var getPrototype = overArg(Object.getPrototypeOf, Object); 26471 26472module.exports = getPrototype; 26473 26474 26475/***/ }), 26476
vendor: 1,483 bytes, lines 26477-26533
26477/***/ "./node_modules/lodash/_getRawTag.js": 26478/*!*******************************************!*\ 26479 !*** ./node_modules/lodash/_getRawTag.js ***! 26480 \*******************************************/ 26481/*! no static exports found */ 26482/***/ (function(module, exports, __webpack_require__) { 26483 26484var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); 26485 26486/** Used for built-in method references. */ 26487var objectProto = Object.prototype; 26488 26489/** Used to check objects for own properties. */ 26490var hasOwnProperty = objectProto.hasOwnProperty; 26491 26492/** 26493 * Used to resolve the 26494 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 26495 * of values. 26496 */ 26497var nativeObjectToString = objectProto.toString; 26498 26499/** Built-in value references. */ 26500var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 26501 26502/** 26503 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 26504 * 26505 * @private 26506 * @param {*} value The value to query. 26507 * @returns {string} Returns the raw `toStringTag`. 26508 */ 26509function getRawTag(value) { 26510 var isOwn = hasOwnProperty.call(value, symToStringTag), 26511 tag = value[symToStringTag]; 26512 26513 try { 26514 value[symToStringTag] = undefined; 26515 var unmasked = true; 26516 } catch (e) {} 26517 26518 var result = nativeObjectToString.call(value); 26519 if (unmasked) { 26520 if (isOwn) { 26521 value[symToStringTag] = tag; 26522 } else { 26523 delete value[symToStringTag]; 26524 } 26525 } 26526 return result; 26527} 26528 26529module.exports = getRawTag; 26530 26531 26532/***/ }), 26533
vendor: 1,293 bytes, lines 26534-26574
26534/***/ "./node_modules/lodash/_getSymbols.js": 26535/*!********************************************!*\ 26536 !*** ./node_modules/lodash/_getSymbols.js ***! 26537 \********************************************/ 26538/*! no static exports found */ 26539/***/ (function(module, exports, __webpack_require__) { 26540 26541var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"), 26542 stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js"); 26543 26544/** Used for built-in method references. */ 26545var objectProto = Object.prototype; 26546 26547/** Built-in value references. */ 26548var propertyIsEnumerable = objectProto.propertyIsEnumerable; 26549 26550/* Built-in method references for those with the same name as other `lodash` methods. */ 26551var nativeGetSymbols = Object.getOwnPropertySymbols; 26552 26553/** 26554 * Creates an array of the own enumerable symbols of `object`. 26555 * 26556 * @private 26557 * @param {Object} object The object to query. 26558 * @returns {Array} Returns the array of symbols. 26559 */ 26560var getSymbols = !nativeGetSymbols ? stubArray : function(object) { 26561 if (object == null) { 26562 return []; 26563 } 26564 object = Object(object); 26565 return arrayFilter(nativeGetSymbols(object), function(symbol) { 26566 return propertyIsEnumerable.call(object, symbol); 26567 }); 26568}; 26569 26570module.exports = getSymbols; 26571 26572 26573/***/ }), 26574
vendor: 1,281 bytes, lines 26575-26610
26575/***/ "./node_modules/lodash/_getSymbolsIn.js": 26576/*!**********************************************!*\ 26577 !*** ./node_modules/lodash/_getSymbolsIn.js ***! 26578 \**********************************************/ 26579/*! no static exports found */ 26580/***/ (function(module, exports, __webpack_require__) { 26581 26582var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), 26583 getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), 26584 getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"), 26585 stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js"); 26586 26587/* Built-in method references for those with the same name as other `lodash` methods. */ 26588var nativeGetSymbols = Object.getOwnPropertySymbols; 26589 26590/** 26591 * Creates an array of the own and inherited enumerable symbols of `object`. 26592 * 26593 * @private 26594 * @param {Object} object The object to query. 26595 * @returns {Array} Returns the array of symbols. 26596 */ 26597var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { 26598 var result = []; 26599 while (object) { 26600 arrayPush(result, getSymbols(object)); 26601 object = getPrototype(object); 26602 } 26603 return result; 26604}; 26605 26606module.exports = getSymbolsIn; 26607 26608 26609/***/ }), 26610
vendor: 2,486 bytes, lines 26611-26679
26611/***/ "./node_modules/lodash/_getTag.js": 26612/*!****************************************!*\ 26613 !*** ./node_modules/lodash/_getTag.js ***! 26614 \****************************************/ 26615/*! no static exports found */ 26616/***/ (function(module, exports, __webpack_require__) { 26617 26618var DataView = __webpack_require__(/*! ./_DataView */ "./node_modules/lodash/_DataView.js"), 26619 Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), 26620 Promise = __webpack_require__(/*! ./_Promise */ "./node_modules/lodash/_Promise.js"), 26621 Set = __webpack_require__(/*! ./_Set */ "./node_modules/lodash/_Set.js"), 26622 WeakMap = __webpack_require__(/*! ./_WeakMap */ "./node_modules/lodash/_WeakMap.js"), 26623 baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 26624 toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js"); 26625 26626/** `Object#toString` result references. */ 26627var mapTag = '[object Map]', 26628 objectTag = '[object Object]', 26629 promiseTag = '[object Promise]', 26630 setTag = '[object Set]', 26631 weakMapTag = '[object WeakMap]'; 26632 26633var dataViewTag = '[object DataView]'; 26634 26635/** Used to detect maps, sets, and weakmaps. */ 26636var dataViewCtorString = toSource(DataView), 26637 mapCtorString = toSource(Map), 26638 promiseCtorString = toSource(Promise), 26639 setCtorString = toSource(Set), 26640 weakMapCtorString = toSource(WeakMap); 26641 26642/** 26643 * Gets the `toStringTag` of `value`. 26644 * 26645 * @private 26646 * @param {*} value The value to query. 26647 * @returns {string} Returns the `toStringTag`. 26648 */ 26649var getTag = baseGetTag; 26650 26651// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. 26652if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || 26653 (Map && getTag(new Map) != mapTag) || 26654 (Promise && getTag(Promise.resolve()) != promiseTag) || 26655 (Set && getTag(new Set) != setTag) || 26656 (WeakMap && getTag(new WeakMap) != weakMapTag)) { 26657 getTag = function(value) { 26658 var result = baseGetTag(value), 26659 Ctor = result == objectTag ? value.constructor : undefined, 26660 ctorString = Ctor ? toSource(Ctor) : ''; 26661 26662 if (ctorString) { 26663 switch (ctorString) { 26664 case dataViewCtorString: return dataViewTag; 26665 case mapCtorString: return mapTag; 26666 case promiseCtorString: return promiseTag; 26667 case setCtorString: return setTag; 26668 case weakMapCtorString: return weakMapTag; 26669 } 26670 } 26671 return result; 26672 }; 26673} 26674 26675module.exports = getTag; 26676 26677 26678/***/ }), 26679
vendor: 592 bytes, lines 26680-26703
26680/***/ "./node_modules/lodash/_getValue.js": 26681/*!******************************************!*\ 26682 !*** ./node_modules/lodash/_getValue.js ***! 26683 \******************************************/ 26684/*! no static exports found */ 26685/***/ (function(module, exports) { 26686 26687/** 26688 * Gets the value at `key` of `object`. 26689 * 26690 * @private 26691 * @param {Object} [object] The object to query. 26692 * @param {string} key The key of the property to get. 26693 * @returns {*} Returns the property value. 26694 */ 26695function getValue(object, key) { 26696 return object == null ? undefined : object[key]; 26697} 26698 26699module.exports = getValue; 26700 26701 26702/***/ }), 26703
vendor: 770 bytes, lines 26704-26731
26704/***/ "./node_modules/lodash/_getWrapDetails.js": 26705/*!************************************************!*\ 26706 !*** ./node_modules/lodash/_getWrapDetails.js ***! 26707 \************************************************/ 26708/*! no static exports found */ 26709/***/ (function(module, exports) { 26710 26711/** Used to match wrap detail comments. */ 26712var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, 26713 reSplitDetails = /,? & /; 26714 26715/** 26716 * Extracts wrapper details from the `source` body comment. 26717 * 26718 * @private 26719 * @param {string} source The source to inspect. 26720 * @returns {Array} Returns the wrapper details. 26721 */ 26722function getWrapDetails(source) { 26723 var match = source.match(reWrapDetails); 26724 return match ? match[1].split(reSplitDetails) : []; 26725} 26726 26727module.exports = getWrapDetails; 26728 26729 26730/***/ }), 26731
vendor: 1,688 bytes, lines 26732-26781
26732/***/ "./node_modules/lodash/_hasPath.js": 26733/*!*****************************************!*\ 26734 !*** ./node_modules/lodash/_hasPath.js ***! 26735 \*****************************************/ 26736/*! no static exports found */ 26737/***/ (function(module, exports, __webpack_require__) { 26738 26739var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), 26740 isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), 26741 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 26742 isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"), 26743 isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"), 26744 toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); 26745 26746/** 26747 * Checks if `path` exists on `object`. 26748 * 26749 * @private 26750 * @param {Object} object The object to query. 26751 * @param {Array|string} path The path to check. 26752 * @param {Function} hasFunc The function to check properties. 26753 * @returns {boolean} Returns `true` if `path` exists, else `false`. 26754 */ 26755function hasPath(object, path, hasFunc) { 26756 path = castPath(path, object); 26757 26758 var index = -1, 26759 length = path.length, 26760 result = false; 26761 26762 while (++index < length) { 26763 var key = toKey(path[index]); 26764 if (!(result = object != null && hasFunc(object, key))) { 26765 break; 26766 } 26767 object = object[key]; 26768 } 26769 if (result || ++index != length) { 26770 return result; 26771 } 26772 length = object == null ? 0 : object.length; 26773 return !!length && isLength(length) && isIndex(key, length) && 26774 (isArray(object) || isArguments(object)); 26775} 26776 26777module.exports = hasPath; 26778 26779 26780/***/ }), 26781
vendor: 631 bytes, lines 26782-26807
26782/***/ "./node_modules/lodash/_hashClear.js": 26783/*!*******************************************!*\ 26784 !*** ./node_modules/lodash/_hashClear.js ***! 26785 \*******************************************/ 26786/*! no static exports found */ 26787/***/ (function(module, exports, __webpack_require__) { 26788 26789var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); 26790 26791/** 26792 * Removes all key-value entries from the hash. 26793 * 26794 * @private 26795 * @name clear 26796 * @memberOf Hash 26797 */ 26798function hashClear() { 26799 this.__data__ = nativeCreate ? nativeCreate(null) : {}; 26800 this.size = 0; 26801} 26802 26803module.exports = hashClear; 26804 26805 26806/***/ }), 26807
vendor: 720 bytes, lines 26808-26835
26808/***/ "./node_modules/lodash/_hashDelete.js": 26809/*!********************************************!*\ 26810 !*** ./node_modules/lodash/_hashDelete.js ***! 26811 \********************************************/ 26812/*! no static exports found */ 26813/***/ (function(module, exports) { 26814 26815/** 26816 * Removes `key` and its value from the hash. 26817 * 26818 * @private 26819 * @name delete 26820 * @memberOf Hash 26821 * @param {Object} hash The hash to modify. 26822 * @param {string} key The key of the value to remove. 26823 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 26824 */ 26825function hashDelete(key) { 26826 var result = this.has(key) && delete this.__data__[key]; 26827 this.size -= result ? 1 : 0; 26828 return result; 26829} 26830 26831module.exports = hashDelete; 26832 26833 26834/***/ }), 26835
vendor: 1,114 bytes, lines 26836-26876
26836/***/ "./node_modules/lodash/_hashGet.js": 26837/*!*****************************************!*\ 26838 !*** ./node_modules/lodash/_hashGet.js ***! 26839 \*****************************************/ 26840/*! no static exports found */ 26841/***/ (function(module, exports, __webpack_require__) { 26842 26843var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); 26844 26845/** Used to stand-in for `undefined` hash values. */ 26846var HASH_UNDEFINED = '__lodash_hash_undefined__'; 26847 26848/** Used for built-in method references. */ 26849var objectProto = Object.prototype; 26850 26851/** Used to check objects for own properties. */ 26852var hasOwnProperty = objectProto.hasOwnProperty; 26853 26854/** 26855 * Gets the hash value for `key`. 26856 * 26857 * @private 26858 * @name get 26859 * @memberOf Hash 26860 * @param {string} key The key of the value to get. 26861 * @returns {*} Returns the entry value. 26862 */ 26863function hashGet(key) { 26864 var data = this.__data__; 26865 if (nativeCreate) { 26866 var result = data[key]; 26867 return result === HASH_UNDEFINED ? undefined : result; 26868 } 26869 return hasOwnProperty.call(data, key) ? data[key] : undefined; 26870} 26871 26872module.exports = hashGet; 26873 26874 26875/***/ }), 26876
vendor: 968 bytes, lines 26877-26910
26877/***/ "./node_modules/lodash/_hashHas.js": 26878/*!*****************************************!*\ 26879 !*** ./node_modules/lodash/_hashHas.js ***! 26880 \*****************************************/ 26881/*! no static exports found */ 26882/***/ (function(module, exports, __webpack_require__) { 26883 26884var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); 26885 26886/** Used for built-in method references. */ 26887var objectProto = Object.prototype; 26888 26889/** Used to check objects for own properties. */ 26890var hasOwnProperty = objectProto.hasOwnProperty; 26891 26892/** 26893 * Checks if a hash value for `key` exists. 26894 * 26895 * @private 26896 * @name has 26897 * @memberOf Hash 26898 * @param {string} key The key of the entry to check. 26899 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 26900 */ 26901function hashHas(key) { 26902 var data = this.__data__; 26903 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); 26904} 26905 26906module.exports = hashHas; 26907 26908 26909/***/ }), 26910
vendor: 940 bytes, lines 26911-26944
26911/***/ "./node_modules/lodash/_hashSet.js": 26912/*!*****************************************!*\ 26913 !*** ./node_modules/lodash/_hashSet.js ***! 26914 \*****************************************/ 26915/*! no static exports found */ 26916/***/ (function(module, exports, __webpack_require__) { 26917 26918var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); 26919 26920/** Used to stand-in for `undefined` hash values. */ 26921var HASH_UNDEFINED = '__lodash_hash_undefined__'; 26922 26923/** 26924 * Sets the hash `key` to `value`. 26925 * 26926 * @private 26927 * @name set 26928 * @memberOf Hash 26929 * @param {string} key The key of the value to set. 26930 * @param {*} value The value to set. 26931 * @returns {Object} Returns the hash instance. 26932 */ 26933function hashSet(key, value) { 26934 var data = this.__data__; 26935 this.size += this.has(key) ? 0 : 1; 26936 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; 26937 return this; 26938} 26939 26940module.exports = hashSet; 26941 26942 26943/***/ }), 26944
vendor: 983 bytes, lines 26945-26981
26945/***/ "./node_modules/lodash/_initCloneArray.js": 26946/*!************************************************!*\ 26947 !*** ./node_modules/lodash/_initCloneArray.js ***! 26948 \************************************************/ 26949/*! no static exports found */ 26950/***/ (function(module, exports) { 26951 26952/** Used for built-in method references. */ 26953var objectProto = Object.prototype; 26954 26955/** Used to check objects for own properties. */ 26956var hasOwnProperty = objectProto.hasOwnProperty; 26957 26958/** 26959 * Initializes an array clone. 26960 * 26961 * @private 26962 * @param {Array} array The array to clone. 26963 * @returns {Array} Returns the initialized clone. 26964 */ 26965function initCloneArray(array) { 26966 var length = array.length, 26967 result = new array.constructor(length); 26968 26969 // Add properties assigned by `RegExp#exec`. 26970 if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 26971 result.index = array.index; 26972 result.input = array.input; 26973 } 26974 return result; 26975} 26976 26977module.exports = initCloneArray; 26978 26979 26980/***/ }), 26981
vendor: 2,869 bytes, lines 26982-27069
26982/***/ "./node_modules/lodash/_initCloneByTag.js": 26983/*!************************************************!*\ 26984 !*** ./node_modules/lodash/_initCloneByTag.js ***! 26985 \************************************************/ 26986/*! no static exports found */ 26987/***/ (function(module, exports, __webpack_require__) { 26988 26989var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"), 26990 cloneDataView = __webpack_require__(/*! ./_cloneDataView */ "./node_modules/lodash/_cloneDataView.js"), 26991 cloneRegExp = __webpack_require__(/*! ./_cloneRegExp */ "./node_modules/lodash/_cloneRegExp.js"), 26992 cloneSymbol = __webpack_require__(/*! ./_cloneSymbol */ "./node_modules/lodash/_cloneSymbol.js"), 26993 cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ "./node_modules/lodash/_cloneTypedArray.js"); 26994 26995/** `Object#toString` result references. */ 26996var boolTag = '[object Boolean]', 26997 dateTag = '[object Date]', 26998 mapTag = '[object Map]', 26999 numberTag = '[object Number]', 27000 regexpTag = '[object RegExp]', 27001 setTag = '[object Set]', 27002 stringTag = '[object String]', 27003 symbolTag = '[object Symbol]'; 27004 27005var arrayBufferTag = '[object ArrayBuffer]', 27006 dataViewTag = '[object DataView]', 27007 float32Tag = '[object Float32Array]', 27008 float64Tag = '[object Float64Array]', 27009 int8Tag = '[object Int8Array]', 27010 int16Tag = '[object Int16Array]', 27011 int32Tag = '[object Int32Array]', 27012 uint8Tag = '[object Uint8Array]', 27013 uint8ClampedTag = '[object Uint8ClampedArray]', 27014 uint16Tag = '[object Uint16Array]', 27015 uint32Tag = '[object Uint32Array]'; 27016 27017/** 27018 * Initializes an object clone based on its `toStringTag`. 27019 * 27020 * **Note:** This function only supports cloning values with tags of 27021 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. 27022 * 27023 * @private 27024 * @param {Object} object The object to clone. 27025 * @param {string} tag The `toStringTag` of the object to clone. 27026 * @param {boolean} [isDeep] Specify a deep clone. 27027 * @returns {Object} Returns the initialized clone. 27028 */ 27029function initCloneByTag(object, tag, isDeep) { 27030 var Ctor = object.constructor; 27031 switch (tag) { 27032 case arrayBufferTag: 27033 return cloneArrayBuffer(object); 27034 27035 case boolTag: 27036 case dateTag: 27037 return new Ctor(+object); 27038 27039 case dataViewTag: 27040 return cloneDataView(object, isDeep); 27041 27042 case float32Tag: case float64Tag: 27043 case int8Tag: case int16Tag: case int32Tag: 27044 case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: 27045 return cloneTypedArray(object, isDeep); 27046 27047 case mapTag: 27048 return new Ctor; 27049 27050 case numberTag: 27051 case stringTag: 27052 return new Ctor(object); 27053 27054 case regexpTag: 27055 return cloneRegExp(object); 27056 27057 case setTag: 27058 return new Ctor; 27059 27060 case symbolTag: 27061 return cloneSymbol(object); 27062 } 27063} 27064 27065module.exports = initCloneByTag; 27066 27067 27068/***/ }), 27069
vendor: 973 bytes, lines 27070-27098
27070/***/ "./node_modules/lodash/_initCloneObject.js": 27071/*!*************************************************!*\ 27072 !*** ./node_modules/lodash/_initCloneObject.js ***! 27073 \*************************************************/ 27074/*! no static exports found */ 27075/***/ (function(module, exports, __webpack_require__) { 27076 27077var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), 27078 getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), 27079 isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"); 27080 27081/** 27082 * Initializes an object clone. 27083 * 27084 * @private 27085 * @param {Object} object The object to clone. 27086 * @returns {Object} Returns the initialized clone. 27087 */ 27088function initCloneObject(object) { 27089 return (typeof object.constructor == 'function' && !isPrototype(object)) 27090 ? baseCreate(getPrototype(object)) 27091 : {}; 27092} 27093 27094module.exports = initCloneObject; 27095 27096 27097/***/ }), 27098
vendor: 1,051 bytes, lines 27099-27132
27099/***/ "./node_modules/lodash/_insertWrapDetails.js": 27100/*!***************************************************!*\ 27101 !*** ./node_modules/lodash/_insertWrapDetails.js ***! 27102 \***************************************************/ 27103/*! no static exports found */ 27104/***/ (function(module, exports) { 27105 27106/** Used to match wrap detail comments. */ 27107var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; 27108 27109/** 27110 * Inserts wrapper `details` in a comment at the top of the `source` body. 27111 * 27112 * @private 27113 * @param {string} source The source to modify. 27114 * @returns {Array} details The details to insert. 27115 * @returns {string} Returns the modified source. 27116 */ 27117function insertWrapDetails(source, details) { 27118 var length = details.length; 27119 if (!length) { 27120 return source; 27121 } 27122 var lastIndex = length - 1; 27123 details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; 27124 details = details.join(length > 2 ? ', ' : ' '); 27125 return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); 27126} 27127 27128module.exports = insertWrapDetails; 27129 27130 27131/***/ }), 27132
vendor: 1,076 bytes, lines 27133-27163
27133/***/ "./node_modules/lodash/_isFlattenable.js": 27134/*!***********************************************!*\ 27135 !*** ./node_modules/lodash/_isFlattenable.js ***! 27136 \***********************************************/ 27137/*! no static exports found */ 27138/***/ (function(module, exports, __webpack_require__) { 27139 27140var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 27141 isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), 27142 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"); 27143 27144/** Built-in value references. */ 27145var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; 27146 27147/** 27148 * Checks if `value` is a flattenable `arguments` object or array. 27149 * 27150 * @private 27151 * @param {*} value The value to check. 27152 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. 27153 */ 27154function isFlattenable(value) { 27155 return isArray(value) || isArguments(value) || 27156 !!(spreadableSymbol && value && value[spreadableSymbol]); 27157} 27158 27159module.exports = isFlattenable; 27160 27161 27162/***/ }), 27163
vendor: 1,022 bytes, lines 27164-27199
27164/***/ "./node_modules/lodash/_isIndex.js": 27165/*!*****************************************!*\ 27166 !*** ./node_modules/lodash/_isIndex.js ***! 27167 \*****************************************/ 27168/*! no static exports found */ 27169/***/ (function(module, exports) { 27170 27171/** Used as references for various `Number` constants. */ 27172var MAX_SAFE_INTEGER = 9007199254740991; 27173 27174/** Used to detect unsigned integer values. */ 27175var reIsUint = /^(?:0|[1-9]\d*)$/; 27176 27177/** 27178 * Checks if `value` is a valid array-like index. 27179 * 27180 * @private 27181 * @param {*} value The value to check. 27182 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 27183 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 27184 */ 27185function isIndex(value, length) { 27186 var type = typeof value; 27187 length = length == null ? MAX_SAFE_INTEGER : length; 27188 27189 return !!length && 27190 (type == 'number' || 27191 (type != 'symbol' && reIsUint.test(value))) && 27192 (value > -1 && value % 1 == 0 && value < length); 27193} 27194 27195module.exports = isIndex; 27196 27197 27198/***/ }), 27199
vendor: 1,261 bytes, lines 27200-27239
27200/***/ "./node_modules/lodash/_isKey.js": 27201/*!***************************************!*\ 27202 !*** ./node_modules/lodash/_isKey.js ***! 27203 \***************************************/ 27204/*! no static exports found */ 27205/***/ (function(module, exports, __webpack_require__) { 27206 27207var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 27208 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 27209 27210/** Used to match property names within property paths. */ 27211var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, 27212 reIsPlainProp = /^\w*$/; 27213 27214/** 27215 * Checks if `value` is a property name and not a property path. 27216 * 27217 * @private 27218 * @param {*} value The value to check. 27219 * @param {Object} [object] The object to query keys on. 27220 * @returns {boolean} Returns `true` if `value` is a property name, else `false`. 27221 */ 27222function isKey(value, object) { 27223 if (isArray(value)) { 27224 return false; 27225 } 27226 var type = typeof value; 27227 if (type == 'number' || type == 'symbol' || type == 'boolean' || 27228 value == null || isSymbol(value)) { 27229 return true; 27230 } 27231 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || 27232 (object != null && value in Object(object)); 27233} 27234 27235module.exports = isKey; 27236 27237 27238/***/ }), 27239
vendor: 701 bytes, lines 27240-27265
27240/***/ "./node_modules/lodash/_isKeyable.js": 27241/*!*******************************************!*\ 27242 !*** ./node_modules/lodash/_isKeyable.js ***! 27243 \*******************************************/ 27244/*! no static exports found */ 27245/***/ (function(module, exports) { 27246 27247/** 27248 * Checks if `value` is suitable for use as unique object key. 27249 * 27250 * @private 27251 * @param {*} value The value to check. 27252 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 27253 */ 27254function isKeyable(value) { 27255 var type = typeof value; 27256 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 27257 ? (value !== '__proto__') 27258 : (value === null); 27259} 27260 27261module.exports = isKeyable; 27262 27263 27264/***/ }), 27265
vendor: 1,233 bytes, lines 27266-27304
27266/***/ "./node_modules/lodash/_isLaziable.js": 27267/*!********************************************!*\ 27268 !*** ./node_modules/lodash/_isLaziable.js ***! 27269 \********************************************/ 27270/*! no static exports found */ 27271/***/ (function(module, exports, __webpack_require__) { 27272 27273var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"), 27274 getData = __webpack_require__(/*! ./_getData */ "./node_modules/lodash/_getData.js"), 27275 getFuncName = __webpack_require__(/*! ./_getFuncName */ "./node_modules/lodash/_getFuncName.js"), 27276 lodash = __webpack_require__(/*! ./wrapperLodash */ "./node_modules/lodash/wrapperLodash.js"); 27277 27278/** 27279 * Checks if `func` has a lazy counterpart. 27280 * 27281 * @private 27282 * @param {Function} func The function to check. 27283 * @returns {boolean} Returns `true` if `func` has a lazy counterpart, 27284 * else `false`. 27285 */ 27286function isLaziable(func) { 27287 var funcName = getFuncName(func), 27288 other = lodash[funcName]; 27289 27290 if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { 27291 return false; 27292 } 27293 if (func === other) { 27294 return true; 27295 } 27296 var data = getData(other); 27297 return !!data && func === data[0]; 27298} 27299 27300module.exports = isLaziable; 27301 27302 27303/***/ }), 27304
vendor: 908 bytes, lines 27305-27335
27305/***/ "./node_modules/lodash/_isMasked.js": 27306/*!******************************************!*\ 27307 !*** ./node_modules/lodash/_isMasked.js ***! 27308 \******************************************/ 27309/*! no static exports found */ 27310/***/ (function(module, exports, __webpack_require__) { 27311 27312var coreJsData = __webpack_require__(/*! ./_coreJsData */ "./node_modules/lodash/_coreJsData.js"); 27313 27314/** Used to detect methods masquerading as native. */ 27315var maskSrcKey = (function() { 27316 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 27317 return uid ? ('Symbol(src)_1.' + uid) : ''; 27318}()); 27319 27320/** 27321 * Checks if `func` has its source masked. 27322 * 27323 * @private 27324 * @param {Function} func The function to check. 27325 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 27326 */ 27327function isMasked(func) { 27328 return !!maskSrcKey && (maskSrcKey in func); 27329} 27330 27331module.exports = isMasked; 27332 27333 27334/***/ }), 27335
vendor: 759 bytes, lines 27336-27364
27336/***/ "./node_modules/lodash/_isPrototype.js": 27337/*!*********************************************!*\ 27338 !*** ./node_modules/lodash/_isPrototype.js ***! 27339 \*********************************************/ 27340/*! no static exports found */ 27341/***/ (function(module, exports) { 27342 27343/** Used for built-in method references. */ 27344var objectProto = Object.prototype; 27345 27346/** 27347 * Checks if `value` is likely a prototype object. 27348 * 27349 * @private 27350 * @param {*} value The value to check. 27351 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 27352 */ 27353function isPrototype(value) { 27354 var Ctor = value && value.constructor, 27355 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 27356 27357 return value === proto; 27358} 27359 27360module.exports = isPrototype; 27361 27362 27363/***/ }), 27364
vendor: 795 bytes, lines 27365-27390
27365/***/ "./node_modules/lodash/_isStrictComparable.js": 27366/*!****************************************************!*\ 27367 !*** ./node_modules/lodash/_isStrictComparable.js ***! 27368 \****************************************************/ 27369/*! no static exports found */ 27370/***/ (function(module, exports, __webpack_require__) { 27371 27372var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); 27373 27374/** 27375 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. 27376 * 27377 * @private 27378 * @param {*} value The value to check. 27379 * @returns {boolean} Returns `true` if `value` if suitable for strict 27380 * equality comparisons, else `false`. 27381 */ 27382function isStrictComparable(value) { 27383 return value === value && !isObject(value); 27384} 27385 27386module.exports = isStrictComparable; 27387 27388 27389/***/ }), 27390
vendor: 509 bytes, lines 27391-27414
27391/***/ "./node_modules/lodash/_listCacheClear.js": 27392/*!************************************************!*\ 27393 !*** ./node_modules/lodash/_listCacheClear.js ***! 27394 \************************************************/ 27395/*! no static exports found */ 27396/***/ (function(module, exports) { 27397 27398/** 27399 * Removes all key-value entries from the list cache. 27400 * 27401 * @private 27402 * @name clear 27403 * @memberOf ListCache 27404 */ 27405function listCacheClear() { 27406 this.__data__ = []; 27407 this.size = 0; 27408} 27409 27410module.exports = listCacheClear; 27411 27412 27413/***/ }), 27414
vendor: 1,149 bytes, lines 27415-27460
27415/***/ "./node_modules/lodash/_listCacheDelete.js": 27416/*!*************************************************!*\ 27417 !*** ./node_modules/lodash/_listCacheDelete.js ***! 27418 \*************************************************/ 27419/*! no static exports found */ 27420/***/ (function(module, exports, __webpack_require__) { 27421 27422var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); 27423 27424/** Used for built-in method references. */ 27425var arrayProto = Array.prototype; 27426 27427/** Built-in value references. */ 27428var splice = arrayProto.splice; 27429 27430/** 27431 * Removes `key` and its value from the list cache. 27432 * 27433 * @private 27434 * @name delete 27435 * @memberOf ListCache 27436 * @param {string} key The key of the value to remove. 27437 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 27438 */ 27439function listCacheDelete(key) { 27440 var data = this.__data__, 27441 index = assocIndexOf(data, key); 27442 27443 if (index < 0) { 27444 return false; 27445 } 27446 var lastIndex = data.length - 1; 27447 if (index == lastIndex) { 27448 data.pop(); 27449 } else { 27450 splice.call(data, index, 1); 27451 } 27452 --this.size; 27453 return true; 27454} 27455 27456module.exports = listCacheDelete; 27457 27458 27459/***/ }), 27460
vendor: 782 bytes, lines 27461-27490
27461/***/ "./node_modules/lodash/_listCacheGet.js": 27462/*!**********************************************!*\ 27463 !*** ./node_modules/lodash/_listCacheGet.js ***! 27464 \**********************************************/ 27465/*! no static exports found */ 27466/***/ (function(module, exports, __webpack_require__) { 27467 27468var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); 27469 27470/** 27471 * Gets the list cache value for `key`. 27472 * 27473 * @private 27474 * @name get 27475 * @memberOf ListCache 27476 * @param {string} key The key of the value to get. 27477 * @returns {*} Returns the entry value. 27478 */ 27479function listCacheGet(key) { 27480 var data = this.__data__, 27481 index = assocIndexOf(data, key); 27482 27483 return index < 0 ? undefined : data[index][1]; 27484} 27485 27486module.exports = listCacheGet; 27487 27488 27489/***/ }), 27490
vendor: 765 bytes, lines 27491-27517
27491/***/ "./node_modules/lodash/_listCacheHas.js": 27492/*!**********************************************!*\ 27493 !*** ./node_modules/lodash/_listCacheHas.js ***! 27494 \**********************************************/ 27495/*! no static exports found */ 27496/***/ (function(module, exports, __webpack_require__) { 27497 27498var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); 27499 27500/** 27501 * Checks if a list cache value for `key` exists. 27502 * 27503 * @private 27504 * @name has 27505 * @memberOf ListCache 27506 * @param {string} key The key of the entry to check. 27507 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 27508 */ 27509function listCacheHas(key) { 27510 return assocIndexOf(this.__data__, key) > -1; 27511} 27512 27513module.exports = listCacheHas; 27514 27515 27516/***/ }), 27517
vendor: 915 bytes, lines 27518-27554
27518/***/ "./node_modules/lodash/_listCacheSet.js": 27519/*!**********************************************!*\ 27520 !*** ./node_modules/lodash/_listCacheSet.js ***! 27521 \**********************************************/ 27522/*! no static exports found */ 27523/***/ (function(module, exports, __webpack_require__) { 27524 27525var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); 27526 27527/** 27528 * Sets the list cache `key` to `value`. 27529 * 27530 * @private 27531 * @name set 27532 * @memberOf ListCache 27533 * @param {string} key The key of the value to set. 27534 * @param {*} value The value to set. 27535 * @returns {Object} Returns the list cache instance. 27536 */ 27537function listCacheSet(key, value) { 27538 var data = this.__data__, 27539 index = assocIndexOf(data, key); 27540 27541 if (index < 0) { 27542 ++this.size; 27543 data.push([key, value]); 27544 } else { 27545 data[index][1] = value; 27546 } 27547 return this; 27548} 27549 27550module.exports = listCacheSet; 27551 27552 27553/***/ }), 27554
vendor: 855 bytes, lines 27555-27586
27555/***/ "./node_modules/lodash/_mapCacheClear.js": 27556/*!***********************************************!*\ 27557 !*** ./node_modules/lodash/_mapCacheClear.js ***! 27558 \***********************************************/ 27559/*! no static exports found */ 27560/***/ (function(module, exports, __webpack_require__) { 27561 27562var Hash = __webpack_require__(/*! ./_Hash */ "./node_modules/lodash/_Hash.js"), 27563 ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), 27564 Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"); 27565 27566/** 27567 * Removes all key-value entries from the map. 27568 * 27569 * @private 27570 * @name clear 27571 * @memberOf MapCache 27572 */ 27573function mapCacheClear() { 27574 this.size = 0; 27575 this.__data__ = { 27576 'hash': new Hash, 27577 'map': new (Map || ListCache), 27578 'string': new Hash 27579 }; 27580} 27581 27582module.exports = mapCacheClear; 27583 27584 27585/***/ }), 27586
vendor: 818 bytes, lines 27587-27615
27587/***/ "./node_modules/lodash/_mapCacheDelete.js": 27588/*!************************************************!*\ 27589 !*** ./node_modules/lodash/_mapCacheDelete.js ***! 27590 \************************************************/ 27591/*! no static exports found */ 27592/***/ (function(module, exports, __webpack_require__) { 27593 27594var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); 27595 27596/** 27597 * Removes `key` and its value from the map. 27598 * 27599 * @private 27600 * @name delete 27601 * @memberOf MapCache 27602 * @param {string} key The key of the value to remove. 27603 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 27604 */ 27605function mapCacheDelete(key) { 27606 var result = getMapData(this, key)['delete'](key); 27607 this.size -= result ? 1 : 0; 27608 return result; 27609} 27610 27611module.exports = mapCacheDelete; 27612 27613 27614/***/ }), 27615
vendor: 686 bytes, lines 27616-27642
27616/***/ "./node_modules/lodash/_mapCacheGet.js": 27617/*!*********************************************!*\ 27618 !*** ./node_modules/lodash/_mapCacheGet.js ***! 27619 \*********************************************/ 27620/*! no static exports found */ 27621/***/ (function(module, exports, __webpack_require__) { 27622 27623var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); 27624 27625/** 27626 * Gets the map value for `key`. 27627 * 27628 * @private 27629 * @name get 27630 * @memberOf MapCache 27631 * @param {string} key The key of the value to get. 27632 * @returns {*} Returns the entry value. 27633 */ 27634function mapCacheGet(key) { 27635 return getMapData(this, key).get(key); 27636} 27637 27638module.exports = mapCacheGet; 27639 27640 27641/***/ }), 27642
vendor: 738 bytes, lines 27643-27669
27643/***/ "./node_modules/lodash/_mapCacheHas.js": 27644/*!*********************************************!*\ 27645 !*** ./node_modules/lodash/_mapCacheHas.js ***! 27646 \*********************************************/ 27647/*! no static exports found */ 27648/***/ (function(module, exports, __webpack_require__) { 27649 27650var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); 27651 27652/** 27653 * Checks if a map value for `key` exists. 27654 * 27655 * @private 27656 * @name has 27657 * @memberOf MapCache 27658 * @param {string} key The key of the entry to check. 27659 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 27660 */ 27661function mapCacheHas(key) { 27662 return getMapData(this, key).has(key); 27663} 27664 27665module.exports = mapCacheHas; 27666 27667 27668/***/ }), 27669
vendor: 845 bytes, lines 27670-27702
27670/***/ "./node_modules/lodash/_mapCacheSet.js": 27671/*!*********************************************!*\ 27672 !*** ./node_modules/lodash/_mapCacheSet.js ***! 27673 \*********************************************/ 27674/*! no static exports found */ 27675/***/ (function(module, exports, __webpack_require__) { 27676 27677var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); 27678 27679/** 27680 * Sets the map `key` to `value`. 27681 * 27682 * @private 27683 * @name set 27684 * @memberOf MapCache 27685 * @param {string} key The key of the value to set. 27686 * @param {*} value The value to set. 27687 * @returns {Object} Returns the map cache instance. 27688 */ 27689function mapCacheSet(key, value) { 27690 var data = getMapData(this, key), 27691 size = data.size; 27692 27693 data.set(key, value); 27694 this.size += data.size == size ? 0 : 1; 27695 return this; 27696} 27697 27698module.exports = mapCacheSet; 27699 27700 27701/***/ }), 27702
vendor: 638 bytes, lines 27703-27731
27703/***/ "./node_modules/lodash/_mapToArray.js": 27704/*!********************************************!*\ 27705 !*** ./node_modules/lodash/_mapToArray.js ***! 27706 \********************************************/ 27707/*! no static exports found */ 27708/***/ (function(module, exports) { 27709 27710/** 27711 * Converts `map` to its key-value pairs. 27712 * 27713 * @private 27714 * @param {Object} map The map to convert. 27715 * @returns {Array} Returns the key-value pairs. 27716 */ 27717function mapToArray(map) { 27718 var index = -1, 27719 result = Array(map.size); 27720 27721 map.forEach(function(value, key) { 27722 result[++index] = [key, value]; 27723 }); 27724 return result; 27725} 27726 27727module.exports = mapToArray; 27728 27729 27730/***/ }), 27731
vendor: 901 bytes, lines 27732-27762
27732/***/ "./node_modules/lodash/_matchesStrictComparable.js": 27733/*!*********************************************************!*\ 27734 !*** ./node_modules/lodash/_matchesStrictComparable.js ***! 27735 \*********************************************************/ 27736/*! no static exports found */ 27737/***/ (function(module, exports) { 27738 27739/** 27740 * A specialized version of `matchesProperty` for source values suitable 27741 * for strict equality comparisons, i.e. `===`. 27742 * 27743 * @private 27744 * @param {string} key The key of the property to get. 27745 * @param {*} srcValue The value to match. 27746 * @returns {Function} Returns the new spec function. 27747 */ 27748function matchesStrictComparable(key, srcValue) { 27749 return function(object) { 27750 if (object == null) { 27751 return false; 27752 } 27753 return object[key] === srcValue && 27754 (srcValue !== undefined || (key in Object(object))); 27755 }; 27756} 27757 27758module.exports = matchesStrictComparable; 27759 27760 27761/***/ }), 27762
vendor: 993 bytes, lines 27763-27799
27763/***/ "./node_modules/lodash/_memoizeCapped.js": 27764/*!***********************************************!*\ 27765 !*** ./node_modules/lodash/_memoizeCapped.js ***! 27766 \***********************************************/ 27767/*! no static exports found */ 27768/***/ (function(module, exports, __webpack_require__) { 27769 27770var memoize = __webpack_require__(/*! ./memoize */ "./node_modules/lodash/memoize.js"); 27771 27772/** Used as the maximum memoize cache size. */ 27773var MAX_MEMOIZE_SIZE = 500; 27774 27775/** 27776 * A specialized version of `_.memoize` which clears the memoized function's 27777 * cache when it exceeds `MAX_MEMOIZE_SIZE`. 27778 * 27779 * @private 27780 * @param {Function} func The function to have its output memoized. 27781 * @returns {Function} Returns the new memoized function. 27782 */ 27783function memoizeCapped(func) { 27784 var result = memoize(func, function(key) { 27785 if (cache.size === MAX_MEMOIZE_SIZE) { 27786 cache.clear(); 27787 } 27788 return key; 27789 }); 27790 27791 var cache = result.cache; 27792 return result; 27793} 27794 27795module.exports = memoizeCapped; 27796 27797 27798/***/ }), 27799
vendor: 3,606 bytes, lines 27800-27900
27800/***/ "./node_modules/lodash/_mergeData.js": 27801/*!*******************************************!*\ 27802 !*** ./node_modules/lodash/_mergeData.js ***! 27803 \*******************************************/ 27804/*! no static exports found */ 27805/***/ (function(module, exports, __webpack_require__) { 27806 27807var composeArgs = __webpack_require__(/*! ./_composeArgs */ "./node_modules/lodash/_composeArgs.js"), 27808 composeArgsRight = __webpack_require__(/*! ./_composeArgsRight */ "./node_modules/lodash/_composeArgsRight.js"), 27809 replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js"); 27810 27811/** Used as the internal argument placeholder. */ 27812var PLACEHOLDER = '__lodash_placeholder__'; 27813 27814/** Used to compose bitmasks for function metadata. */ 27815var WRAP_BIND_FLAG = 1, 27816 WRAP_BIND_KEY_FLAG = 2, 27817 WRAP_CURRY_BOUND_FLAG = 4, 27818 WRAP_CURRY_FLAG = 8, 27819 WRAP_ARY_FLAG = 128, 27820 WRAP_REARG_FLAG = 256; 27821 27822/* Built-in method references for those with the same name as other `lodash` methods. */ 27823var nativeMin = Math.min; 27824 27825/** 27826 * Merges the function metadata of `source` into `data`. 27827 * 27828 * Merging metadata reduces the number of wrappers used to invoke a function. 27829 * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` 27830 * may be applied regardless of execution order. Methods like `_.ary` and 27831 * `_.rearg` modify function arguments, making the order in which they are 27832 * executed important, preventing the merging of metadata. However, we make 27833 * an exception for a safe combined case where curried functions have `_.ary` 27834 * and or `_.rearg` applied. 27835 * 27836 * @private 27837 * @param {Array} data The destination metadata. 27838 * @param {Array} source The source metadata. 27839 * @returns {Array} Returns `data`. 27840 */ 27841function mergeData(data, source) { 27842 var bitmask = data[1], 27843 srcBitmask = source[1], 27844 newBitmask = bitmask | srcBitmask, 27845 isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); 27846 27847 var isCombo = 27848 ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || 27849 ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || 27850 ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); 27851 27852 // Exit early if metadata can't be merged. 27853 if (!(isCommon || isCombo)) { 27854 return data; 27855 } 27856 // Use source `thisArg` if available. 27857 if (srcBitmask & WRAP_BIND_FLAG) { 27858 data[2] = source[2]; 27859 // Set when currying a bound function. 27860 newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; 27861 } 27862 // Compose partial arguments. 27863 var value = source[3]; 27864 if (value) { 27865 var partials = data[3]; 27866 data[3] = partials ? composeArgs(partials, value, source[4]) : value; 27867 data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; 27868 } 27869 // Compose partial right arguments. 27870 value = source[5]; 27871 if (value) { 27872 partials = data[5]; 27873 data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; 27874 data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; 27875 } 27876 // Use source `argPos` if available. 27877 value = source[7]; 27878 if (value) { 27879 data[7] = value; 27880 } 27881 // Use source `ary` if it's smaller. 27882 if (srcBitmask & WRAP_ARY_FLAG) { 27883 data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); 27884 } 27885 // Use source `arity` if one is not provided. 27886 if (data[9] == null) { 27887 data[9] = source[9]; 27888 } 27889 // Use source `func` and merge bitmasks. 27890 data[0] = source[0]; 27891 data[1] = newBitmask; 27892 27893 return data; 27894} 27895 27896module.exports = mergeData; 27897 27898 27899/***/ }), 27900
vendor: 480 bytes, lines 27901-27917
27901/***/ "./node_modules/lodash/_metaMap.js": 27902/*!*****************************************!*\ 27903 !*** ./node_modules/lodash/_metaMap.js ***! 27904 \*****************************************/ 27905/*! no static exports found */ 27906/***/ (function(module, exports, __webpack_require__) { 27907 27908var WeakMap = __webpack_require__(/*! ./_WeakMap */ "./node_modules/lodash/_WeakMap.js"); 27909 27910/** Used to store function metadata. */ 27911var metaMap = WeakMap && new WeakMap; 27912 27913module.exports = metaMap; 27914 27915 27916/***/ }), 27917
vendor: 546 bytes, lines 27918-27934
27918/***/ "./node_modules/lodash/_nativeCreate.js": 27919/*!**********************************************!*\ 27920 !*** ./node_modules/lodash/_nativeCreate.js ***! 27921 \**********************************************/ 27922/*! no static exports found */ 27923/***/ (function(module, exports, __webpack_require__) { 27924 27925var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); 27926 27927/* Built-in method references that are verified to be native. */ 27928var nativeCreate = getNative(Object, 'create'); 27929 27930module.exports = nativeCreate; 27931 27932 27933/***/ }), 27934
vendor: 553 bytes, lines 27935-27951
27935/***/ "./node_modules/lodash/_nativeKeys.js": 27936/*!********************************************!*\ 27937 !*** ./node_modules/lodash/_nativeKeys.js ***! 27938 \********************************************/ 27939/*! no static exports found */ 27940/***/ (function(module, exports, __webpack_require__) { 27941 27942var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); 27943 27944/* Built-in method references for those with the same name as other `lodash` methods. */ 27945var nativeKeys = overArg(Object.keys, Object); 27946 27947module.exports = nativeKeys; 27948 27949 27950/***/ }), 27951
vendor: 773 bytes, lines 27952-27982
27952/***/ "./node_modules/lodash/_nativeKeysIn.js": 27953/*!**********************************************!*\ 27954 !*** ./node_modules/lodash/_nativeKeysIn.js ***! 27955 \**********************************************/ 27956/*! no static exports found */ 27957/***/ (function(module, exports) { 27958 27959/** 27960 * This function is like 27961 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 27962 * except that it includes inherited enumerable properties. 27963 * 27964 * @private 27965 * @param {Object} object The object to query. 27966 * @returns {Array} Returns the array of property names. 27967 */ 27968function nativeKeysIn(object) { 27969 var result = []; 27970 if (object != null) { 27971 for (var key in Object(object)) { 27972 result.push(key); 27973 } 27974 } 27975 return result; 27976} 27977 27978module.exports = nativeKeysIn; 27979 27980 27981/***/ }), 27982
vendor: 1,516 bytes, lines 27983-28024
27983/***/ "./node_modules/lodash/_nodeUtil.js": 27984/*!******************************************!*\ 27985 !*** ./node_modules/lodash/_nodeUtil.js ***! 27986 \******************************************/ 27987/*! no static exports found */ 27988/***/ (function(module, exports, __webpack_require__) { 27989 27990/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); 27991 27992/** Detect free variable `exports`. */ 27993var freeExports = true && exports && !exports.nodeType && exports; 27994 27995/** Detect free variable `module`. */ 27996var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 27997 27998/** Detect the popular CommonJS extension `module.exports`. */ 27999var moduleExports = freeModule && freeModule.exports === freeExports; 28000 28001/** Detect free variable `process` from Node.js. */ 28002var freeProcess = moduleExports && freeGlobal.process; 28003 28004/** Used to access faster Node.js helpers. */ 28005var nodeUtil = (function() { 28006 try { 28007 // Use `util.types` for Node.js 10+. 28008 var types = freeModule && freeModule.require && freeModule.require('util').types; 28009 28010 if (types) { 28011 return types; 28012 } 28013 28014 // Legacy `process.binding('util')` for Node.js < 10. 28015 return freeProcess && freeProcess.binding && freeProcess.binding('util'); 28016 } catch (e) {} 28017}()); 28018 28019module.exports = nodeUtil; 28020 28021/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) 28022 28023/***/ }), 28024
vendor: 856 bytes, lines 28025-28057
28025/***/ "./node_modules/lodash/_objectToString.js": 28026/*!************************************************!*\ 28027 !*** ./node_modules/lodash/_objectToString.js ***! 28028 \************************************************/ 28029/*! no static exports found */ 28030/***/ (function(module, exports) { 28031 28032/** Used for built-in method references. */ 28033var objectProto = Object.prototype; 28034 28035/** 28036 * Used to resolve the 28037 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 28038 * of values. 28039 */ 28040var nativeObjectToString = objectProto.toString; 28041 28042/** 28043 * Converts `value` to a string using `Object.prototype.toString`. 28044 * 28045 * @private 28046 * @param {*} value The value to convert. 28047 * @returns {string} Returns the converted string. 28048 */ 28049function objectToString(value) { 28050 return nativeObjectToString.call(value); 28051} 28052 28053module.exports = objectToString; 28054 28055 28056/***/ }), 28057
vendor: 645 bytes, lines 28058-28083
28058/***/ "./node_modules/lodash/_overArg.js": 28059/*!*****************************************!*\ 28060 !*** ./node_modules/lodash/_overArg.js ***! 28061 \*****************************************/ 28062/*! no static exports found */ 28063/***/ (function(module, exports) { 28064 28065/** 28066 * Creates a unary function that invokes `func` with its argument transformed. 28067 * 28068 * @private 28069 * @param {Function} func The function to wrap. 28070 * @param {Function} transform The argument transform. 28071 * @returns {Function} Returns the new function. 28072 */ 28073function overArg(func, transform) { 28074 return function(arg) { 28075 return func(transform(arg)); 28076 }; 28077} 28078 28079module.exports = overArg; 28080 28081 28082/***/ }), 28083
vendor: 1,435 bytes, lines 28084-28130
28084/***/ "./node_modules/lodash/_overRest.js": 28085/*!******************************************!*\ 28086 !*** ./node_modules/lodash/_overRest.js ***! 28087 \******************************************/ 28088/*! no static exports found */ 28089/***/ (function(module, exports, __webpack_require__) { 28090 28091var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"); 28092 28093/* Built-in method references for those with the same name as other `lodash` methods. */ 28094var nativeMax = Math.max; 28095 28096/** 28097 * A specialized version of `baseRest` which transforms the rest array. 28098 * 28099 * @private 28100 * @param {Function} func The function to apply a rest parameter to. 28101 * @param {number} [start=func.length-1] The start position of the rest parameter. 28102 * @param {Function} transform The rest array transform. 28103 * @returns {Function} Returns the new function. 28104 */ 28105function overRest(func, start, transform) { 28106 start = nativeMax(start === undefined ? (func.length - 1) : start, 0); 28107 return function() { 28108 var args = arguments, 28109 index = -1, 28110 length = nativeMax(args.length - start, 0), 28111 array = Array(length); 28112 28113 while (++index < length) { 28114 array[index] = args[start + index]; 28115 } 28116 index = -1; 28117 var otherArgs = Array(start + 1); 28118 while (++index < start) { 28119 otherArgs[index] = args[index]; 28120 } 28121 otherArgs[start] = transform(array); 28122 return apply(func, this, otherArgs); 28123 }; 28124} 28125 28126module.exports = overRest; 28127 28128 28129/***/ }), 28130
vendor: 369 bytes, lines 28131-28145
28131/***/ "./node_modules/lodash/_realNames.js": 28132/*!*******************************************!*\ 28133 !*** ./node_modules/lodash/_realNames.js ***! 28134 \*******************************************/ 28135/*! no static exports found */ 28136/***/ (function(module, exports) { 28137 28138/** Used to lookup unminified function names. */ 28139var realNames = {}; 28140 28141module.exports = realNames; 28142 28143 28144/***/ }), 28145
vendor: 1,292 bytes, lines 28146-28185
28146/***/ "./node_modules/lodash/_reorder.js": 28147/*!*****************************************!*\ 28148 !*** ./node_modules/lodash/_reorder.js ***! 28149 \*****************************************/ 28150/*! no static exports found */ 28151/***/ (function(module, exports, __webpack_require__) { 28152 28153var copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"), 28154 isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"); 28155 28156/* Built-in method references for those with the same name as other `lodash` methods. */ 28157var nativeMin = Math.min; 28158 28159/** 28160 * Reorder `array` according to the specified indexes where the element at 28161 * the first index is assigned as the first element, the element at 28162 * the second index is assigned as the second element, and so on. 28163 * 28164 * @private 28165 * @param {Array} array The array to reorder. 28166 * @param {Array} indexes The arranged array indexes. 28167 * @returns {Array} Returns `array`. 28168 */ 28169function reorder(array, indexes) { 28170 var arrLength = array.length, 28171 length = nativeMin(indexes.length, arrLength), 28172 oldArray = copyArray(array); 28173 28174 while (length--) { 28175 var index = indexes[length]; 28176 array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; 28177 } 28178 return array; 28179} 28180 28181module.exports = reorder; 28182 28183 28184/***/ }), 28185
vendor: 1,076 bytes, lines 28186-28225
28186/***/ "./node_modules/lodash/_replaceHolders.js": 28187/*!************************************************!*\ 28188 !*** ./node_modules/lodash/_replaceHolders.js ***! 28189 \************************************************/ 28190/*! no static exports found */ 28191/***/ (function(module, exports) { 28192 28193/** Used as the internal argument placeholder. */ 28194var PLACEHOLDER = '__lodash_placeholder__'; 28195 28196/** 28197 * Replaces all `placeholder` elements in `array` with an internal placeholder 28198 * and returns an array of their indexes. 28199 * 28200 * @private 28201 * @param {Array} array The array to modify. 28202 * @param {*} placeholder The placeholder to replace. 28203 * @returns {Array} Returns the new array of placeholder indexes. 28204 */ 28205function replaceHolders(array, placeholder) { 28206 var index = -1, 28207 length = array.length, 28208 resIndex = 0, 28209 result = []; 28210 28211 while (++index < length) { 28212 var value = array[index]; 28213 if (value === placeholder || value === PLACEHOLDER) { 28214 array[index] = PLACEHOLDER; 28215 result[resIndex++] = index; 28216 } 28217 } 28218 return result; 28219} 28220 28221module.exports = replaceHolders; 28222 28223 28224/***/ }), 28225
vendor: 628 bytes, lines 28226-28245
28226/***/ "./node_modules/lodash/_root.js": 28227/*!**************************************!*\ 28228 !*** ./node_modules/lodash/_root.js ***! 28229 \**************************************/ 28230/*! no static exports found */ 28231/***/ (function(module, exports, __webpack_require__) { 28232 28233var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); 28234 28235/** Detect free variable `self`. */ 28236var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 28237 28238/** Used as a reference to the global object. */ 28239var root = freeGlobal || freeSelf || Function('return this')(); 28240 28241module.exports = root; 28242 28243 28244/***/ }), 28245
vendor: 703 bytes, lines 28246-28275
28246/***/ "./node_modules/lodash/_setCacheAdd.js": 28247/*!*********************************************!*\ 28248 !*** ./node_modules/lodash/_setCacheAdd.js ***! 28249 \*********************************************/ 28250/*! no static exports found */ 28251/***/ (function(module, exports) { 28252 28253/** Used to stand-in for `undefined` hash values. */ 28254var HASH_UNDEFINED = '__lodash_hash_undefined__'; 28255 28256/** 28257 * Adds `value` to the array cache. 28258 * 28259 * @private 28260 * @name add 28261 * @memberOf SetCache 28262 * @alias push 28263 * @param {*} value The value to cache. 28264 * @returns {Object} Returns the cache instance. 28265 */ 28266function setCacheAdd(value) { 28267 this.__data__.set(value, HASH_UNDEFINED); 28268 return this; 28269} 28270 28271module.exports = setCacheAdd; 28272 28273 28274/***/ }), 28275
vendor: 595 bytes, lines 28276-28300
28276/***/ "./node_modules/lodash/_setCacheHas.js": 28277/*!*********************************************!*\ 28278 !*** ./node_modules/lodash/_setCacheHas.js ***! 28279 \*********************************************/ 28280/*! no static exports found */ 28281/***/ (function(module, exports) { 28282 28283/** 28284 * Checks if `value` is in the array cache. 28285 * 28286 * @private 28287 * @name has 28288 * @memberOf SetCache 28289 * @param {*} value The value to search for. 28290 * @returns {number} Returns `true` if `value` is found, else `false`. 28291 */ 28292function setCacheHas(value) { 28293 return this.__data__.has(value); 28294} 28295 28296module.exports = setCacheHas; 28297 28298 28299/***/ }), 28300
vendor: 1,040 bytes, lines 28301-28331
28301/***/ "./node_modules/lodash/_setData.js": 28302/*!*****************************************!*\ 28303 !*** ./node_modules/lodash/_setData.js ***! 28304 \*****************************************/ 28305/*! no static exports found */ 28306/***/ (function(module, exports, __webpack_require__) { 28307 28308var baseSetData = __webpack_require__(/*! ./_baseSetData */ "./node_modules/lodash/_baseSetData.js"), 28309 shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js"); 28310 28311/** 28312 * Sets metadata for `func`. 28313 * 28314 * **Note:** If this function becomes hot, i.e. is invoked a lot in a short 28315 * period of time, it will trip its breaker and transition to an identity 28316 * function to avoid garbage collection pauses in V8. See 28317 * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) 28318 * for more details. 28319 * 28320 * @private 28321 * @param {Function} func The function to associate metadata with. 28322 * @param {*} data The metadata. 28323 * @returns {Function} Returns `func`. 28324 */ 28325var setData = shortOut(baseSetData); 28326 28327module.exports = setData; 28328 28329 28330/***/ }), 28331
vendor: 620 bytes, lines 28332-28360
28332/***/ "./node_modules/lodash/_setToArray.js": 28333/*!********************************************!*\ 28334 !*** ./node_modules/lodash/_setToArray.js ***! 28335 \********************************************/ 28336/*! no static exports found */ 28337/***/ (function(module, exports) { 28338 28339/** 28340 * Converts `set` to an array of its values. 28341 * 28342 * @private 28343 * @param {Object} set The set to convert. 28344 * @returns {Array} Returns the values. 28345 */ 28346function setToArray(set) { 28347 var index = -1, 28348 result = Array(set.size); 28349 28350 set.forEach(function(value) { 28351 result[++index] = value; 28352 }); 28353 return result; 28354} 28355 28356module.exports = setToArray; 28357 28358 28359/***/ }), 28360
vendor: 807 bytes, lines 28361-28385
28361/***/ "./node_modules/lodash/_setToString.js": 28362/*!*********************************************!*\ 28363 !*** ./node_modules/lodash/_setToString.js ***! 28364 \*********************************************/ 28365/*! no static exports found */ 28366/***/ (function(module, exports, __webpack_require__) { 28367 28368var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ "./node_modules/lodash/_baseSetToString.js"), 28369 shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js"); 28370 28371/** 28372 * Sets the `toString` method of `func` to return `string`. 28373 * 28374 * @private 28375 * @param {Function} func The function to modify. 28376 * @param {Function} string The `toString` result. 28377 * @returns {Function} Returns `func`. 28378 */ 28379var setToString = shortOut(baseSetToString); 28380 28381module.exports = setToString; 28382 28383 28384/***/ }), 28385
vendor: 1,406 bytes, lines 28386-28417
28386/***/ "./node_modules/lodash/_setWrapToString.js": 28387/*!*************************************************!*\ 28388 !*** ./node_modules/lodash/_setWrapToString.js ***! 28389 \*************************************************/ 28390/*! no static exports found */ 28391/***/ (function(module, exports, __webpack_require__) { 28392 28393var getWrapDetails = __webpack_require__(/*! ./_getWrapDetails */ "./node_modules/lodash/_getWrapDetails.js"), 28394 insertWrapDetails = __webpack_require__(/*! ./_insertWrapDetails */ "./node_modules/lodash/_insertWrapDetails.js"), 28395 setToString = __webpack_require__(/*! ./_setToString */ "./node_modules/lodash/_setToString.js"), 28396 updateWrapDetails = __webpack_require__(/*! ./_updateWrapDetails */ "./node_modules/lodash/_updateWrapDetails.js"); 28397 28398/** 28399 * Sets the `toString` method of `wrapper` to mimic the source of `reference` 28400 * with wrapper details in a comment at the top of the source body. 28401 * 28402 * @private 28403 * @param {Function} wrapper The function to modify. 28404 * @param {Function} reference The reference function. 28405 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 28406 * @returns {Function} Returns `wrapper`. 28407 */ 28408function setWrapToString(wrapper, reference, bitmask) { 28409 var source = (reference + ''); 28410 return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); 28411} 28412 28413module.exports = setWrapToString; 28414 28415 28416/***/ }), 28417
vendor: 1,208 bytes, lines 28418-28465
28418/***/ "./node_modules/lodash/_shortOut.js": 28419/*!******************************************!*\ 28420 !*** ./node_modules/lodash/_shortOut.js ***! 28421 \******************************************/ 28422/*! no static exports found */ 28423/***/ (function(module, exports) { 28424 28425/** Used to detect hot functions by number of calls within a span of milliseconds. */ 28426var HOT_COUNT = 800, 28427 HOT_SPAN = 16; 28428 28429/* Built-in method references for those with the same name as other `lodash` methods. */ 28430var nativeNow = Date.now; 28431 28432/** 28433 * Creates a function that'll short out and invoke `identity` instead 28434 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` 28435 * milliseconds. 28436 * 28437 * @private 28438 * @param {Function} func The function to restrict. 28439 * @returns {Function} Returns the new shortable function. 28440 */ 28441function shortOut(func) { 28442 var count = 0, 28443 lastCalled = 0; 28444 28445 return function() { 28446 var stamp = nativeNow(), 28447 remaining = HOT_SPAN - (stamp - lastCalled); 28448 28449 lastCalled = stamp; 28450 if (remaining > 0) { 28451 if (++count >= HOT_COUNT) { 28452 return arguments[0]; 28453 } 28454 } else { 28455 count = 0; 28456 } 28457 return func.apply(undefined, arguments); 28458 }; 28459} 28460 28461module.exports = shortOut; 28462 28463 28464/***/ }), 28465
vendor: 605 bytes, lines 28466-28491
28466/***/ "./node_modules/lodash/_stackClear.js": 28467/*!********************************************!*\ 28468 !*** ./node_modules/lodash/_stackClear.js ***! 28469 \********************************************/ 28470/*! no static exports found */ 28471/***/ (function(module, exports, __webpack_require__) { 28472 28473var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"); 28474 28475/** 28476 * Removes all key-value entries from the stack. 28477 * 28478 * @private 28479 * @name clear 28480 * @memberOf Stack 28481 */ 28482function stackClear() { 28483 this.__data__ = new ListCache; 28484 this.size = 0; 28485} 28486 28487module.exports = stackClear; 28488 28489 28490/***/ }), 28491
vendor: 684 bytes, lines 28492-28520
28492/***/ "./node_modules/lodash/_stackDelete.js": 28493/*!*********************************************!*\ 28494 !*** ./node_modules/lodash/_stackDelete.js ***! 28495 \*********************************************/ 28496/*! no static exports found */ 28497/***/ (function(module, exports) { 28498 28499/** 28500 * Removes `key` and its value from the stack. 28501 * 28502 * @private 28503 * @name delete 28504 * @memberOf Stack 28505 * @param {string} key The key of the value to remove. 28506 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 28507 */ 28508function stackDelete(key) { 28509 var data = this.__data__, 28510 result = data['delete'](key); 28511 28512 this.size = data.size; 28513 return result; 28514} 28515 28516module.exports = stackDelete; 28517 28518 28519/***/ }), 28520
vendor: 538 bytes, lines 28521-28545
28521/***/ "./node_modules/lodash/_stackGet.js": 28522/*!******************************************!*\ 28523 !*** ./node_modules/lodash/_stackGet.js ***! 28524 \******************************************/ 28525/*! no static exports found */ 28526/***/ (function(module, exports) { 28527 28528/** 28529 * Gets the stack value for `key`. 28530 * 28531 * @private 28532 * @name get 28533 * @memberOf Stack 28534 * @param {string} key The key of the value to get. 28535 * @returns {*} Returns the entry value. 28536 */ 28537function stackGet(key) { 28538 return this.__data__.get(key); 28539} 28540 28541module.exports = stackGet; 28542 28543 28544/***/ }), 28545
vendor: 590 bytes, lines 28546-28570
28546/***/ "./node_modules/lodash/_stackHas.js": 28547/*!******************************************!*\ 28548 !*** ./node_modules/lodash/_stackHas.js ***! 28549 \******************************************/ 28550/*! no static exports found */ 28551/***/ (function(module, exports) { 28552 28553/** 28554 * Checks if a stack value for `key` exists. 28555 * 28556 * @private 28557 * @name has 28558 * @memberOf Stack 28559 * @param {string} key The key of the entry to check. 28560 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 28561 */ 28562function stackHas(key) { 28563 return this.__data__.has(key); 28564} 28565 28566module.exports = stackHas; 28567 28568 28569/***/ }), 28570
vendor: 1,299 bytes, lines 28571-28615
28571/***/ "./node_modules/lodash/_stackSet.js": 28572/*!******************************************!*\ 28573 !*** ./node_modules/lodash/_stackSet.js ***! 28574 \******************************************/ 28575/*! no static exports found */ 28576/***/ (function(module, exports, __webpack_require__) { 28577 28578var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), 28579 Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), 28580 MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"); 28581 28582/** Used as the size to enable large array optimizations. */ 28583var LARGE_ARRAY_SIZE = 200; 28584 28585/** 28586 * Sets the stack `key` to `value`. 28587 * 28588 * @private 28589 * @name set 28590 * @memberOf Stack 28591 * @param {string} key The key of the value to set. 28592 * @param {*} value The value to set. 28593 * @returns {Object} Returns the stack cache instance. 28594 */ 28595function stackSet(key, value) { 28596 var data = this.__data__; 28597 if (data instanceof ListCache) { 28598 var pairs = data.__data__; 28599 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 28600 pairs.push([key, value]); 28601 this.size = ++data.size; 28602 return this; 28603 } 28604 data = this.__data__ = new MapCache(pairs); 28605 } 28606 data.set(key, value); 28607 this.size = data.size; 28608 return this; 28609} 28610 28611module.exports = stackSet; 28612 28613 28614/***/ }), 28615
vendor: 887 bytes, lines 28616-28649
28616/***/ "./node_modules/lodash/_strictIndexOf.js": 28617/*!***********************************************!*\ 28618 !*** ./node_modules/lodash/_strictIndexOf.js ***! 28619 \***********************************************/ 28620/*! no static exports found */ 28621/***/ (function(module, exports) { 28622 28623/** 28624 * A specialized version of `_.indexOf` which performs strict equality 28625 * comparisons of values, i.e. `===`. 28626 * 28627 * @private 28628 * @param {Array} array The array to inspect. 28629 * @param {*} value The value to search for. 28630 * @param {number} fromIndex The index to search from. 28631 * @returns {number} Returns the index of the matched value, else `-1`. 28632 */ 28633function strictIndexOf(array, value, fromIndex) { 28634 var index = fromIndex - 1, 28635 length = array.length; 28636 28637 while (++index < length) { 28638 if (array[index] === value) { 28639 return index; 28640 } 28641 } 28642 return -1; 28643} 28644 28645module.exports = strictIndexOf; 28646 28647 28648/***/ }), 28649
vendor: 1,203 bytes, lines 28650-28687
28650/***/ "./node_modules/lodash/_stringToPath.js": 28651/*!**********************************************!*\ 28652 !*** ./node_modules/lodash/_stringToPath.js ***! 28653 \**********************************************/ 28654/*! no static exports found */ 28655/***/ (function(module, exports, __webpack_require__) { 28656 28657var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "./node_modules/lodash/_memoizeCapped.js"); 28658 28659/** Used to match property names within property paths. */ 28660var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; 28661 28662/** Used to match backslashes in property paths. */ 28663var reEscapeChar = /\\(\\)?/g; 28664 28665/** 28666 * Converts `string` to a property path array. 28667 * 28668 * @private 28669 * @param {string} string The string to convert. 28670 * @returns {Array} Returns the property path array. 28671 */ 28672var stringToPath = memoizeCapped(function(string) { 28673 var result = []; 28674 if (string.charCodeAt(0) === 46 /* . */) { 28675 result.push(''); 28676 } 28677 string.replace(rePropName, function(match, number, quote, subString) { 28678 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); 28679 }); 28680 return result; 28681}); 28682 28683module.exports = stringToPath; 28684 28685 28686/***/ }), 28687
vendor: 852 bytes, lines 28688-28719
28688/***/ "./node_modules/lodash/_toKey.js": 28689/*!***************************************!*\ 28690 !*** ./node_modules/lodash/_toKey.js ***! 28691 \***************************************/ 28692/*! no static exports found */ 28693/***/ (function(module, exports, __webpack_require__) { 28694 28695var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 28696 28697/** Used as references for various `Number` constants. */ 28698var INFINITY = 1 / 0; 28699 28700/** 28701 * Converts `value` to a string key if it's not a string or symbol. 28702 * 28703 * @private 28704 * @param {*} value The value to inspect. 28705 * @returns {string|symbol} Returns the key. 28706 */ 28707function toKey(value) { 28708 if (typeof value == 'string' || isSymbol(value)) { 28709 return value; 28710 } 28711 var result = (value + ''); 28712 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 28713} 28714 28715module.exports = toKey; 28716 28717 28718/***/ }), 28719
vendor: 823 bytes, lines 28720-28756
28720/***/ "./node_modules/lodash/_toSource.js": 28721/*!******************************************!*\ 28722 !*** ./node_modules/lodash/_toSource.js ***! 28723 \******************************************/ 28724/*! no static exports found */ 28725/***/ (function(module, exports) { 28726 28727/** Used for built-in method references. */ 28728var funcProto = Function.prototype; 28729 28730/** Used to resolve the decompiled source of functions. */ 28731var funcToString = funcProto.toString; 28732 28733/** 28734 * Converts `func` to its source code. 28735 * 28736 * @private 28737 * @param {Function} func The function to convert. 28738 * @returns {string} Returns the source code. 28739 */ 28740function toSource(func) { 28741 if (func != null) { 28742 try { 28743 return funcToString.call(func); 28744 } catch (e) {} 28745 try { 28746 return (func + ''); 28747 } catch (e) {} 28748 } 28749 return ''; 28750} 28751 28752module.exports = toSource; 28753 28754 28755/***/ }), 28756
vendor: 1,748 bytes, lines 28757-28813
28757/***/ "./node_modules/lodash/_updateWrapDetails.js": 28758/*!***************************************************!*\ 28759 !*** ./node_modules/lodash/_updateWrapDetails.js ***! 28760 \***************************************************/ 28761/*! no static exports found */ 28762/***/ (function(module, exports, __webpack_require__) { 28763 28764var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), 28765 arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "./node_modules/lodash/_arrayIncludes.js"); 28766 28767/** Used to compose bitmasks for function metadata. */ 28768var WRAP_BIND_FLAG = 1, 28769 WRAP_BIND_KEY_FLAG = 2, 28770 WRAP_CURRY_FLAG = 8, 28771 WRAP_CURRY_RIGHT_FLAG = 16, 28772 WRAP_PARTIAL_FLAG = 32, 28773 WRAP_PARTIAL_RIGHT_FLAG = 64, 28774 WRAP_ARY_FLAG = 128, 28775 WRAP_REARG_FLAG = 256, 28776 WRAP_FLIP_FLAG = 512; 28777 28778/** Used to associate wrap methods with their bit flags. */ 28779var wrapFlags = [ 28780 ['ary', WRAP_ARY_FLAG], 28781 ['bind', WRAP_BIND_FLAG], 28782 ['bindKey', WRAP_BIND_KEY_FLAG], 28783 ['curry', WRAP_CURRY_FLAG], 28784 ['curryRight', WRAP_CURRY_RIGHT_FLAG], 28785 ['flip', WRAP_FLIP_FLAG], 28786 ['partial', WRAP_PARTIAL_FLAG], 28787 ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], 28788 ['rearg', WRAP_REARG_FLAG] 28789]; 28790 28791/** 28792 * Updates wrapper `details` based on `bitmask` flags. 28793 * 28794 * @private 28795 * @returns {Array} details The details to modify. 28796 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 28797 * @returns {Array} Returns `details`. 28798 */ 28799function updateWrapDetails(details, bitmask) { 28800 arrayEach(wrapFlags, function(pair) { 28801 var value = '_.' + pair[0]; 28802 if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { 28803 details.push(value); 28804 } 28805 }); 28806 return details.sort(); 28807} 28808 28809module.exports = updateWrapDetails; 28810 28811 28812/***/ }), 28813
vendor: 1,133 bytes, lines 28814-28847
28814/***/ "./node_modules/lodash/_wrapperClone.js": 28815/*!**********************************************!*\ 28816 !*** ./node_modules/lodash/_wrapperClone.js ***! 28817 \**********************************************/ 28818/*! no static exports found */ 28819/***/ (function(module, exports, __webpack_require__) { 28820 28821var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"), 28822 LodashWrapper = __webpack_require__(/*! ./_LodashWrapper */ "./node_modules/lodash/_LodashWrapper.js"), 28823 copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"); 28824 28825/** 28826 * Creates a clone of `wrapper`. 28827 * 28828 * @private 28829 * @param {Object} wrapper The wrapper to clone. 28830 * @returns {Object} Returns the cloned wrapper. 28831 */ 28832function wrapperClone(wrapper) { 28833 if (wrapper instanceof LazyWrapper) { 28834 return wrapper.clone(); 28835 } 28836 var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); 28837 result.__actions__ = copyArray(wrapper.__actions__); 28838 result.__index__ = wrapper.__index__; 28839 result.__values__ = wrapper.__values__; 28840 return result; 28841} 28842 28843module.exports = wrapperClone; 28844 28845 28846/***/ }), 28847
vendor: 1,177 bytes, lines 28848-28887
28848/***/ "./node_modules/lodash/ary.js": 28849/*!************************************!*\ 28850 !*** ./node_modules/lodash/ary.js ***! 28851 \************************************/ 28852/*! no static exports found */ 28853/***/ (function(module, exports, __webpack_require__) { 28854 28855var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js"); 28856 28857/** Used to compose bitmasks for function metadata. */ 28858var WRAP_ARY_FLAG = 128; 28859 28860/** 28861 * Creates a function that invokes `func`, with up to `n` arguments, 28862 * ignoring any additional arguments. 28863 * 28864 * @static 28865 * @memberOf _ 28866 * @since 3.0.0 28867 * @category Function 28868 * @param {Function} func The function to cap arguments for. 28869 * @param {number} [n=func.length] The arity cap. 28870 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 28871 * @returns {Function} Returns the new capped function. 28872 * @example 28873 * 28874 * _.map(['6', '8', '10'], _.ary(parseInt, 1)); 28875 * // => [6, 8, 10] 28876 */ 28877function ary(func, n, guard) { 28878 n = guard ? undefined : n; 28879 n = (func && n == null) ? func.length : n; 28880 return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); 28881} 28882 28883module.exports = ary; 28884 28885 28886/***/ }), 28887
vendor: 1,392 bytes, lines 28888-28934
28888/***/ "./node_modules/lodash/clone.js": 28889/*!**************************************!*\ 28890 !*** ./node_modules/lodash/clone.js ***! 28891 \**************************************/ 28892/*! no static exports found */ 28893/***/ (function(module, exports, __webpack_require__) { 28894 28895var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"); 28896 28897/** Used to compose bitmasks for cloning. */ 28898var CLONE_SYMBOLS_FLAG = 4; 28899 28900/** 28901 * Creates a shallow clone of `value`. 28902 * 28903 * **Note:** This method is loosely based on the 28904 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) 28905 * and supports cloning arrays, array buffers, booleans, date objects, maps, 28906 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed 28907 * arrays. The own enumerable properties of `arguments` objects are cloned 28908 * as plain objects. An empty object is returned for uncloneable values such 28909 * as error objects, functions, DOM nodes, and WeakMaps. 28910 * 28911 * @static 28912 * @memberOf _ 28913 * @since 0.1.0 28914 * @category Lang 28915 * @param {*} value The value to clone. 28916 * @returns {*} Returns the cloned value. 28917 * @see _.cloneDeep 28918 * @example 28919 * 28920 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 28921 * 28922 * var shallow = _.clone(objects); 28923 * console.log(shallow[0] === objects[0]); 28924 * // => true 28925 */ 28926function clone(value) { 28927 return baseClone(value, CLONE_SYMBOLS_FLAG); 28928} 28929 28930module.exports = clone; 28931 28932 28933/***/ }), 28934
vendor: 940 bytes, lines 28935-28976
28935/***/ "./node_modules/lodash/compact.js": 28936/*!****************************************!*\ 28937 !*** ./node_modules/lodash/compact.js ***! 28938 \****************************************/ 28939/*! no static exports found */ 28940/***/ (function(module, exports) { 28941 28942/** 28943 * Creates an array with all falsey values removed. The values `false`, `null`, 28944 * `0`, `""`, `undefined`, and `NaN` are falsey. 28945 * 28946 * @static 28947 * @memberOf _ 28948 * @since 0.1.0 28949 * @category Array 28950 * @param {Array} array The array to compact. 28951 * @returns {Array} Returns the new array of filtered values. 28952 * @example 28953 * 28954 * _.compact([0, 1, false, 2, '', 3]); 28955 * // => [1, 2, 3] 28956 */ 28957function compact(array) { 28958 var index = -1, 28959 length = array == null ? 0 : array.length, 28960 resIndex = 0, 28961 result = []; 28962 28963 while (++index < length) { 28964 var value = array[index]; 28965 if (value) { 28966 result[resIndex++] = value; 28967 } 28968 } 28969 return result; 28970} 28971 28972module.exports = compact; 28973 28974 28975/***/ }), 28976
vendor: 791 bytes, lines 28977-29013
28977/***/ "./node_modules/lodash/constant.js": 28978/*!*****************************************!*\ 28979 !*** ./node_modules/lodash/constant.js ***! 28980 \*****************************************/ 28981/*! no static exports found */ 28982/***/ (function(module, exports) { 28983 28984/** 28985 * Creates a function that returns `value`. 28986 * 28987 * @static 28988 * @memberOf _ 28989 * @since 2.4.0 28990 * @category Util 28991 * @param {*} value The value to return from the new function. 28992 * @returns {Function} Returns the new constant function. 28993 * @example 28994 * 28995 * var objects = _.times(2, _.constant({ 'a': 1 })); 28996 * 28997 * console.log(objects); 28998 * // => [{ 'a': 1 }, { 'a': 1 }] 28999 * 29000 * console.log(objects[0] === objects[1]); 29001 * // => true 29002 */ 29003function constant(value) { 29004 return function() { 29005 return value; 29006 }; 29007} 29008 29009module.exports = constant; 29010 29011 29012/***/ }), 29013
vendor: 1,972 bytes, lines 29014-29081
29014/***/ "./node_modules/lodash/curry.js": 29015/*!**************************************!*\ 29016 !*** ./node_modules/lodash/curry.js ***! 29017 \**************************************/ 29018/*! no static exports found */ 29019/***/ (function(module, exports, __webpack_require__) { 29020 29021var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js"); 29022 29023/** Used to compose bitmasks for function metadata. */ 29024var WRAP_CURRY_FLAG = 8; 29025 29026/** 29027 * Creates a function that accepts arguments of `func` and either invokes 29028 * `func` returning its result, if at least `arity` number of arguments have 29029 * been provided, or returns a function that accepts the remaining `func` 29030 * arguments, and so on. The arity of `func` may be specified if `func.length` 29031 * is not sufficient. 29032 * 29033 * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, 29034 * may be used as a placeholder for provided arguments. 29035 * 29036 * **Note:** This method doesn't set the "length" property of curried functions. 29037 * 29038 * @static 29039 * @memberOf _ 29040 * @since 2.0.0 29041 * @category Function 29042 * @param {Function} func The function to curry. 29043 * @param {number} [arity=func.length] The arity of `func`. 29044 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 29045 * @returns {Function} Returns the new curried function. 29046 * @example 29047 * 29048 * var abc = function(a, b, c) { 29049 * return [a, b, c]; 29050 * }; 29051 * 29052 * var curried = _.curry(abc); 29053 * 29054 * curried(1)(2)(3); 29055 * // => [1, 2, 3] 29056 * 29057 * curried(1, 2)(3); 29058 * // => [1, 2, 3] 29059 * 29060 * curried(1, 2, 3); 29061 * // => [1, 2, 3] 29062 * 29063 * // Curried with placeholders. 29064 * curried(1)(_, 3)(2); 29065 * // => [1, 2, 3] 29066 */ 29067function curry(func, arity, guard) { 29068 arity = guard ? undefined : arity; 29069 var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); 29070 result.placeholder = curry.placeholder; 29071 return result; 29072} 29073 29074// Assign default placeholders. 29075curry.placeholder = {}; 29076 29077module.exports = curry; 29078 29079 29080/***/ }), 29081
vendor: 1,038 bytes, lines 29082-29129
29082/***/ "./node_modules/lodash/eq.js": 29083/*!***********************************!*\ 29084 !*** ./node_modules/lodash/eq.js ***! 29085 \***********************************/ 29086/*! no static exports found */ 29087/***/ (function(module, exports) { 29088 29089/** 29090 * Performs a 29091 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 29092 * comparison between two values to determine if they are equivalent. 29093 * 29094 * @static 29095 * @memberOf _ 29096 * @since 4.0.0 29097 * @category Lang 29098 * @param {*} value The value to compare. 29099 * @param {*} other The other value to compare. 29100 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 29101 * @example 29102 * 29103 * var object = { 'a': 1 }; 29104 * var other = { 'a': 1 }; 29105 * 29106 * _.eq(object, object); 29107 * // => true 29108 * 29109 * _.eq(object, other); 29110 * // => false 29111 * 29112 * _.eq('a', 'a'); 29113 * // => true 29114 * 29115 * _.eq('a', Object('a')); 29116 * // => false 29117 * 29118 * _.eq(NaN, NaN); 29119 * // => true 29120 */ 29121function eq(value, other) { 29122 return value === other || (value !== value && other !== other); 29123} 29124 29125module.exports = eq; 29126 29127 29128/***/ }), 29129
vendor: 826 bytes, lines 29130-29162
29130/***/ "./node_modules/lodash/flatten.js": 29131/*!****************************************!*\ 29132 !*** ./node_modules/lodash/flatten.js ***! 29133 \****************************************/ 29134/*! no static exports found */ 29135/***/ (function(module, exports, __webpack_require__) { 29136 29137var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"); 29138 29139/** 29140 * Flattens `array` a single level deep. 29141 * 29142 * @static 29143 * @memberOf _ 29144 * @since 0.1.0 29145 * @category Array 29146 * @param {Array} array The array to flatten. 29147 * @returns {Array} Returns the new flattened array. 29148 * @example 29149 * 29150 * _.flatten([1, [2, [3, [4]], 5]]); 29151 * // => [1, 2, [3, [4]], 5] 29152 */ 29153function flatten(array) { 29154 var length = array == null ? 0 : array.length; 29155 return length ? baseFlatten(array, 1) : []; 29156} 29157 29158module.exports = flatten; 29159 29160 29161/***/ }), 29162
vendor: 16,841 bytes, lines 29163-29742
29163/***/ "./node_modules/lodash/fp/_baseConvert.js": 29164/*!************************************************!*\ 29165 !*** ./node_modules/lodash/fp/_baseConvert.js ***! 29166 \************************************************/ 29167/*! no static exports found */ 29168/***/ (function(module, exports, __webpack_require__) { 29169 29170var mapping = __webpack_require__(/*! ./_mapping */ "./node_modules/lodash/fp/_mapping.js"), 29171 fallbackHolder = __webpack_require__(/*! ./placeholder */ "./node_modules/lodash/fp/placeholder.js"); 29172 29173/** Built-in value reference. */ 29174var push = Array.prototype.push; 29175 29176/** 29177 * Creates a function, with an arity of `n`, that invokes `func` with the 29178 * arguments it receives. 29179 * 29180 * @private 29181 * @param {Function} func The function to wrap. 29182 * @param {number} n The arity of the new function. 29183 * @returns {Function} Returns the new function. 29184 */ 29185function baseArity(func, n) { 29186 return n == 2 29187 ? function(a, b) { return func.apply(undefined, arguments); } 29188 : function(a) { return func.apply(undefined, arguments); }; 29189} 29190 29191/** 29192 * Creates a function that invokes `func`, with up to `n` arguments, ignoring 29193 * any additional arguments. 29194 * 29195 * @private 29196 * @param {Function} func The function to cap arguments for. 29197 * @param {number} n The arity cap. 29198 * @returns {Function} Returns the new function. 29199 */ 29200function baseAry(func, n) { 29201 return n == 2 29202 ? function(a, b) { return func(a, b); } 29203 : function(a) { return func(a); }; 29204} 29205 29206/** 29207 * Creates a clone of `array`. 29208 * 29209 * @private 29210 * @param {Array} array The array to clone. 29211 * @returns {Array} Returns the cloned array. 29212 */ 29213function cloneArray(array) { 29214 var length = array ? array.length : 0, 29215 result = Array(length); 29216 29217 while (length--) { 29218 result[length] = array[length]; 29219 } 29220 return result; 29221} 29222 29223/** 29224 * Creates a function that clones a given object using the assignment `func`. 29225 * 29226 * @private 29227 * @param {Function} func The assignment function. 29228 * @returns {Function} Returns the new cloner function. 29229 */ 29230function createCloner(func) { 29231 return function(object) { 29232 return func({}, object); 29233 }; 29234} 29235 29236/** 29237 * A specialized version of `_.spread` which flattens the spread array into 29238 * the arguments of the invoked `func`. 29239 * 29240 * @private 29241 * @param {Function} func The function to spread arguments over. 29242 * @param {number} start The start position of the spread. 29243 * @returns {Function} Returns the new function. 29244 */ 29245function flatSpread(func, start) { 29246 return function() { 29247 var length = arguments.length, 29248 lastIndex = length - 1, 29249 args = Array(length); 29250 29251 while (length--) { 29252 args[length] = arguments[length]; 29253 } 29254 var array = args[start], 29255 otherArgs = args.slice(0, start); 29256 29257 if (array) { 29258 push.apply(otherArgs, array); 29259 } 29260 if (start != lastIndex) { 29261 push.apply(otherArgs, args.slice(start + 1)); 29262 } 29263 return func.apply(this, otherArgs); 29264 }; 29265} 29266 29267/** 29268 * Creates a function that wraps `func` and uses `cloner` to clone the first 29269 * argument it receives. 29270 * 29271 * @private 29272 * @param {Function} func The function to wrap. 29273 * @param {Function} cloner The function to clone arguments. 29274 * @returns {Function} Returns the new immutable function. 29275 */ 29276function wrapImmutable(func, cloner) { 29277 return function() { 29278 var length = arguments.length; 29279 if (!length) { 29280 return; 29281 } 29282 var args = Array(length); 29283 while (length--) { 29284 args[length] = arguments[length]; 29285 } 29286 var result = args[0] = cloner.apply(undefined, args); 29287 func.apply(undefined, args); 29288 return result; 29289 }; 29290} 29291 29292/** 29293 * The base implementation of `convert` which accepts a `util` object of methods 29294 * required to perform conversions. 29295 * 29296 * @param {Object} util The util object. 29297 * @param {string} name The name of the function to convert. 29298 * @param {Function} func The function to convert. 29299 * @param {Object} [options] The options object. 29300 * @param {boolean} [options.cap=true] Specify capping iteratee arguments. 29301 * @param {boolean} [options.curry=true] Specify currying. 29302 * @param {boolean} [options.fixed=true] Specify fixed arity. 29303 * @param {boolean} [options.immutable=true] Specify immutable operations. 29304 * @param {boolean} [options.rearg=true] Specify rearranging arguments. 29305 * @returns {Function|Object} Returns the converted function or object. 29306 */ 29307function baseConvert(util, name, func, options) { 29308 var isLib = typeof name == 'function', 29309 isObj = name === Object(name); 29310 29311 if (isObj) { 29312 options = func; 29313 func = name; 29314 name = undefined; 29315 } 29316 if (func == null) { 29317 throw new TypeError; 29318 } 29319 options || (options = {}); 29320 29321 var config = { 29322 'cap': 'cap' in options ? options.cap : true, 29323 'curry': 'curry' in options ? options.curry : true, 29324 'fixed': 'fixed' in options ? options.fixed : true, 29325 'immutable': 'immutable' in options ? options.immutable : true, 29326 'rearg': 'rearg' in options ? options.rearg : true 29327 }; 29328 29329 var defaultHolder = isLib ? func : fallbackHolder, 29330 forceCurry = ('curry' in options) && options.curry, 29331 forceFixed = ('fixed' in options) && options.fixed, 29332 forceRearg = ('rearg' in options) && options.rearg, 29333 pristine = isLib ? func.runInContext() : undefined; 29334 29335 var helpers = isLib ? func : { 29336 'ary': util.ary, 29337 'assign': util.assign, 29338 'clone': util.clone, 29339 'curry': util.curry, 29340 'forEach': util.forEach, 29341 'isArray': util.isArray, 29342 'isError': util.isError, 29343 'isFunction': util.isFunction, 29344 'isWeakMap': util.isWeakMap, 29345 'iteratee': util.iteratee, 29346 'keys': util.keys, 29347 'rearg': util.rearg, 29348 'toInteger': util.toInteger, 29349 'toPath': util.toPath 29350 }; 29351 29352 var ary = helpers.ary, 29353 assign = helpers.assign, 29354 clone = helpers.clone, 29355 curry = helpers.curry, 29356 each = helpers.forEach, 29357 isArray = helpers.isArray, 29358 isError = helpers.isError, 29359 isFunction = helpers.isFunction, 29360 isWeakMap = helpers.isWeakMap, 29361 keys = helpers.keys, 29362 rearg = helpers.rearg, 29363 toInteger = helpers.toInteger, 29364 toPath = helpers.toPath; 29365 29366 var aryMethodKeys = keys(mapping.aryMethod); 29367 29368 var wrappers = { 29369 'castArray': function(castArray) { 29370 return function() { 29371 var value = arguments[0]; 29372 return isArray(value) 29373 ? castArray(cloneArray(value)) 29374 : castArray.apply(undefined, arguments); 29375 }; 29376 }, 29377 'iteratee': function(iteratee) { 29378 return function() { 29379 var func = arguments[0], 29380 arity = arguments[1], 29381 result = iteratee(func, arity), 29382 length = result.length; 29383 29384 if (config.cap && typeof arity == 'number') { 29385 arity = arity > 2 ? (arity - 2) : 1; 29386 return (length && length <= arity) ? result : baseAry(result, arity); 29387 } 29388 return result; 29389 }; 29390 }, 29391 'mixin': function(mixin) { 29392 return function(source) { 29393 var func = this; 29394 if (!isFunction(func)) { 29395 return mixin(func, Object(source)); 29396 } 29397 var pairs = []; 29398 each(keys(source), function(key) { 29399 if (isFunction(source[key])) { 29400 pairs.push([key, func.prototype[key]]); 29401 } 29402 }); 29403 29404 mixin(func, Object(source)); 29405 29406 each(pairs, function(pair) { 29407 var value = pair[1]; 29408 if (isFunction(value)) { 29409 func.prototype[pair[0]] = value; 29410 } else { 29411 delete func.prototype[pair[0]]; 29412 } 29413 }); 29414 return func; 29415 }; 29416 }, 29417 'nthArg': function(nthArg) { 29418 return function(n) { 29419 var arity = n < 0 ? 1 : (toInteger(n) + 1); 29420 return curry(nthArg(n), arity); 29421 }; 29422 }, 29423 'rearg': function(rearg) { 29424 return function(func, indexes) { 29425 var arity = indexes ? indexes.length : 0; 29426 return curry(rearg(func, indexes), arity); 29427 }; 29428 }, 29429 'runInContext': function(runInContext) { 29430 return function(context) { 29431 return baseConvert(util, runInContext(context), options); 29432 }; 29433 } 29434 }; 29435 29436 /*--------------------------------------------------------------------------*/ 29437 29438 /** 29439 * Casts `func` to a function with an arity capped iteratee if needed. 29440 * 29441 * @private 29442 * @param {string} name The name of the function to inspect. 29443 * @param {Function} func The function to inspect. 29444 * @returns {Function} Returns the cast function. 29445 */ 29446 function castCap(name, func) { 29447 if (config.cap) { 29448 var indexes = mapping.iterateeRearg[name]; 29449 if (indexes) { 29450 return iterateeRearg(func, indexes); 29451 } 29452 var n = !isLib && mapping.iterateeAry[name]; 29453 if (n) { 29454 return iterateeAry(func, n); 29455 } 29456 } 29457 return func; 29458 } 29459 29460 /** 29461 * Casts `func` to a curried function if needed. 29462 * 29463 * @private 29464 * @param {string} name The name of the function to inspect. 29465 * @param {Function} func The function to inspect. 29466 * @param {number} n The arity of `func`. 29467 * @returns {Function} Returns the cast function. 29468 */ 29469 function castCurry(name, func, n) { 29470 return (forceCurry || (config.curry && n > 1)) 29471 ? curry(func, n) 29472 : func; 29473 } 29474 29475 /** 29476 * Casts `func` to a fixed arity function if needed. 29477 * 29478 * @private 29479 * @param {string} name The name of the function to inspect. 29480 * @param {Function} func The function to inspect. 29481 * @param {number} n The arity cap. 29482 * @returns {Function} Returns the cast function. 29483 */ 29484 function castFixed(name, func, n) { 29485 if (config.fixed && (forceFixed || !mapping.skipFixed[name])) { 29486 var data = mapping.methodSpread[name], 29487 start = data && data.start; 29488 29489 return start === undefined ? ary(func, n) : flatSpread(func, start); 29490 } 29491 return func; 29492 } 29493 29494 /** 29495 * Casts `func` to an rearged function if needed. 29496 * 29497 * @private 29498 * @param {string} name The name of the function to inspect. 29499 * @param {Function} func The function to inspect. 29500 * @param {number} n The arity of `func`. 29501 * @returns {Function} Returns the cast function. 29502 */ 29503 function castRearg(name, func, n) { 29504 return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name])) 29505 ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n]) 29506 : func; 29507 } 29508 29509 /** 29510 * Creates a clone of `object` by `path`. 29511 * 29512 * @private 29513 * @param {Object} object The object to clone. 29514 * @param {Array|string} path The path to clone by. 29515 * @returns {Object} Returns the cloned object. 29516 */ 29517 function cloneByPath(object, path) { 29518 path = toPath(path); 29519 29520 var index = -1, 29521 length = path.length, 29522 lastIndex = length - 1, 29523 result = clone(Object(object)), 29524 nested = result; 29525 29526 while (nested != null && ++index < length) { 29527 var key = path[index], 29528 value = nested[key]; 29529 29530 if (value != null && 29531 !(isFunction(value) || isError(value) || isWeakMap(value))) { 29532 nested[key] = clone(index == lastIndex ? value : Object(value)); 29533 } 29534 nested = nested[key]; 29535 } 29536 return result; 29537 } 29538 29539 /** 29540 * Converts `lodash` to an immutable auto-curried iteratee-first data-last 29541 * version with conversion `options` applied. 29542 * 29543 * @param {Object} [options] The options object. See `baseConvert` for more details. 29544 * @returns {Function} Returns the converted `lodash`. 29545 */ 29546 function convertLib(options) { 29547 return _.runInContext.convert(options)(undefined); 29548 } 29549 29550 /** 29551 * Create a converter function for `func` of `name`. 29552 * 29553 * @param {string} name The name of the function to convert. 29554 * @param {Function} func The function to convert. 29555 * @returns {Function} Returns the new converter function. 29556 */ 29557 function createConverter(name, func) { 29558 var realName = mapping.aliasToReal[name] || name, 29559 methodName = mapping.remap[realName] || realName, 29560 oldOptions = options; 29561 29562 return function(options) { 29563 var newUtil = isLib ? pristine : helpers, 29564 newFunc = isLib ? pristine[methodName] : func, 29565 newOptions = assign(assign({}, oldOptions), options); 29566 29567 return baseConvert(newUtil, realName, newFunc, newOptions); 29568 }; 29569 } 29570 29571 /** 29572 * Creates a function that wraps `func` to invoke its iteratee, with up to `n` 29573 * arguments, ignoring any additional arguments. 29574 * 29575 * @private 29576 * @param {Function} func The function to cap iteratee arguments for. 29577 * @param {number} n The arity cap. 29578 * @returns {Function} Returns the new function. 29579 */ 29580 function iterateeAry(func, n) { 29581 return overArg(func, function(func) { 29582 return typeof func == 'function' ? baseAry(func, n) : func; 29583 }); 29584 } 29585 29586 /** 29587 * Creates a function that wraps `func` to invoke its iteratee with arguments 29588 * arranged according to the specified `indexes` where the argument value at 29589 * the first index is provided as the first argument, the argument value at 29590 * the second index is provided as the second argument, and so on. 29591 * 29592 * @private 29593 * @param {Function} func The function to rearrange iteratee arguments for. 29594 * @param {number[]} indexes The arranged argument indexes. 29595 * @returns {Function} Returns the new function. 29596 */ 29597 function iterateeRearg(func, indexes) { 29598 return overArg(func, function(func) { 29599 var n = indexes.length; 29600 return baseArity(rearg(baseAry(func, n), indexes), n); 29601 }); 29602 } 29603 29604 /** 29605 * Creates a function that invokes `func` with its first argument transformed. 29606 * 29607 * @private 29608 * @param {Function} func The function to wrap. 29609 * @param {Function} transform The argument transform. 29610 * @returns {Function} Returns the new function. 29611 */ 29612 function overArg(func, transform) { 29613 return function() { 29614 var length = arguments.length; 29615 if (!length) { 29616 return func(); 29617 } 29618 var args = Array(length); 29619 while (length--) { 29620 args[length] = arguments[length]; 29621 } 29622 var index = config.rearg ? 0 : (length - 1); 29623 args[index] = transform(args[index]); 29624 return func.apply(undefined, args); 29625 }; 29626 } 29627 29628 /** 29629 * Creates a function that wraps `func` and applys the conversions 29630 * rules by `name`. 29631 * 29632 * @private 29633 * @param {string} name The name of the function to wrap. 29634 * @param {Function} func The function to wrap. 29635 * @returns {Function} Returns the converted function. 29636 */ 29637 function wrap(name, func, placeholder) { 29638 var result, 29639 realName = mapping.aliasToReal[name] || name, 29640 wrapped = func, 29641 wrapper = wrappers[realName]; 29642 29643 if (wrapper) { 29644 wrapped = wrapper(func); 29645 } 29646 else if (config.immutable) { 29647 if (mapping.mutate.array[realName]) { 29648 wrapped = wrapImmutable(func, cloneArray); 29649 } 29650 else if (mapping.mutate.object[realName]) { 29651 wrapped = wrapImmutable(func, createCloner(func)); 29652 } 29653 else if (mapping.mutate.set[realName]) { 29654 wrapped = wrapImmutable(func, cloneByPath); 29655 } 29656 } 29657 each(aryMethodKeys, function(aryKey) { 29658 each(mapping.aryMethod[aryKey], function(otherName) { 29659 if (realName == otherName) { 29660 var data = mapping.methodSpread[realName], 29661 afterRearg = data && data.afterRearg; 29662 29663 result = afterRearg 29664 ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey) 29665 : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey); 29666 29667 result = castCap(realName, result); 29668 result = castCurry(realName, result, aryKey); 29669 return false; 29670 } 29671 }); 29672 return !result; 29673 }); 29674 29675 result || (result = wrapped); 29676 if (result == func) { 29677 result = forceCurry ? curry(result, 1) : function() { 29678 return func.apply(this, arguments); 29679 }; 29680 } 29681 result.convert = createConverter(realName, func); 29682 result.placeholder = func.placeholder = placeholder; 29683 29684 return result; 29685 } 29686 29687 /*--------------------------------------------------------------------------*/ 29688 29689 if (!isObj) { 29690 return wrap(name, func, defaultHolder); 29691 } 29692 var _ = func; 29693 29694 // Convert methods by ary cap. 29695 var pairs = []; 29696 each(aryMethodKeys, function(aryKey) { 29697 each(mapping.aryMethod[aryKey], function(key) { 29698 var func = _[mapping.remap[key] || key]; 29699 if (func) { 29700 pairs.push([key, wrap(key, func, _)]); 29701 } 29702 }); 29703 }); 29704 29705 // Convert remaining methods. 29706 each(keys(_), function(key) { 29707 var func = _[key]; 29708 if (typeof func == 'function') { 29709 var length = pairs.length; 29710 while (length--) { 29711 if (pairs[length][0] == key) { 29712 return; 29713 } 29714 } 29715 func.convert = createConverter(key, func); 29716 pairs.push([key, func]); 29717 } 29718 }); 29719 29720 // Assign to `_` leaving `_.prototype` unchanged to allow chaining. 29721 each(pairs, function(pair) { 29722 _[pair[0]] = pair[1]; 29723 }); 29724 29725 _.convert = convertLib; 29726 _.placeholder = _; 29727 29728 // Assign aliases. 29729 each(keys(_), function(key) { 29730 each(mapping.realToAlias[key] || [], function(alias) { 29731 _[alias] = _[key]; 29732 }); 29733 }); 29734 29735 return _; 29736} 29737 29738module.exports = baseConvert; 29739 29740 29741/***/ }), 29742
vendor: 10,230 bytes, lines 29743-30111
29743/***/ "./node_modules/lodash/fp/_mapping.js": 29744/*!********************************************!*\ 29745 !*** ./node_modules/lodash/fp/_mapping.js ***! 29746 \********************************************/ 29747/*! no static exports found */ 29748/***/ (function(module, exports) { 29749 29750/** Used to map aliases to their real names. */ 29751exports.aliasToReal = { 29752 29753 // Lodash aliases. 29754 'each': 'forEach', 29755 'eachRight': 'forEachRight', 29756 'entries': 'toPairs', 29757 'entriesIn': 'toPairsIn', 29758 'extend': 'assignIn', 29759 'extendAll': 'assignInAll', 29760 'extendAllWith': 'assignInAllWith', 29761 'extendWith': 'assignInWith', 29762 'first': 'head', 29763 29764 // Methods that are curried variants of others. 29765 'conforms': 'conformsTo', 29766 'matches': 'isMatch', 29767 'property': 'get', 29768 29769 // Ramda aliases. 29770 '__': 'placeholder', 29771 'F': 'stubFalse', 29772 'T': 'stubTrue', 29773 'all': 'every', 29774 'allPass': 'overEvery', 29775 'always': 'constant', 29776 'any': 'some', 29777 'anyPass': 'overSome', 29778 'apply': 'spread', 29779 'assoc': 'set', 29780 'assocPath': 'set', 29781 'complement': 'negate', 29782 'compose': 'flowRight', 29783 'contains': 'includes', 29784 'dissoc': 'unset', 29785 'dissocPath': 'unset', 29786 'dropLast': 'dropRight', 29787 'dropLastWhile': 'dropRightWhile', 29788 'equals': 'isEqual', 29789 'identical': 'eq', 29790 'indexBy': 'keyBy', 29791 'init': 'initial', 29792 'invertObj': 'invert', 29793 'juxt': 'over', 29794 'omitAll': 'omit', 29795 'nAry': 'ary', 29796 'path': 'get', 29797 'pathEq': 'matchesProperty', 29798 'pathOr': 'getOr', 29799 'paths': 'at', 29800 'pickAll': 'pick', 29801 'pipe': 'flow', 29802 'pluck': 'map', 29803 'prop': 'get', 29804 'propEq': 'matchesProperty', 29805 'propOr': 'getOr', 29806 'props': 'at', 29807 'symmetricDifference': 'xor', 29808 'symmetricDifferenceBy': 'xorBy', 29809 'symmetricDifferenceWith': 'xorWith', 29810 'takeLast': 'takeRight', 29811 'takeLastWhile': 'takeRightWhile', 29812 'unapply': 'rest', 29813 'unnest': 'flatten', 29814 'useWith': 'overArgs', 29815 'where': 'conformsTo', 29816 'whereEq': 'isMatch', 29817 'zipObj': 'zipObject' 29818}; 29819 29820/** Used to map ary to method names. */ 29821exports.aryMethod = { 29822 '1': [ 29823 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', 29824 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', 29825 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll', 29826 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse', 29827 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart', 29828 'uniqueId', 'words', 'zipAll' 29829 ], 29830 '2': [ 29831 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', 29832 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith', 29833 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN', 29834 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference', 29835 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', 29836 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex', 29837 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach', 29838 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get', 29839 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection', 29840 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy', 29841 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty', 29842 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit', 29843 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', 29844 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll', 29845 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', 29846 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', 29847 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', 29848 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', 29849 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', 29850 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', 29851 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', 29852 'zipObjectDeep' 29853 ], 29854 '3': [ 29855 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', 29856 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr', 29857 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', 29858 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', 29859 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', 29860 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight', 29861 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', 29862 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy', 29863 'xorWith', 'zipWith' 29864 ], 29865 '4': [ 29866 'fill', 'setWith', 'updateWith' 29867 ] 29868}; 29869 29870/** Used to map ary to rearg configs. */ 29871exports.aryRearg = { 29872 '2': [1, 0], 29873 '3': [2, 0, 1], 29874 '4': [3, 2, 0, 1] 29875}; 29876 29877/** Used to map method names to their iteratee ary. */ 29878exports.iterateeAry = { 29879 'dropRightWhile': 1, 29880 'dropWhile': 1, 29881 'every': 1, 29882 'filter': 1, 29883 'find': 1, 29884 'findFrom': 1, 29885 'findIndex': 1, 29886 'findIndexFrom': 1, 29887 'findKey': 1, 29888 'findLast': 1, 29889 'findLastFrom': 1, 29890 'findLastIndex': 1, 29891 'findLastIndexFrom': 1, 29892 'findLastKey': 1, 29893 'flatMap': 1, 29894 'flatMapDeep': 1, 29895 'flatMapDepth': 1, 29896 'forEach': 1, 29897 'forEachRight': 1, 29898 'forIn': 1, 29899 'forInRight': 1, 29900 'forOwn': 1, 29901 'forOwnRight': 1, 29902 'map': 1, 29903 'mapKeys': 1, 29904 'mapValues': 1, 29905 'partition': 1, 29906 'reduce': 2, 29907 'reduceRight': 2, 29908 'reject': 1, 29909 'remove': 1, 29910 'some': 1, 29911 'takeRightWhile': 1, 29912 'takeWhile': 1, 29913 'times': 1, 29914 'transform': 2 29915}; 29916 29917/** Used to map method names to iteratee rearg configs. */ 29918exports.iterateeRearg = { 29919 'mapKeys': [1], 29920 'reduceRight': [1, 0] 29921}; 29922 29923/** Used to map method names to rearg configs. */ 29924exports.methodRearg = { 29925 'assignInAllWith': [1, 0], 29926 'assignInWith': [1, 2, 0], 29927 'assignAllWith': [1, 0], 29928 'assignWith': [1, 2, 0], 29929 'differenceBy': [1, 2, 0], 29930 'differenceWith': [1, 2, 0], 29931 'getOr': [2, 1, 0], 29932 'intersectionBy': [1, 2, 0], 29933 'intersectionWith': [1, 2, 0], 29934 'isEqualWith': [1, 2, 0], 29935 'isMatchWith': [2, 1, 0], 29936 'mergeAllWith': [1, 0], 29937 'mergeWith': [1, 2, 0], 29938 'padChars': [2, 1, 0], 29939 'padCharsEnd': [2, 1, 0], 29940 'padCharsStart': [2, 1, 0], 29941 'pullAllBy': [2, 1, 0], 29942 'pullAllWith': [2, 1, 0], 29943 'rangeStep': [1, 2, 0], 29944 'rangeStepRight': [1, 2, 0], 29945 'setWith': [3, 1, 2, 0], 29946 'sortedIndexBy': [2, 1, 0], 29947 'sortedLastIndexBy': [2, 1, 0], 29948 'unionBy': [1, 2, 0], 29949 'unionWith': [1, 2, 0], 29950 'updateWith': [3, 1, 2, 0], 29951 'xorBy': [1, 2, 0], 29952 'xorWith': [1, 2, 0], 29953 'zipWith': [1, 2, 0] 29954}; 29955 29956/** Used to map method names to spread configs. */ 29957exports.methodSpread = { 29958 'assignAll': { 'start': 0 }, 29959 'assignAllWith': { 'start': 0 }, 29960 'assignInAll': { 'start': 0 }, 29961 'assignInAllWith': { 'start': 0 }, 29962 'defaultsAll': { 'start': 0 }, 29963 'defaultsDeepAll': { 'start': 0 }, 29964 'invokeArgs': { 'start': 2 }, 29965 'invokeArgsMap': { 'start': 2 }, 29966 'mergeAll': { 'start': 0 }, 29967 'mergeAllWith': { 'start': 0 }, 29968 'partial': { 'start': 1 }, 29969 'partialRight': { 'start': 1 }, 29970 'without': { 'start': 1 }, 29971 'zipAll': { 'start': 0 } 29972}; 29973 29974/** Used to identify methods which mutate arrays or objects. */ 29975exports.mutate = { 29976 'array': { 29977 'fill': true, 29978 'pull': true, 29979 'pullAll': true, 29980 'pullAllBy': true, 29981 'pullAllWith': true, 29982 'pullAt': true, 29983 'remove': true, 29984 'reverse': true 29985 }, 29986 'object': { 29987 'assign': true, 29988 'assignAll': true, 29989 'assignAllWith': true, 29990 'assignIn': true, 29991 'assignInAll': true, 29992 'assignInAllWith': true, 29993 'assignInWith': true, 29994 'assignWith': true, 29995 'defaults': true, 29996 'defaultsAll': true, 29997 'defaultsDeep': true, 29998 'defaultsDeepAll': true, 29999 'merge': true, 30000 'mergeAll': true, 30001 'mergeAllWith': true, 30002 'mergeWith': true, 30003 }, 30004 'set': { 30005 'set': true, 30006 'setWith': true, 30007 'unset': true, 30008 'update': true, 30009 'updateWith': true 30010 } 30011}; 30012 30013/** Used to map real names to their aliases. */ 30014exports.realToAlias = (function() { 30015 var hasOwnProperty = Object.prototype.hasOwnProperty, 30016 object = exports.aliasToReal, 30017 result = {}; 30018 30019 for (var key in object) { 30020 var value = object[key]; 30021 if (hasOwnProperty.call(result, value)) { 30022 result[value].push(key); 30023 } else { 30024 result[value] = [key]; 30025 } 30026 } 30027 return result; 30028}()); 30029 30030/** Used to map method names to other names. */ 30031exports.remap = { 30032 'assignAll': 'assign', 30033 'assignAllWith': 'assignWith', 30034 'assignInAll': 'assignIn', 30035 'assignInAllWith': 'assignInWith', 30036 'curryN': 'curry', 30037 'curryRightN': 'curryRight', 30038 'defaultsAll': 'defaults', 30039 'defaultsDeepAll': 'defaultsDeep', 30040 'findFrom': 'find', 30041 'findIndexFrom': 'findIndex', 30042 'findLastFrom': 'findLast', 30043 'findLastIndexFrom': 'findLastIndex', 30044 'getOr': 'get', 30045 'includesFrom': 'includes', 30046 'indexOfFrom': 'indexOf', 30047 'invokeArgs': 'invoke', 30048 'invokeArgsMap': 'invokeMap', 30049 'lastIndexOfFrom': 'lastIndexOf', 30050 'mergeAll': 'merge', 30051 'mergeAllWith': 'mergeWith', 30052 'padChars': 'pad', 30053 'padCharsEnd': 'padEnd', 30054 'padCharsStart': 'padStart', 30055 'propertyOf': 'get', 30056 'rangeStep': 'range', 30057 'rangeStepRight': 'rangeRight', 30058 'restFrom': 'rest', 30059 'spreadFrom': 'spread', 30060 'trimChars': 'trim', 30061 'trimCharsEnd': 'trimEnd', 30062 'trimCharsStart': 'trimStart', 30063 'zipAll': 'zip' 30064}; 30065 30066/** Used to track methods that skip fixing their arity. */ 30067exports.skipFixed = { 30068 'castArray': true, 30069 'flow': true, 30070 'flowRight': true, 30071 'iteratee': true, 30072 'mixin': true, 30073 'rearg': true, 30074 'runInContext': true 30075}; 30076 30077/** Used to track methods that skip rearranging arguments. */ 30078exports.skipRearg = { 30079 'add': true, 30080 'assign': true, 30081 'assignIn': true, 30082 'bind': true, 30083 'bindKey': true, 30084 'concat': true, 30085 'difference': true, 30086 'divide': true, 30087 'eq': true, 30088 'gt': true, 30089 'gte': true, 30090 'isEqual': true, 30091 'lt': true, 30092 'lte': true, 30093 'matchesProperty': true, 30094 'merge': true, 30095 'multiply': true, 30096 'overArgs': true, 30097 'partial': true, 30098 'partialRight': true, 30099 'propertyOf': true, 30100 'random': true, 30101 'range': true, 30102 'rangeRight': true, 30103 'subtract': true, 30104 'zip': true, 30105 'zipObject': true, 30106 'zipObjectDeep': true 30107}; 30108 30109 30110/***/ }), 30111
vendor: 1,542 bytes, lines 30112-30138
30112/***/ "./node_modules/lodash/fp/_util.js": 30113/*!*****************************************!*\ 30114 !*** ./node_modules/lodash/fp/_util.js ***! 30115 \*****************************************/ 30116/*! no static exports found */ 30117/***/ (function(module, exports, __webpack_require__) { 30118 30119module.exports = { 30120 'ary': __webpack_require__(/*! ../ary */ "./node_modules/lodash/ary.js"), 30121 'assign': __webpack_require__(/*! ../_baseAssign */ "./node_modules/lodash/_baseAssign.js"), 30122 'clone': __webpack_require__(/*! ../clone */ "./node_modules/lodash/clone.js"), 30123 'curry': __webpack_require__(/*! ../curry */ "./node_modules/lodash/curry.js"), 30124 'forEach': __webpack_require__(/*! ../_arrayEach */ "./node_modules/lodash/_arrayEach.js"), 30125 'isArray': __webpack_require__(/*! ../isArray */ "./node_modules/lodash/isArray.js"), 30126 'isError': __webpack_require__(/*! ../isError */ "./node_modules/lodash/isError.js"), 30127 'isFunction': __webpack_require__(/*! ../isFunction */ "./node_modules/lodash/isFunction.js"), 30128 'isWeakMap': __webpack_require__(/*! ../isWeakMap */ "./node_modules/lodash/isWeakMap.js"), 30129 'iteratee': __webpack_require__(/*! ../iteratee */ "./node_modules/lodash/iteratee.js"), 30130 'keys': __webpack_require__(/*! ../_baseKeys */ "./node_modules/lodash/_baseKeys.js"), 30131 'rearg': __webpack_require__(/*! ../rearg */ "./node_modules/lodash/rearg.js"), 30132 'toInteger': __webpack_require__(/*! ../toInteger */ "./node_modules/lodash/toInteger.js"), 30133 'toPath': __webpack_require__(/*! ../toPath */ "./node_modules/lodash/toPath.js") 30134}; 30135 30136 30137/***/ }), 30138
vendor: 1,062 bytes, lines 30139-30167
30139/***/ "./node_modules/lodash/fp/convert.js": 30140/*!*******************************************!*\ 30141 !*** ./node_modules/lodash/fp/convert.js ***! 30142 \*******************************************/ 30143/*! no static exports found */ 30144/***/ (function(module, exports, __webpack_require__) { 30145 30146var baseConvert = __webpack_require__(/*! ./_baseConvert */ "./node_modules/lodash/fp/_baseConvert.js"), 30147 util = __webpack_require__(/*! ./_util */ "./node_modules/lodash/fp/_util.js"); 30148 30149/** 30150 * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last 30151 * version with conversion `options` applied. If `name` is an object its methods 30152 * will be converted. 30153 * 30154 * @param {string} name The name of the function to wrap. 30155 * @param {Function} [func] The function to wrap. 30156 * @param {Object} [options] The options object. See `baseConvert` for more details. 30157 * @returns {Function|Object} Returns the converted function or object. 30158 */ 30159function convert(name, func, options) { 30160 return baseConvert(util, name, func, options); 30161} 30162 30163module.exports = convert; 30164 30165 30166/***/ }), 30167
vendor: 589 bytes, lines 30168-30183
30168/***/ "./node_modules/lodash/fp/map.js": 30169/*!***************************************!*\ 30170 !*** ./node_modules/lodash/fp/map.js ***! 30171 \***************************************/ 30172/*! no static exports found */ 30173/***/ (function(module, exports, __webpack_require__) { 30174 30175var convert = __webpack_require__(/*! ./convert */ "./node_modules/lodash/fp/convert.js"), 30176 func = convert('map', __webpack_require__(/*! ../map */ "./node_modules/lodash/map.js")); 30177 30178func.placeholder = __webpack_require__(/*! ./placeholder */ "./node_modules/lodash/fp/placeholder.js"); 30179module.exports = func; 30180 30181 30182/***/ }), 30183
vendor: 392 bytes, lines 30184-30200
30184/***/ "./node_modules/lodash/fp/placeholder.js": 30185/*!***********************************************!*\ 30186 !*** ./node_modules/lodash/fp/placeholder.js ***! 30187 \***********************************************/ 30188/*! no static exports found */ 30189/***/ (function(module, exports) { 30190 30191/** 30192 * The default argument placeholder value for methods. 30193 * 30194 * @type {Object} 30195 */ 30196module.exports = {}; 30197 30198 30199/***/ }), 30200
vendor: 1,201 bytes, lines 30201-30244
30201/***/ "./node_modules/lodash/get.js": 30202/*!************************************!*\ 30203 !*** ./node_modules/lodash/get.js ***! 30204 \************************************/ 30205/*! no static exports found */ 30206/***/ (function(module, exports, __webpack_require__) { 30207 30208var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); 30209 30210/** 30211 * Gets the value at `path` of `object`. If the resolved value is 30212 * `undefined`, the `defaultValue` is returned in its place. 30213 * 30214 * @static 30215 * @memberOf _ 30216 * @since 3.7.0 30217 * @category Object 30218 * @param {Object} object The object to query. 30219 * @param {Array|string} path The path of the property to get. 30220 * @param {*} [defaultValue] The value returned for `undefined` resolved values. 30221 * @returns {*} Returns the resolved value. 30222 * @example 30223 * 30224 * var object = { 'a': [{ 'b': { 'c': 3 } }] }; 30225 * 30226 * _.get(object, 'a[0].b.c'); 30227 * // => 3 30228 * 30229 * _.get(object, ['a', '0', 'b', 'c']); 30230 * // => 3 30231 * 30232 * _.get(object, 'a.b.c', 'default'); 30233 * // => 'default' 30234 */ 30235function get(object, path, defaultValue) { 30236 var result = object == null ? undefined : baseGet(object, path); 30237 return result === undefined ? defaultValue : result; 30238} 30239 30240module.exports = get; 30241 30242 30243/***/ }), 30244
vendor: 1,133 bytes, lines 30245-30289
30245/***/ "./node_modules/lodash/hasIn.js": 30246/*!**************************************!*\ 30247 !*** ./node_modules/lodash/hasIn.js ***! 30248 \**************************************/ 30249/*! no static exports found */ 30250/***/ (function(module, exports, __webpack_require__) { 30251 30252var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "./node_modules/lodash/_baseHasIn.js"), 30253 hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js"); 30254 30255/** 30256 * Checks if `path` is a direct or inherited property of `object`. 30257 * 30258 * @static 30259 * @memberOf _ 30260 * @since 4.0.0 30261 * @category Object 30262 * @param {Object} object The object to query. 30263 * @param {Array|string} path The path to check. 30264 * @returns {boolean} Returns `true` if `path` exists, else `false`. 30265 * @example 30266 * 30267 * var object = _.create({ 'a': _.create({ 'b': 2 }) }); 30268 * 30269 * _.hasIn(object, 'a'); 30270 * // => true 30271 * 30272 * _.hasIn(object, 'a.b'); 30273 * // => true 30274 * 30275 * _.hasIn(object, ['a', 'b']); 30276 * // => true 30277 * 30278 * _.hasIn(object, 'b'); 30279 * // => false 30280 */ 30281function hasIn(object, path) { 30282 return object != null && hasPath(object, path, baseHasIn); 30283} 30284 30285module.exports = hasIn; 30286 30287 30288/***/ }), 30289
vendor: 633 bytes, lines 30290-30321
30290/***/ "./node_modules/lodash/identity.js": 30291/*!*****************************************!*\ 30292 !*** ./node_modules/lodash/identity.js ***! 30293 \*****************************************/ 30294/*! no static exports found */ 30295/***/ (function(module, exports) { 30296 30297/** 30298 * This method returns the first argument it receives. 30299 * 30300 * @static 30301 * @since 0.1.0 30302 * @memberOf _ 30303 * @category Util 30304 * @param {*} value Any value. 30305 * @returns {*} Returns `value`. 30306 * @example 30307 * 30308 * var object = { 'a': 1 }; 30309 * 30310 * console.log(_.identity(object) === object); 30311 * // => true 30312 */ 30313function identity(value) { 30314 return value; 30315} 30316 30317module.exports = identity; 30318 30319 30320/***/ }), 30321
vendor: 1,440 bytes, lines 30322-30368
30322/***/ "./node_modules/lodash/isArguments.js": 30323/*!********************************************!*\ 30324 !*** ./node_modules/lodash/isArguments.js ***! 30325 \********************************************/ 30326/*! no static exports found */ 30327/***/ (function(module, exports, __webpack_require__) { 30328 30329var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ "./node_modules/lodash/_baseIsArguments.js"), 30330 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 30331 30332/** Used for built-in method references. */ 30333var objectProto = Object.prototype; 30334 30335/** Used to check objects for own properties. */ 30336var hasOwnProperty = objectProto.hasOwnProperty; 30337 30338/** Built-in value references. */ 30339var propertyIsEnumerable = objectProto.propertyIsEnumerable; 30340 30341/** 30342 * Checks if `value` is likely an `arguments` object. 30343 * 30344 * @static 30345 * @memberOf _ 30346 * @since 0.1.0 30347 * @category Lang 30348 * @param {*} value The value to check. 30349 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 30350 * else `false`. 30351 * @example 30352 * 30353 * _.isArguments(function() { return arguments; }()); 30354 * // => true 30355 * 30356 * _.isArguments([1, 2, 3]); 30357 * // => false 30358 */ 30359var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { 30360 return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && 30361 !propertyIsEnumerable.call(value, 'callee'); 30362}; 30363 30364module.exports = isArguments; 30365 30366 30367/***/ }), 30368
vendor: 747 bytes, lines 30369-30405
30369/***/ "./node_modules/lodash/isArray.js": 30370/*!****************************************!*\ 30371 !*** ./node_modules/lodash/isArray.js ***! 30372 \****************************************/ 30373/*! no static exports found */ 30374/***/ (function(module, exports) { 30375 30376/** 30377 * Checks if `value` is classified as an `Array` object. 30378 * 30379 * @static 30380 * @memberOf _ 30381 * @since 0.1.0 30382 * @category Lang 30383 * @param {*} value The value to check. 30384 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 30385 * @example 30386 * 30387 * _.isArray([1, 2, 3]); 30388 * // => true 30389 * 30390 * _.isArray(document.body.children); 30391 * // => false 30392 * 30393 * _.isArray('abc'); 30394 * // => false 30395 * 30396 * _.isArray(_.noop); 30397 * // => false 30398 */ 30399var isArray = Array.isArray; 30400 30401module.exports = isArray; 30402 30403 30404/***/ }), 30405
vendor: 1,234 bytes, lines 30406-30449
30406/***/ "./node_modules/lodash/isArrayLike.js": 30407/*!********************************************!*\ 30408 !*** ./node_modules/lodash/isArrayLike.js ***! 30409 \********************************************/ 30410/*! no static exports found */ 30411/***/ (function(module, exports, __webpack_require__) { 30412 30413var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), 30414 isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"); 30415 30416/** 30417 * Checks if `value` is array-like. A value is considered array-like if it's 30418 * not a function and has a `value.length` that's an integer greater than or 30419 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 30420 * 30421 * @static 30422 * @memberOf _ 30423 * @since 4.0.0 30424 * @category Lang 30425 * @param {*} value The value to check. 30426 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 30427 * @example 30428 * 30429 * _.isArrayLike([1, 2, 3]); 30430 * // => true 30431 * 30432 * _.isArrayLike(document.body.children); 30433 * // => true 30434 * 30435 * _.isArrayLike('abc'); 30436 * // => true 30437 * 30438 * _.isArrayLike(_.noop); 30439 * // => false 30440 */ 30441function isArrayLike(value) { 30442 return value != null && isLength(value.length) && !isFunction(value); 30443} 30444 30445module.exports = isArrayLike; 30446 30447 30448/***/ }), 30449
vendor: 1,679 bytes, lines 30450-30499
30450/***/ "./node_modules/lodash/isBuffer.js": 30451/*!*****************************************!*\ 30452 !*** ./node_modules/lodash/isBuffer.js ***! 30453 \*****************************************/ 30454/*! no static exports found */ 30455/***/ (function(module, exports, __webpack_require__) { 30456 30457/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"), 30458 stubFalse = __webpack_require__(/*! ./stubFalse */ "./node_modules/lodash/stubFalse.js"); 30459 30460/** Detect free variable `exports`. */ 30461var freeExports = true && exports && !exports.nodeType && exports; 30462 30463/** Detect free variable `module`. */ 30464var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 30465 30466/** Detect the popular CommonJS extension `module.exports`. */ 30467var moduleExports = freeModule && freeModule.exports === freeExports; 30468 30469/** Built-in value references. */ 30470var Buffer = moduleExports ? root.Buffer : undefined; 30471 30472/* Built-in method references for those with the same name as other `lodash` methods. */ 30473var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; 30474 30475/** 30476 * Checks if `value` is a buffer. 30477 * 30478 * @static 30479 * @memberOf _ 30480 * @since 4.3.0 30481 * @category Lang 30482 * @param {*} value The value to check. 30483 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 30484 * @example 30485 * 30486 * _.isBuffer(new Buffer(2)); 30487 * // => true 30488 * 30489 * _.isBuffer(new Uint8Array(2)); 30490 * // => false 30491 */ 30492var isBuffer = nativeIsBuffer || stubFalse; 30493 30494module.exports = isBuffer; 30495 30496/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) 30497 30498/***/ }), 30499
vendor: 1,412 bytes, lines 30500-30546
30500/***/ "./node_modules/lodash/isError.js": 30501/*!****************************************!*\ 30502 !*** ./node_modules/lodash/isError.js ***! 30503 \****************************************/ 30504/*! no static exports found */ 30505/***/ (function(module, exports, __webpack_require__) { 30506 30507var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 30508 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"), 30509 isPlainObject = __webpack_require__(/*! ./isPlainObject */ "./node_modules/lodash/isPlainObject.js"); 30510 30511/** `Object#toString` result references. */ 30512var domExcTag = '[object DOMException]', 30513 errorTag = '[object Error]'; 30514 30515/** 30516 * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, 30517 * `SyntaxError`, `TypeError`, or `URIError` object. 30518 * 30519 * @static 30520 * @memberOf _ 30521 * @since 3.0.0 30522 * @category Lang 30523 * @param {*} value The value to check. 30524 * @returns {boolean} Returns `true` if `value` is an error object, else `false`. 30525 * @example 30526 * 30527 * _.isError(new Error); 30528 * // => true 30529 * 30530 * _.isError(Error); 30531 * // => false 30532 */ 30533function isError(value) { 30534 if (!isObjectLike(value)) { 30535 return false; 30536 } 30537 var tag = baseGetTag(value); 30538 return tag == errorTag || tag == domExcTag || 30539 (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); 30540} 30541 30542module.exports = isError; 30543 30544 30545/***/ }), 30546
vendor: 1,394 bytes, lines 30547-30594
30547/***/ "./node_modules/lodash/isFunction.js": 30548/*!*******************************************!*\ 30549 !*** ./node_modules/lodash/isFunction.js ***! 30550 \*******************************************/ 30551/*! no static exports found */ 30552/***/ (function(module, exports, __webpack_require__) { 30553 30554var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 30555 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); 30556 30557/** `Object#toString` result references. */ 30558var asyncTag = '[object AsyncFunction]', 30559 funcTag = '[object Function]', 30560 genTag = '[object GeneratorFunction]', 30561 proxyTag = '[object Proxy]'; 30562 30563/** 30564 * Checks if `value` is classified as a `Function` object. 30565 * 30566 * @static 30567 * @memberOf _ 30568 * @since 0.1.0 30569 * @category Lang 30570 * @param {*} value The value to check. 30571 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 30572 * @example 30573 * 30574 * _.isFunction(_); 30575 * // => true 30576 * 30577 * _.isFunction(/abc/); 30578 * // => false 30579 */ 30580function isFunction(value) { 30581 if (!isObject(value)) { 30582 return false; 30583 } 30584 // The use of `Object#toString` avoids issues with the `typeof` operator 30585 // in Safari 9 which returns 'object' for typed arrays and other constructors. 30586 var tag = baseGetTag(value); 30587 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; 30588} 30589 30590module.exports = isFunction; 30591 30592 30593/***/ }), 30594
vendor: 1,065 bytes, lines 30595-30640
30595/***/ "./node_modules/lodash/isLength.js": 30596/*!*****************************************!*\ 30597 !*** ./node_modules/lodash/isLength.js ***! 30598 \*****************************************/ 30599/*! no static exports found */ 30600/***/ (function(module, exports) { 30601 30602/** Used as references for various `Number` constants. */ 30603var MAX_SAFE_INTEGER = 9007199254740991; 30604 30605/** 30606 * Checks if `value` is a valid array-like length. 30607 * 30608 * **Note:** This method is loosely based on 30609 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 30610 * 30611 * @static 30612 * @memberOf _ 30613 * @since 4.0.0 30614 * @category Lang 30615 * @param {*} value The value to check. 30616 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 30617 * @example 30618 * 30619 * _.isLength(3); 30620 * // => true 30621 * 30622 * _.isLength(Number.MIN_VALUE); 30623 * // => false 30624 * 30625 * _.isLength(Infinity); 30626 * // => false 30627 * 30628 * _.isLength('3'); 30629 * // => false 30630 */ 30631function isLength(value) { 30632 return typeof value == 'number' && 30633 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 30634} 30635 30636module.exports = isLength; 30637 30638 30639/***/ }), 30640
vendor: 1,049 bytes, lines 30641-30678
30641/***/ "./node_modules/lodash/isMap.js": 30642/*!**************************************!*\ 30643 !*** ./node_modules/lodash/isMap.js ***! 30644 \**************************************/ 30645/*! no static exports found */ 30646/***/ (function(module, exports, __webpack_require__) { 30647 30648var baseIsMap = __webpack_require__(/*! ./_baseIsMap */ "./node_modules/lodash/_baseIsMap.js"), 30649 baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), 30650 nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js"); 30651 30652/* Node.js helper references. */ 30653var nodeIsMap = nodeUtil && nodeUtil.isMap; 30654 30655/** 30656 * Checks if `value` is classified as a `Map` object. 30657 * 30658 * @static 30659 * @memberOf _ 30660 * @since 4.3.0 30661 * @category Lang 30662 * @param {*} value The value to check. 30663 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 30664 * @example 30665 * 30666 * _.isMap(new Map); 30667 * // => true 30668 * 30669 * _.isMap(new WeakMap); 30670 * // => false 30671 */ 30672var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; 30673 30674module.exports = isMap; 30675 30676 30677/***/ }), 30678
vendor: 996 bytes, lines 30679-30720
30679/***/ "./node_modules/lodash/isObject.js": 30680/*!*****************************************!*\ 30681 !*** ./node_modules/lodash/isObject.js ***! 30682 \*****************************************/ 30683/*! no static exports found */ 30684/***/ (function(module, exports) { 30685 30686/** 30687 * Checks if `value` is the 30688 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 30689 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 30690 * 30691 * @static 30692 * @memberOf _ 30693 * @since 0.1.0 30694 * @category Lang 30695 * @param {*} value The value to check. 30696 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 30697 * @example 30698 * 30699 * _.isObject({}); 30700 * // => true 30701 * 30702 * _.isObject([1, 2, 3]); 30703 * // => true 30704 * 30705 * _.isObject(_.noop); 30706 * // => true 30707 * 30708 * _.isObject(null); 30709 * // => false 30710 */ 30711function isObject(value) { 30712 var type = typeof value; 30713 return value != null && (type == 'object' || type == 'function'); 30714} 30715 30716module.exports = isObject; 30717 30718 30719/***/ }), 30720
vendor: 893 bytes, lines 30721-30760
30721/***/ "./node_modules/lodash/isObjectLike.js": 30722/*!*********************************************!*\ 30723 !*** ./node_modules/lodash/isObjectLike.js ***! 30724 \*********************************************/ 30725/*! no static exports found */ 30726/***/ (function(module, exports) { 30727 30728/** 30729 * Checks if `value` is object-like. A value is object-like if it's not `null` 30730 * and has a `typeof` result of "object". 30731 * 30732 * @static 30733 * @memberOf _ 30734 * @since 4.0.0 30735 * @category Lang 30736 * @param {*} value The value to check. 30737 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 30738 * @example 30739 * 30740 * _.isObjectLike({}); 30741 * // => true 30742 * 30743 * _.isObjectLike([1, 2, 3]); 30744 * // => true 30745 * 30746 * _.isObjectLike(_.noop); 30747 * // => false 30748 * 30749 * _.isObjectLike(null); 30750 * // => false 30751 */ 30752function isObjectLike(value) { 30753 return value != null && typeof value == 'object'; 30754} 30755 30756module.exports = isObjectLike; 30757 30758 30759/***/ }), 30760
vendor: 2,125 bytes, lines 30761-30833
30761/***/ "./node_modules/lodash/isPlainObject.js": 30762/*!**********************************************!*\ 30763 !*** ./node_modules/lodash/isPlainObject.js ***! 30764 \**********************************************/ 30765/*! no static exports found */ 30766/***/ (function(module, exports, __webpack_require__) { 30767 30768var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 30769 getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), 30770 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 30771 30772/** `Object#toString` result references. */ 30773var objectTag = '[object Object]'; 30774 30775/** Used for built-in method references. */ 30776var funcProto = Function.prototype, 30777 objectProto = Object.prototype; 30778 30779/** Used to resolve the decompiled source of functions. */ 30780var funcToString = funcProto.toString; 30781 30782/** Used to check objects for own properties. */ 30783var hasOwnProperty = objectProto.hasOwnProperty; 30784 30785/** Used to infer the `Object` constructor. */ 30786var objectCtorString = funcToString.call(Object); 30787 30788/** 30789 * Checks if `value` is a plain object, that is, an object created by the 30790 * `Object` constructor or one with a `[[Prototype]]` of `null`. 30791 * 30792 * @static 30793 * @memberOf _ 30794 * @since 0.8.0 30795 * @category Lang 30796 * @param {*} value The value to check. 30797 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. 30798 * @example 30799 * 30800 * function Foo() { 30801 * this.a = 1; 30802 * } 30803 * 30804 * _.isPlainObject(new Foo); 30805 * // => false 30806 * 30807 * _.isPlainObject([1, 2, 3]); 30808 * // => false 30809 * 30810 * _.isPlainObject({ 'x': 0, 'y': 0 }); 30811 * // => true 30812 * 30813 * _.isPlainObject(Object.create(null)); 30814 * // => true 30815 */ 30816function isPlainObject(value) { 30817 if (!isObjectLike(value) || baseGetTag(value) != objectTag) { 30818 return false; 30819 } 30820 var proto = getPrototype(value); 30821 if (proto === null) { 30822 return true; 30823 } 30824 var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; 30825 return typeof Ctor == 'function' && Ctor instanceof Ctor && 30826 funcToString.call(Ctor) == objectCtorString; 30827} 30828 30829module.exports = isPlainObject; 30830 30831 30832/***/ }), 30833
vendor: 1,049 bytes, lines 30834-30871
30834/***/ "./node_modules/lodash/isSet.js": 30835/*!**************************************!*\ 30836 !*** ./node_modules/lodash/isSet.js ***! 30837 \**************************************/ 30838/*! no static exports found */ 30839/***/ (function(module, exports, __webpack_require__) { 30840 30841var baseIsSet = __webpack_require__(/*! ./_baseIsSet */ "./node_modules/lodash/_baseIsSet.js"), 30842 baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), 30843 nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js"); 30844 30845/* Node.js helper references. */ 30846var nodeIsSet = nodeUtil && nodeUtil.isSet; 30847 30848/** 30849 * Checks if `value` is classified as a `Set` object. 30850 * 30851 * @static 30852 * @memberOf _ 30853 * @since 4.3.0 30854 * @category Lang 30855 * @param {*} value The value to check. 30856 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 30857 * @example 30858 * 30859 * _.isSet(new Set); 30860 * // => true 30861 * 30862 * _.isSet(new WeakSet); 30863 * // => false 30864 */ 30865var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; 30866 30867module.exports = isSet; 30868 30869 30870/***/ }), 30871
vendor: 1,079 bytes, lines 30872-30911
30872/***/ "./node_modules/lodash/isSymbol.js": 30873/*!*****************************************!*\ 30874 !*** ./node_modules/lodash/isSymbol.js ***! 30875 \*****************************************/ 30876/*! no static exports found */ 30877/***/ (function(module, exports, __webpack_require__) { 30878 30879var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 30880 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 30881 30882/** `Object#toString` result references. */ 30883var symbolTag = '[object Symbol]'; 30884 30885/** 30886 * Checks if `value` is classified as a `Symbol` primitive or object. 30887 * 30888 * @static 30889 * @memberOf _ 30890 * @since 4.0.0 30891 * @category Lang 30892 * @param {*} value The value to check. 30893 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 30894 * @example 30895 * 30896 * _.isSymbol(Symbol.iterator); 30897 * // => true 30898 * 30899 * _.isSymbol('abc'); 30900 * // => false 30901 */ 30902function isSymbol(value) { 30903 return typeof value == 'symbol' || 30904 (isObjectLike(value) && baseGetTag(value) == symbolTag); 30905} 30906 30907module.exports = isSymbol; 30908 30909 30910/***/ }), 30911
vendor: 1,166 bytes, lines 30912-30949
30912/***/ "./node_modules/lodash/isTypedArray.js": 30913/*!*********************************************!*\ 30914 !*** ./node_modules/lodash/isTypedArray.js ***! 30915 \*********************************************/ 30916/*! no static exports found */ 30917/***/ (function(module, exports, __webpack_require__) { 30918 30919var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ "./node_modules/lodash/_baseIsTypedArray.js"), 30920 baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), 30921 nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js"); 30922 30923/* Node.js helper references. */ 30924var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; 30925 30926/** 30927 * Checks if `value` is classified as a typed array. 30928 * 30929 * @static 30930 * @memberOf _ 30931 * @since 3.0.0 30932 * @category Lang 30933 * @param {*} value The value to check. 30934 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 30935 * @example 30936 * 30937 * _.isTypedArray(new Uint8Array); 30938 * // => true 30939 * 30940 * _.isTypedArray([]); 30941 * // => false 30942 */ 30943var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; 30944 30945module.exports = isTypedArray; 30946 30947 30948/***/ }), 30949
vendor: 1,028 bytes, lines 30950-30988
30950/***/ "./node_modules/lodash/isWeakMap.js": 30951/*!******************************************!*\ 30952 !*** ./node_modules/lodash/isWeakMap.js ***! 30953 \******************************************/ 30954/*! no static exports found */ 30955/***/ (function(module, exports, __webpack_require__) { 30956 30957var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), 30958 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 30959 30960/** `Object#toString` result references. */ 30961var weakMapTag = '[object WeakMap]'; 30962 30963/** 30964 * Checks if `value` is classified as a `WeakMap` object. 30965 * 30966 * @static 30967 * @memberOf _ 30968 * @since 4.3.0 30969 * @category Lang 30970 * @param {*} value The value to check. 30971 * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. 30972 * @example 30973 * 30974 * _.isWeakMap(new WeakMap); 30975 * // => true 30976 * 30977 * _.isWeakMap(new Map); 30978 * // => false 30979 */ 30980function isWeakMap(value) { 30981 return isObjectLike(value) && getTag(value) == weakMapTag; 30982} 30983 30984module.exports = isWeakMap; 30985 30986 30987/***/ }), 30988
vendor: 2,097 bytes, lines 30989-31052
30989/***/ "./node_modules/lodash/iteratee.js": 30990/*!*****************************************!*\ 30991 !*** ./node_modules/lodash/iteratee.js ***! 30992 \*****************************************/ 30993/*! no static exports found */ 30994/***/ (function(module, exports, __webpack_require__) { 30995 30996var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"), 30997 baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"); 30998 30999/** Used to compose bitmasks for cloning. */ 31000var CLONE_DEEP_FLAG = 1; 31001 31002/** 31003 * Creates a function that invokes `func` with the arguments of the created 31004 * function. If `func` is a property name, the created function returns the 31005 * property value for a given element. If `func` is an array or object, the 31006 * created function returns `true` for elements that contain the equivalent 31007 * source properties, otherwise it returns `false`. 31008 * 31009 * @static 31010 * @since 4.0.0 31011 * @memberOf _ 31012 * @category Util 31013 * @param {*} [func=_.identity] The value to convert to a callback. 31014 * @returns {Function} Returns the callback. 31015 * @example 31016 * 31017 * var users = [ 31018 * { 'user': 'barney', 'age': 36, 'active': true }, 31019 * { 'user': 'fred', 'age': 40, 'active': false } 31020 * ]; 31021 * 31022 * // The `_.matches` iteratee shorthand. 31023 * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); 31024 * // => [{ 'user': 'barney', 'age': 36, 'active': true }] 31025 * 31026 * // The `_.matchesProperty` iteratee shorthand. 31027 * _.filter(users, _.iteratee(['user', 'fred'])); 31028 * // => [{ 'user': 'fred', 'age': 40 }] 31029 * 31030 * // The `_.property` iteratee shorthand. 31031 * _.map(users, _.iteratee('user')); 31032 * // => ['barney', 'fred'] 31033 * 31034 * // Create custom iteratee shorthands. 31035 * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { 31036 * return !_.isRegExp(func) ? iteratee(func) : function(string) { 31037 * return func.test(string); 31038 * }; 31039 * }); 31040 * 31041 * _.filter(['abc', 'def'], /ef/); 31042 * // => ['def'] 31043 */ 31044function iteratee(func) { 31045 return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); 31046} 31047 31048module.exports = iteratee; 31049 31050 31051/***/ }), 31052
vendor: 1,321 bytes, lines 31053-31100
31053/***/ "./node_modules/lodash/keys.js": 31054/*!*************************************!*\ 31055 !*** ./node_modules/lodash/keys.js ***! 31056 \*************************************/ 31057/*! no static exports found */ 31058/***/ (function(module, exports, __webpack_require__) { 31059 31060var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), 31061 baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), 31062 isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); 31063 31064/** 31065 * Creates an array of the own enumerable property names of `object`. 31066 * 31067 * **Note:** Non-object values are coerced to objects. See the 31068 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 31069 * for more details. 31070 * 31071 * @static 31072 * @since 0.1.0 31073 * @memberOf _ 31074 * @category Object 31075 * @param {Object} object The object to query. 31076 * @returns {Array} Returns the array of property names. 31077 * @example 31078 * 31079 * function Foo() { 31080 * this.a = 1; 31081 * this.b = 2; 31082 * } 31083 * 31084 * Foo.prototype.c = 3; 31085 * 31086 * _.keys(new Foo); 31087 * // => ['a', 'b'] (iteration order is not guaranteed) 31088 * 31089 * _.keys('hi'); 31090 * // => ['0', '1'] 31091 */ 31092function keys(object) { 31093 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); 31094} 31095 31096module.exports = keys; 31097 31098 31099/***/ }), 31100
vendor: 1,225 bytes, lines 31101-31143
31101/***/ "./node_modules/lodash/keysIn.js": 31102/*!***************************************!*\ 31103 !*** ./node_modules/lodash/keysIn.js ***! 31104 \***************************************/ 31105/*! no static exports found */ 31106/***/ (function(module, exports, __webpack_require__) { 31107 31108var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), 31109 baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ "./node_modules/lodash/_baseKeysIn.js"), 31110 isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); 31111 31112/** 31113 * Creates an array of the own and inherited enumerable property names of `object`. 31114 * 31115 * **Note:** Non-object values are coerced to objects. 31116 * 31117 * @static 31118 * @memberOf _ 31119 * @since 3.0.0 31120 * @category Object 31121 * @param {Object} object The object to query. 31122 * @returns {Array} Returns the array of property names. 31123 * @example 31124 * 31125 * function Foo() { 31126 * this.a = 1; 31127 * this.b = 2; 31128 * } 31129 * 31130 * Foo.prototype.c = 3; 31131 * 31132 * _.keysIn(new Foo); 31133 * // => ['a', 'b', 'c'] (iteration order is not guaranteed) 31134 */ 31135function keysIn(object) { 31136 return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); 31137} 31138 31139module.exports = keysIn; 31140 31141 31142/***/ }), 31143
vendor: 2,102 bytes, lines 31144-31207
31144/***/ "./node_modules/lodash/map.js": 31145/*!************************************!*\ 31146 !*** ./node_modules/lodash/map.js ***! 31147 \************************************/ 31148/*! no static exports found */ 31149/***/ (function(module, exports, __webpack_require__) { 31150 31151var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), 31152 baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), 31153 baseMap = __webpack_require__(/*! ./_baseMap */ "./node_modules/lodash/_baseMap.js"), 31154 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"); 31155 31156/** 31157 * Creates an array of values by running each element in `collection` thru 31158 * `iteratee`. The iteratee is invoked with three arguments: 31159 * (value, index|key, collection). 31160 * 31161 * Many lodash methods are guarded to work as iteratees for methods like 31162 * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. 31163 * 31164 * The guarded methods are: 31165 * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, 31166 * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, 31167 * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, 31168 * `template`, `trim`, `trimEnd`, `trimStart`, and `words` 31169 * 31170 * @static 31171 * @memberOf _ 31172 * @since 0.1.0 31173 * @category Collection 31174 * @param {Array|Object} collection The collection to iterate over. 31175 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 31176 * @returns {Array} Returns the new mapped array. 31177 * @example 31178 * 31179 * function square(n) { 31180 * return n * n; 31181 * } 31182 * 31183 * _.map([4, 8], square); 31184 * // => [16, 64] 31185 * 31186 * _.map({ 'a': 4, 'b': 8 }, square); 31187 * // => [16, 64] (iteration order is not guaranteed) 31188 * 31189 * var users = [ 31190 * { 'user': 'barney' }, 31191 * { 'user': 'fred' } 31192 * ]; 31193 * 31194 * // The `_.property` iteratee shorthand. 31195 * _.map(users, 'user'); 31196 * // => ['barney', 'fred'] 31197 */ 31198function map(collection, iteratee) { 31199 var func = isArray(collection) ? arrayMap : baseMap; 31200 return func(collection, baseIteratee(iteratee, 3)); 31201} 31202 31203module.exports = map; 31204 31205 31206/***/ }), 31207
vendor: 2,558 bytes, lines 31208-31291
31208/***/ "./node_modules/lodash/memoize.js": 31209/*!****************************************!*\ 31210 !*** ./node_modules/lodash/memoize.js ***! 31211 \****************************************/ 31212/*! no static exports found */ 31213/***/ (function(module, exports, __webpack_require__) { 31214 31215var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"); 31216 31217/** Error message constants. */ 31218var FUNC_ERROR_TEXT = 'Expected a function'; 31219 31220/** 31221 * Creates a function that memoizes the result of `func`. If `resolver` is 31222 * provided, it determines the cache key for storing the result based on the 31223 * arguments provided to the memoized function. By default, the first argument 31224 * provided to the memoized function is used as the map cache key. The `func` 31225 * is invoked with the `this` binding of the memoized function. 31226 * 31227 * **Note:** The cache is exposed as the `cache` property on the memoized 31228 * function. Its creation may be customized by replacing the `_.memoize.Cache` 31229 * constructor with one whose instances implement the 31230 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) 31231 * method interface of `clear`, `delete`, `get`, `has`, and `set`. 31232 * 31233 * @static 31234 * @memberOf _ 31235 * @since 0.1.0 31236 * @category Function 31237 * @param {Function} func The function to have its output memoized. 31238 * @param {Function} [resolver] The function to resolve the cache key. 31239 * @returns {Function} Returns the new memoized function. 31240 * @example 31241 * 31242 * var object = { 'a': 1, 'b': 2 }; 31243 * var other = { 'c': 3, 'd': 4 }; 31244 * 31245 * var values = _.memoize(_.values); 31246 * values(object); 31247 * // => [1, 2] 31248 * 31249 * values(other); 31250 * // => [3, 4] 31251 * 31252 * object.a = 2; 31253 * values(object); 31254 * // => [1, 2] 31255 * 31256 * // Modify the result cache. 31257 * values.cache.set(object, ['a', 'b']); 31258 * values(object); 31259 * // => ['a', 'b'] 31260 * 31261 * // Replace `_.memoize.Cache`. 31262 * _.memoize.Cache = WeakMap; 31263 */ 31264function memoize(func, resolver) { 31265 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { 31266 throw new TypeError(FUNC_ERROR_TEXT); 31267 } 31268 var memoized = function() { 31269 var args = arguments, 31270 key = resolver ? resolver.apply(this, args) : args[0], 31271 cache = memoized.cache; 31272 31273 if (cache.has(key)) { 31274 return cache.get(key); 31275 } 31276 var result = func.apply(this, args); 31277 memoized.cache = cache.set(key, result) || cache; 31278 return result; 31279 }; 31280 memoized.cache = new (memoize.Cache || MapCache); 31281 return memoized; 31282} 31283 31284// Expose `MapCache`. 31285memoize.Cache = MapCache; 31286 31287module.exports = memoize; 31288 31289 31290/***/ }), 31291
vendor: 497 bytes, lines 31292-31319
31292/***/ "./node_modules/lodash/noop.js": 31293/*!*************************************!*\ 31294 !*** ./node_modules/lodash/noop.js ***! 31295 \*************************************/ 31296/*! no static exports found */ 31297/***/ (function(module, exports) { 31298 31299/** 31300 * This method returns `undefined`. 31301 * 31302 * @static 31303 * @memberOf _ 31304 * @since 2.3.0 31305 * @category Util 31306 * @example 31307 * 31308 * _.times(2, _.noop); 31309 * // => [undefined, undefined] 31310 */ 31311function noop() { 31312 // No operation performed. 31313} 31314 31315module.exports = noop; 31316 31317 31318/***/ }), 31319
vendor: 1,299 bytes, lines 31320-31362
31320/***/ "./node_modules/lodash/property.js": 31321/*!*****************************************!*\ 31322 !*** ./node_modules/lodash/property.js ***! 31323 \*****************************************/ 31324/*! no static exports found */ 31325/***/ (function(module, exports, __webpack_require__) { 31326 31327var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"), 31328 basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "./node_modules/lodash/_basePropertyDeep.js"), 31329 isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"), 31330 toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); 31331 31332/** 31333 * Creates a function that returns the value at `path` of a given object. 31334 * 31335 * @static 31336 * @memberOf _ 31337 * @since 2.4.0 31338 * @category Util 31339 * @param {Array|string} path The path of the property to get. 31340 * @returns {Function} Returns the new accessor function. 31341 * @example 31342 * 31343 * var objects = [ 31344 * { 'a': { 'b': 2 } }, 31345 * { 'a': { 'b': 1 } } 31346 * ]; 31347 * 31348 * _.map(objects, _.property('a.b')); 31349 * // => [2, 1] 31350 * 31351 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); 31352 * // => [1, 2] 31353 */ 31354function property(path) { 31355 return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); 31356} 31357 31358module.exports = property; 31359 31360 31361/***/ }), 31362
vendor: 1,405 bytes, lines 31363-31406
31363/***/ "./node_modules/lodash/rearg.js": 31364/*!**************************************!*\ 31365 !*** ./node_modules/lodash/rearg.js ***! 31366 \**************************************/ 31367/*! no static exports found */ 31368/***/ (function(module, exports, __webpack_require__) { 31369 31370var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js"), 31371 flatRest = __webpack_require__(/*! ./_flatRest */ "./node_modules/lodash/_flatRest.js"); 31372 31373/** Used to compose bitmasks for function metadata. */ 31374var WRAP_REARG_FLAG = 256; 31375 31376/** 31377 * Creates a function that invokes `func` with arguments arranged according 31378 * to the specified `indexes` where the argument value at the first index is 31379 * provided as the first argument, the argument value at the second index is 31380 * provided as the second argument, and so on. 31381 * 31382 * @static 31383 * @memberOf _ 31384 * @since 3.0.0 31385 * @category Function 31386 * @param {Function} func The function to rearrange arguments for. 31387 * @param {...(number|number[])} indexes The arranged argument indexes. 31388 * @returns {Function} Returns the new function. 31389 * @example 31390 * 31391 * var rearged = _.rearg(function(a, b, c) { 31392 * return [a, b, c]; 31393 * }, [2, 0, 1]); 31394 * 31395 * rearged('b', 'c', 'a') 31396 * // => ['a', 'b', 'c'] 31397 */ 31398var rearg = flatRest(function(func, indexes) { 31399 return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); 31400}); 31401 31402module.exports = rearg; 31403 31404 31405/***/ }), 31406
vendor: 657 bytes, lines 31407-31440
31407/***/ "./node_modules/lodash/stubArray.js": 31408/*!******************************************!*\ 31409 !*** ./node_modules/lodash/stubArray.js ***! 31410 \******************************************/ 31411/*! no static exports found */ 31412/***/ (function(module, exports) { 31413 31414/** 31415 * This method returns a new empty array. 31416 * 31417 * @static 31418 * @memberOf _ 31419 * @since 4.13.0 31420 * @category Util 31421 * @returns {Array} Returns the new empty array. 31422 * @example 31423 * 31424 * var arrays = _.times(2, _.stubArray); 31425 * 31426 * console.log(arrays); 31427 * // => [[], []] 31428 * 31429 * console.log(arrays[0] === arrays[1]); 31430 * // => false 31431 */ 31432function stubArray() { 31433 return []; 31434} 31435 31436module.exports = stubArray; 31437 31438 31439/***/ }), 31440
vendor: 547 bytes, lines 31441-31469
31441/***/ "./node_modules/lodash/stubFalse.js": 31442/*!******************************************!*\ 31443 !*** ./node_modules/lodash/stubFalse.js ***! 31444 \******************************************/ 31445/*! no static exports found */ 31446/***/ (function(module, exports) { 31447 31448/** 31449 * This method returns `false`. 31450 * 31451 * @static 31452 * @memberOf _ 31453 * @since 4.13.0 31454 * @category Util 31455 * @returns {boolean} Returns `false`. 31456 * @example 31457 * 31458 * _.times(2, _.stubFalse); 31459 * // => [false, false] 31460 */ 31461function stubFalse() { 31462 return false; 31463} 31464 31465module.exports = stubFalse; 31466 31467 31468/***/ }), 31469
vendor: 1,205 bytes, lines 31470-31522
31470/***/ "./node_modules/lodash/toFinite.js": 31471/*!*****************************************!*\ 31472 !*** ./node_modules/lodash/toFinite.js ***! 31473 \*****************************************/ 31474/*! no static exports found */ 31475/***/ (function(module, exports, __webpack_require__) { 31476 31477var toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js"); 31478 31479/** Used as references for various `Number` constants. */ 31480var INFINITY = 1 / 0, 31481 MAX_INTEGER = 1.7976931348623157e+308; 31482 31483/** 31484 * Converts `value` to a finite number. 31485 * 31486 * @static 31487 * @memberOf _ 31488 * @since 4.12.0 31489 * @category Lang 31490 * @param {*} value The value to convert. 31491 * @returns {number} Returns the converted number. 31492 * @example 31493 * 31494 * _.toFinite(3.2); 31495 * // => 3.2 31496 * 31497 * _.toFinite(Number.MIN_VALUE); 31498 * // => 5e-324 31499 * 31500 * _.toFinite(Infinity); 31501 * // => 1.7976931348623157e+308 31502 * 31503 * _.toFinite('3.2'); 31504 * // => 3.2 31505 */ 31506function toFinite(value) { 31507 if (!value) { 31508 return value === 0 ? value : 0; 31509 } 31510 value = toNumber(value); 31511 if (value === INFINITY || value === -INFINITY) { 31512 var sign = (value < 0 ? -1 : 1); 31513 return sign * MAX_INTEGER; 31514 } 31515 return value === value ? value : 0; 31516} 31517 31518module.exports = toFinite; 31519 31520 31521/***/ }), 31522
vendor: 1,101 bytes, lines 31523-31569
31523/***/ "./node_modules/lodash/toInteger.js": 31524/*!******************************************!*\ 31525 !*** ./node_modules/lodash/toInteger.js ***! 31526 \******************************************/ 31527/*! no static exports found */ 31528/***/ (function(module, exports, __webpack_require__) { 31529 31530var toFinite = __webpack_require__(/*! ./toFinite */ "./node_modules/lodash/toFinite.js"); 31531 31532/** 31533 * Converts `value` to an integer. 31534 * 31535 * **Note:** This method is loosely based on 31536 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). 31537 * 31538 * @static 31539 * @memberOf _ 31540 * @since 4.0.0 31541 * @category Lang 31542 * @param {*} value The value to convert. 31543 * @returns {number} Returns the converted integer. 31544 * @example 31545 * 31546 * _.toInteger(3.2); 31547 * // => 3 31548 * 31549 * _.toInteger(Number.MIN_VALUE); 31550 * // => 0 31551 * 31552 * _.toInteger(Infinity); 31553 * // => 1.7976931348623157e+308 31554 * 31555 * _.toInteger('3.2'); 31556 * // => 3 31557 */ 31558function toInteger(value) { 31559 var result = toFinite(value), 31560 remainder = result % 1; 31561 31562 return result === result ? (remainder ? result - remainder : result) : 0; 31563} 31564 31565module.exports = toInteger; 31566 31567 31568/***/ }), 31569
vendor: 1,962 bytes, lines 31570-31646
31570/***/ "./node_modules/lodash/toNumber.js": 31571/*!*****************************************!*\ 31572 !*** ./node_modules/lodash/toNumber.js ***! 31573 \*****************************************/ 31574/*! no static exports found */ 31575/***/ (function(module, exports, __webpack_require__) { 31576 31577var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 31578 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 31579 31580/** Used as references for various `Number` constants. */ 31581var NAN = 0 / 0; 31582 31583/** Used to match leading and trailing whitespace. */ 31584var reTrim = /^\s+|\s+$/g; 31585 31586/** Used to detect bad signed hexadecimal string values. */ 31587var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; 31588 31589/** Used to detect binary string values. */ 31590var reIsBinary = /^0b[01]+$/i; 31591 31592/** Used to detect octal string values. */ 31593var reIsOctal = /^0o[0-7]+$/i; 31594 31595/** Built-in method references without a dependency on `root`. */ 31596var freeParseInt = parseInt; 31597 31598/** 31599 * Converts `value` to a number. 31600 * 31601 * @static 31602 * @memberOf _ 31603 * @since 4.0.0 31604 * @category Lang 31605 * @param {*} value The value to process. 31606 * @returns {number} Returns the number. 31607 * @example 31608 * 31609 * _.toNumber(3.2); 31610 * // => 3.2 31611 * 31612 * _.toNumber(Number.MIN_VALUE); 31613 * // => 5e-324 31614 * 31615 * _.toNumber(Infinity); 31616 * // => Infinity 31617 * 31618 * _.toNumber('3.2'); 31619 * // => 3.2 31620 */ 31621function toNumber(value) { 31622 if (typeof value == 'number') { 31623 return value; 31624 } 31625 if (isSymbol(value)) { 31626 return NAN; 31627 } 31628 if (isObject(value)) { 31629 var other = typeof value.valueOf == 'function' ? value.valueOf() : value; 31630 value = isObject(other) ? (other + '') : other; 31631 } 31632 if (typeof value != 'string') { 31633 return value === 0 ? value : +value; 31634 } 31635 value = value.replace(reTrim, ''); 31636 var isBinary = reIsBinary.test(value); 31637 return (isBinary || reIsOctal.test(value)) 31638 ? freeParseInt(value.slice(2), isBinary ? 2 : 8) 31639 : (reIsBadHex.test(value) ? NAN : +value); 31640} 31641 31642module.exports = toNumber; 31643 31644 31645/***/ }), 31646
vendor: 1,456 bytes, lines 31647-31690
31647/***/ "./node_modules/lodash/toPath.js": 31648/*!***************************************!*\ 31649 !*** ./node_modules/lodash/toPath.js ***! 31650 \***************************************/ 31651/*! no static exports found */ 31652/***/ (function(module, exports, __webpack_require__) { 31653 31654var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), 31655 copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"), 31656 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 31657 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"), 31658 stringToPath = __webpack_require__(/*! ./_stringToPath */ "./node_modules/lodash/_stringToPath.js"), 31659 toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"), 31660 toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js"); 31661 31662/** 31663 * Converts `value` to a property path array. 31664 * 31665 * @static 31666 * @memberOf _ 31667 * @since 4.0.0 31668 * @category Util 31669 * @param {*} value The value to convert. 31670 * @returns {Array} Returns the new property path array. 31671 * @example 31672 * 31673 * _.toPath('a.b.c'); 31674 * // => ['a', 'b', 'c'] 31675 * 31676 * _.toPath('a[0].b.c'); 31677 * // => ['a', '0', 'b', 'c'] 31678 */ 31679function toPath(value) { 31680 if (isArray(value)) { 31681 return arrayMap(value, toKey); 31682 } 31683 return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); 31684} 31685 31686module.exports = toPath; 31687 31688 31689/***/ }), 31690
vendor: 922 bytes, lines 31691-31729
31691/***/ "./node_modules/lodash/toString.js": 31692/*!*****************************************!*\ 31693 !*** ./node_modules/lodash/toString.js ***! 31694 \*****************************************/ 31695/*! no static exports found */ 31696/***/ (function(module, exports, __webpack_require__) { 31697 31698var baseToString = __webpack_require__(/*! ./_baseToString */ "./node_modules/lodash/_baseToString.js"); 31699 31700/** 31701 * Converts `value` to a string. An empty string is returned for `null` 31702 * and `undefined` values. The sign of `-0` is preserved. 31703 * 31704 * @static 31705 * @memberOf _ 31706 * @since 4.0.0 31707 * @category Lang 31708 * @param {*} value The value to convert. 31709 * @returns {string} Returns the converted string. 31710 * @example 31711 * 31712 * _.toString(null); 31713 * // => '' 31714 * 31715 * _.toString(-0); 31716 * // => '-0' 31717 * 31718 * _.toString([1, 2, 3]); 31719 * // => '1,2,3' 31720 */ 31721function toString(value) { 31722 return value == null ? '' : baseToString(value); 31723} 31724 31725module.exports = toString; 31726 31727 31728/***/ }), 31729
vendor: 7,585 bytes, lines 31730-31887
31730/***/ "./node_modules/lodash/wrapperLodash.js": 31731/*!**********************************************!*\ 31732 !*** ./node_modules/lodash/wrapperLodash.js ***! 31733 \**********************************************/ 31734/*! no static exports found */ 31735/***/ (function(module, exports, __webpack_require__) { 31736 31737var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"), 31738 LodashWrapper = __webpack_require__(/*! ./_LodashWrapper */ "./node_modules/lodash/_LodashWrapper.js"), 31739 baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js"), 31740 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 31741 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"), 31742 wrapperClone = __webpack_require__(/*! ./_wrapperClone */ "./node_modules/lodash/_wrapperClone.js"); 31743 31744/** Used for built-in method references. */ 31745var objectProto = Object.prototype; 31746 31747/** Used to check objects for own properties. */ 31748var hasOwnProperty = objectProto.hasOwnProperty; 31749 31750/** 31751 * Creates a `lodash` object which wraps `value` to enable implicit method 31752 * chain sequences. Methods that operate on and return arrays, collections, 31753 * and functions can be chained together. Methods that retrieve a single value 31754 * or may return a primitive value will automatically end the chain sequence 31755 * and return the unwrapped value. Otherwise, the value must be unwrapped 31756 * with `_#value`. 31757 * 31758 * Explicit chain sequences, which must be unwrapped with `_#value`, may be 31759 * enabled using `_.chain`. 31760 * 31761 * The execution of chained methods is lazy, that is, it's deferred until 31762 * `_#value` is implicitly or explicitly called. 31763 * 31764 * Lazy evaluation allows several methods to support shortcut fusion. 31765 * Shortcut fusion is an optimization to merge iteratee calls; this avoids 31766 * the creation of intermediate arrays and can greatly reduce the number of 31767 * iteratee executions. Sections of a chain sequence qualify for shortcut 31768 * fusion if the section is applied to an array and iteratees accept only 31769 * one argument. The heuristic for whether a section qualifies for shortcut 31770 * fusion is subject to change. 31771 * 31772 * Chaining is supported in custom builds as long as the `_#value` method is 31773 * directly or indirectly included in the build. 31774 * 31775 * In addition to lodash methods, wrappers have `Array` and `String` methods. 31776 * 31777 * The wrapper `Array` methods are: 31778 * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` 31779 * 31780 * The wrapper `String` methods are: 31781 * `replace` and `split` 31782 * 31783 * The wrapper methods that support shortcut fusion are: 31784 * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, 31785 * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, 31786 * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` 31787 * 31788 * The chainable wrapper methods are: 31789 * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, 31790 * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, 31791 * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, 31792 * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, 31793 * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, 31794 * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, 31795 * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, 31796 * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, 31797 * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, 31798 * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, 31799 * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, 31800 * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, 31801 * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, 31802 * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, 31803 * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, 31804 * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, 31805 * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, 31806 * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, 31807 * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, 31808 * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, 31809 * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, 31810 * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, 31811 * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, 31812 * `zipObject`, `zipObjectDeep`, and `zipWith` 31813 * 31814 * The wrapper methods that are **not** chainable by default are: 31815 * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, 31816 * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, 31817 * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, 31818 * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, 31819 * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, 31820 * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, 31821 * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, 31822 * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, 31823 * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, 31824 * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, 31825 * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, 31826 * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, 31827 * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, 31828 * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, 31829 * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, 31830 * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, 31831 * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, 31832 * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, 31833 * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, 31834 * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, 31835 * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, 31836 * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, 31837 * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, 31838 * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, 31839 * `upperFirst`, `value`, and `words` 31840 * 31841 * @name _ 31842 * @constructor 31843 * @category Seq 31844 * @param {*} value The value to wrap in a `lodash` instance. 31845 * @returns {Object} Returns the new `lodash` wrapper instance. 31846 * @example 31847 * 31848 * function square(n) { 31849 * return n * n; 31850 * } 31851 * 31852 * var wrapped = _([1, 2, 3]); 31853 * 31854 * // Returns an unwrapped value. 31855 * wrapped.reduce(_.add); 31856 * // => 6 31857 * 31858 * // Returns a wrapped value. 31859 * var squares = wrapped.map(square); 31860 * 31861 * _.isArray(squares); 31862 * // => false 31863 * 31864 * _.isArray(squares.value()); 31865 * // => true 31866 */ 31867function lodash(value) { 31868 if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { 31869 if (value instanceof LodashWrapper) { 31870 return value; 31871 } 31872 if (hasOwnProperty.call(value, '__wrapped__')) { 31873 return wrapperClone(value); 31874 } 31875 } 31876 return new LodashWrapper(value); 31877} 31878 31879// Ensure wrappers are instances of `baseLodash`. 31880lodash.prototype = baseLodash.prototype; 31881lodash.prototype.constructor = lodash; 31882 31883module.exports = lodash; 31884 31885 31886/***/ }), 31887
vendor: 2,409 bytes, lines 31888-31989
31888/***/ "./node_modules/object-assign/index.js": 31889/*!*********************************************!*\ 31890 !*** ./node_modules/object-assign/index.js ***! 31891 \*********************************************/ 31892/*! no static exports found */ 31893/***/ (function(module, exports, __webpack_require__) { 31894 31895"use strict"; 31896/* 31897object-assign 31898(c) Sindre Sorhus 31899@license MIT 31900*/ 31901 31902 31903/* eslint-disable no-unused-vars */ 31904var getOwnPropertySymbols = Object.getOwnPropertySymbols; 31905var hasOwnProperty = Object.prototype.hasOwnProperty; 31906var propIsEnumerable = Object.prototype.propertyIsEnumerable; 31907 31908function toObject(val) { 31909 if (val === null || val === undefined) { 31910 throw new TypeError('Object.assign cannot be called with null or undefined'); 31911 } 31912 31913 return Object(val); 31914} 31915 31916function shouldUseNative() { 31917 try { 31918 if (!Object.assign) { 31919 return false; 31920 } 31921 31922 // Detect buggy property enumeration order in older V8 versions. 31923 31924 // https://bugs.chromium.org/p/v8/issues/detail?id=4118 31925 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers 31926 test1[5] = 'de'; 31927 if (Object.getOwnPropertyNames(test1)[0] === '5') { 31928 return false; 31929 } 31930 31931 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 31932 var test2 = {}; 31933 for (var i = 0; i < 10; i++) { 31934 test2['_' + String.fromCharCode(i)] = i; 31935 } 31936 var order2 = Object.getOwnPropertyNames(test2).map(function (n) { 31937 return test2[n]; 31938 }); 31939 if (order2.join('') !== '0123456789') { 31940 return false; 31941 } 31942 31943 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 31944 var test3 = {}; 31945 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { 31946 test3[letter] = letter; 31947 }); 31948 if (Object.keys(Object.assign({}, test3)).join('') !== 31949 'abcdefghijklmnopqrst') { 31950 return false; 31951 } 31952 31953 return true; 31954 } catch (err) { 31955 // We don't expect any of the above to throw, but better to be safe. 31956 return false; 31957 } 31958} 31959 31960module.exports = shouldUseNative() ? Object.assign : function (target, source) { 31961 var from; 31962 var to = toObject(target); 31963 var symbols; 31964 31965 for (var s = 1; s < arguments.length; s++) { 31966 from = Object(arguments[s]); 31967 31968 for (var key in from) { 31969 if (hasOwnProperty.call(from, key)) { 31970 to[key] = from[key]; 31971 } 31972 } 31973 31974 if (getOwnPropertySymbols) { 31975 symbols = getOwnPropertySymbols(from); 31976 for (var i = 0; i < symbols.length; i++) { 31977 if (propIsEnumerable.call(from, symbols[i])) { 31978 to[symbols[i]] = from[symbols[i]]; 31979 } 31980 } 31981 } 31982 } 31983 31984 return to; 31985}; 31986 31987 31988/***/ }), 31989
vendor: 4,080 bytes, lines 31990-32103
31990/***/ "./node_modules/prop-types/checkPropTypes.js": 31991/*!***************************************************!*\ 31992 !*** ./node_modules/prop-types/checkPropTypes.js ***! 31993 \***************************************************/ 31994/*! no static exports found */ 31995/***/ (function(module, exports, __webpack_require__) { 31996 31997"use strict"; 31998/** 31999 * Copyright (c) 2013-present, Facebook, Inc. 32000 * 32001 * This source code is licensed under the MIT license found in the 32002 * LICENSE file in the root directory of this source tree. 32003 */ 32004 32005 32006 32007var printWarning = function() {}; 32008 32009if (true) { 32010 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); 32011 var loggedTypeFailures = {}; 32012 var has = Function.call.bind(Object.prototype.hasOwnProperty); 32013 32014 printWarning = function(text) { 32015 var message = 'Warning: ' + text; 32016 if (typeof console !== 'undefined') { 32017 console.error(message); 32018 } 32019 try { 32020 // --- Welcome to debugging React --- 32021 // This error was thrown as a convenience so that you can use this stack 32022 // to find the callsite that caused this warning to fire. 32023 throw new Error(message); 32024 } catch (x) {} 32025 }; 32026} 32027 32028/** 32029 * Assert that the values match with the type specs. 32030 * Error messages are memorized and will only be shown once. 32031 * 32032 * @param {object} typeSpecs Map of name to a ReactPropType 32033 * @param {object} values Runtime values that need to be type-checked 32034 * @param {string} location e.g. "prop", "context", "child context" 32035 * @param {string} componentName Name of the component for error messages. 32036 * @param {?Function} getStack Returns the component stack. 32037 * @private 32038 */ 32039function checkPropTypes(typeSpecs, values, location, componentName, getStack) { 32040 if (true) { 32041 for (var typeSpecName in typeSpecs) { 32042 if (has(typeSpecs, typeSpecName)) { 32043 var error; 32044 // Prop type validation may throw. In case they do, we don't want to 32045 // fail the render phase where it didn't fail before. So we log it. 32046 // After these have been cleaned up, we'll let them throw. 32047 try { 32048 // This is intentionally an invariant that gets caught. It's the same 32049 // behavior as without this statement except with a better message. 32050 if (typeof typeSpecs[typeSpecName] !== 'function') { 32051 var err = Error( 32052 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 32053 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' 32054 ); 32055 err.name = 'Invariant Violation'; 32056 throw err; 32057 } 32058 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); 32059 } catch (ex) { 32060 error = ex; 32061 } 32062 if (error && !(error instanceof Error)) { 32063 printWarning( 32064 (componentName || 'React class') + ': type specification of ' + 32065 location + ' `' + typeSpecName + '` is invalid; the type checker ' + 32066 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 32067 'You may have forgotten to pass an argument to the type checker ' + 32068 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 32069 'shape all require an argument).' 32070 ); 32071 } 32072 if (error instanceof Error && !(error.message in loggedTypeFailures)) { 32073 // Only monitor this failure once because there tends to be a lot of the 32074 // same error. 32075 loggedTypeFailures[error.message] = true; 32076 32077 var stack = getStack ? getStack() : ''; 32078 32079 printWarning( 32080 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') 32081 ); 32082 } 32083 } 32084 } 32085 } 32086} 32087 32088/** 32089 * Resets warning cache when testing. 32090 * 32091 * @private 32092 */ 32093checkPropTypes.resetWarningCache = function() { 32094 if (true) { 32095 loggedTypeFailures = {}; 32096 } 32097} 32098 32099module.exports = checkPropTypes; 32100 32101 32102/***/ }), 32103
vendor: 22,009 bytes, lines 32104-32706
32104/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js": 32105/*!************************************************************!*\ 32106 !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***! 32107 \************************************************************/ 32108/*! no static exports found */ 32109/***/ (function(module, exports, __webpack_require__) { 32110 32111"use strict"; 32112/** 32113 * Copyright (c) 2013-present, Facebook, Inc. 32114 * 32115 * This source code is licensed under the MIT license found in the 32116 * LICENSE file in the root directory of this source tree. 32117 */ 32118 32119 32120 32121var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); 32122var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); 32123 32124var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); 32125var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); 32126 32127var has = Function.call.bind(Object.prototype.hasOwnProperty); 32128var printWarning = function() {}; 32129 32130if (true) { 32131 printWarning = function(text) { 32132 var message = 'Warning: ' + text; 32133 if (typeof console !== 'undefined') { 32134 console.error(message); 32135 } 32136 try { 32137 // --- Welcome to debugging React --- 32138 // This error was thrown as a convenience so that you can use this stack 32139 // to find the callsite that caused this warning to fire. 32140 throw new Error(message); 32141 } catch (x) {} 32142 }; 32143} 32144 32145function emptyFunctionThatReturnsNull() { 32146 return null; 32147} 32148 32149module.exports = function(isValidElement, throwOnDirectAccess) { 32150 /* global Symbol */ 32151 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; 32152 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. 32153 32154 /** 32155 * Returns the iterator method function contained on the iterable object. 32156 * 32157 * Be sure to invoke the function with the iterable as context: 32158 * 32159 * var iteratorFn = getIteratorFn(myIterable); 32160 * if (iteratorFn) { 32161 * var iterator = iteratorFn.call(myIterable); 32162 * ... 32163 * } 32164 * 32165 * @param {?object} maybeIterable 32166 * @return {?function} 32167 */ 32168 function getIteratorFn(maybeIterable) { 32169 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); 32170 if (typeof iteratorFn === 'function') { 32171 return iteratorFn; 32172 } 32173 } 32174 32175 /** 32176 * Collection of methods that allow declaration and validation of props that are 32177 * supplied to React components. Example usage: 32178 * 32179 * var Props = require('ReactPropTypes'); 32180 * var MyArticle = React.createClass({ 32181 * propTypes: { 32182 * // An optional string prop named "description". 32183 * description: Props.string, 32184 * 32185 * // A required enum prop named "category". 32186 * category: Props.oneOf(['News','Photos']).isRequired, 32187 * 32188 * // A prop named "dialog" that requires an instance of Dialog. 32189 * dialog: Props.instanceOf(Dialog).isRequired 32190 * }, 32191 * render: function() { ... } 32192 * }); 32193 * 32194 * A more formal specification of how these methods are used: 32195 * 32196 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) 32197 * decl := ReactPropTypes.{type}(.isRequired)? 32198 * 32199 * Each and every declaration produces a function with the same signature. This 32200 * allows the creation of custom validation functions. For example: 32201 * 32202 * var MyLink = React.createClass({ 32203 * propTypes: { 32204 * // An optional string or URI prop named "href". 32205 * href: function(props, propName, componentName) { 32206 * var propValue = props[propName]; 32207 * if (propValue != null && typeof propValue !== 'string' && 32208 * !(propValue instanceof URI)) { 32209 * return new Error( 32210 * 'Expected a string or an URI for ' + propName + ' in ' + 32211 * componentName 32212 * ); 32213 * } 32214 * } 32215 * }, 32216 * render: function() {...} 32217 * }); 32218 * 32219 * @internal 32220 */ 32221 32222 var ANONYMOUS = '<<anonymous>>'; 32223 32224 // Important! 32225 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. 32226 var ReactPropTypes = { 32227 array: createPrimitiveTypeChecker('array'), 32228 bool: createPrimitiveTypeChecker('boolean'), 32229 func: createPrimitiveTypeChecker('function'), 32230 number: createPrimitiveTypeChecker('number'), 32231 object: createPrimitiveTypeChecker('object'), 32232 string: createPrimitiveTypeChecker('string'), 32233 symbol: createPrimitiveTypeChecker('symbol'), 32234 32235 any: createAnyTypeChecker(), 32236 arrayOf: createArrayOfTypeChecker, 32237 element: createElementTypeChecker(), 32238 elementType: createElementTypeTypeChecker(), 32239 instanceOf: createInstanceTypeChecker, 32240 node: createNodeChecker(), 32241 objectOf: createObjectOfTypeChecker, 32242 oneOf: createEnumTypeChecker, 32243 oneOfType: createUnionTypeChecker, 32244 shape: createShapeTypeChecker, 32245 exact: createStrictShapeTypeChecker, 32246 }; 32247 32248 /** 32249 * inlined Object.is polyfill to avoid requiring consumers ship their own 32250 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is 32251 */ 32252 /*eslint-disable no-self-compare*/ 32253 function is(x, y) { 32254 // SameValue algorithm 32255 if (x === y) { 32256 // Steps 1-5, 7-10 32257 // Steps 6.b-6.e: +0 != -0 32258 return x !== 0 || 1 / x === 1 / y; 32259 } else { 32260 // Step 6.a: NaN == NaN 32261 return x !== x && y !== y; 32262 } 32263 } 32264 /*eslint-enable no-self-compare*/ 32265 32266 /** 32267 * We use an Error-like object for backward compatibility as people may call 32268 * PropTypes directly and inspect their output. However, we don't use real 32269 * Errors anymore. We don't inspect their stack anyway, and creating them 32270 * is prohibitively expensive if they are created too often, such as what 32271 * happens in oneOfType() for any type before the one that matched. 32272 */ 32273 function PropTypeError(message) { 32274 this.message = message; 32275 this.stack = ''; 32276 } 32277 // Make `instanceof Error` still work for returned errors. 32278 PropTypeError.prototype = Error.prototype; 32279 32280 function createChainableTypeChecker(validate) { 32281 if (true) { 32282 var manualPropTypeCallCache = {}; 32283 var manualPropTypeWarningCount = 0; 32284 } 32285 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { 32286 componentName = componentName || ANONYMOUS; 32287 propFullName = propFullName || propName; 32288 32289 if (secret !== ReactPropTypesSecret) { 32290 if (throwOnDirectAccess) { 32291 // New behavior only for users of `prop-types` package 32292 var err = new Error( 32293 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 32294 'Use `PropTypes.checkPropTypes()` to call them. ' + 32295 'Read more at http://fb.me/use-check-prop-types' 32296 ); 32297 err.name = 'Invariant Violation'; 32298 throw err; 32299 } else if ( true && typeof console !== 'undefined') { 32300 // Old behavior for people using React.PropTypes 32301 var cacheKey = componentName + ':' + propName; 32302 if ( 32303 !manualPropTypeCallCache[cacheKey] && 32304 // Avoid spamming the console because they are often not actionable except for lib authors 32305 manualPropTypeWarningCount < 3 32306 ) { 32307 printWarning( 32308 'You are manually calling a React.PropTypes validation ' + 32309 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 32310 'and will throw in the standalone `prop-types` package. ' + 32311 'You may be seeing this warning due to a third-party PropTypes ' + 32312 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' 32313 ); 32314 manualPropTypeCallCache[cacheKey] = true; 32315 manualPropTypeWarningCount++; 32316 } 32317 } 32318 } 32319 if (props[propName] == null) { 32320 if (isRequired) { 32321 if (props[propName] === null) { 32322 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); 32323 } 32324 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); 32325 } 32326 return null; 32327 } else { 32328 return validate(props, propName, componentName, location, propFullName); 32329 } 32330 } 32331 32332 var chainedCheckType = checkType.bind(null, false); 32333 chainedCheckType.isRequired = checkType.bind(null, true); 32334 32335 return chainedCheckType; 32336 } 32337 32338 function createPrimitiveTypeChecker(expectedType) { 32339 function validate(props, propName, componentName, location, propFullName, secret) { 32340 var propValue = props[propName]; 32341 var propType = getPropType(propValue); 32342 if (propType !== expectedType) { 32343 // `propValue` being instance of, say, date/regexp, pass the 'object' 32344 // check, but we can offer a more precise error message here rather than 32345 // 'of type `object`'. 32346 var preciseType = getPreciseType(propValue); 32347 32348 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); 32349 } 32350 return null; 32351 } 32352 return createChainableTypeChecker(validate); 32353 } 32354 32355 function createAnyTypeChecker() { 32356 return createChainableTypeChecker(emptyFunctionThatReturnsNull); 32357 } 32358 32359 function createArrayOfTypeChecker(typeChecker) { 32360 function validate(props, propName, componentName, location, propFullName) { 32361 if (typeof typeChecker !== 'function') { 32362 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); 32363 } 32364 var propValue = props[propName]; 32365 if (!Array.isArray(propValue)) { 32366 var propType = getPropType(propValue); 32367 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); 32368 } 32369 for (var i = 0; i < propValue.length; i++) { 32370 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); 32371 if (error instanceof Error) { 32372 return error; 32373 } 32374 } 32375 return null; 32376 } 32377 return createChainableTypeChecker(validate); 32378 } 32379 32380 function createElementTypeChecker() { 32381 function validate(props, propName, componentName, location, propFullName) { 32382 var propValue = props[propName]; 32383 if (!isValidElement(propValue)) { 32384 var propType = getPropType(propValue); 32385 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); 32386 } 32387 return null; 32388 } 32389 return createChainableTypeChecker(validate); 32390 } 32391 32392 function createElementTypeTypeChecker() { 32393 function validate(props, propName, componentName, location, propFullName) { 32394 var propValue = props[propName]; 32395 if (!ReactIs.isValidElementType(propValue)) { 32396 var propType = getPropType(propValue); 32397 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); 32398 } 32399 return null; 32400 } 32401 return createChainableTypeChecker(validate); 32402 } 32403 32404 function createInstanceTypeChecker(expectedClass) { 32405 function validate(props, propName, componentName, location, propFullName) { 32406 if (!(props[propName] instanceof expectedClass)) { 32407 var expectedClassName = expectedClass.name || ANONYMOUS; 32408 var actualClassName = getClassName(props[propName]); 32409 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); 32410 } 32411 return null; 32412 } 32413 return createChainableTypeChecker(validate); 32414 } 32415 32416 function createEnumTypeChecker(expectedValues) { 32417 if (!Array.isArray(expectedValues)) { 32418 if (true) { 32419 if (arguments.length > 1) { 32420 printWarning( 32421 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 32422 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' 32423 ); 32424 } else { 32425 printWarning('Invalid argument supplied to oneOf, expected an array.'); 32426 } 32427 } 32428 return emptyFunctionThatReturnsNull; 32429 } 32430 32431 function validate(props, propName, componentName, location, propFullName) { 32432 var propValue = props[propName]; 32433 for (var i = 0; i < expectedValues.length; i++) { 32434 if (is(propValue, expectedValues[i])) { 32435 return null; 32436 } 32437 } 32438 32439 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { 32440 var type = getPreciseType(value); 32441 if (type === 'symbol') { 32442 return String(value); 32443 } 32444 return value; 32445 }); 32446 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); 32447 } 32448 return createChainableTypeChecker(validate); 32449 } 32450 32451 function createObjectOfTypeChecker(typeChecker) { 32452 function validate(props, propName, componentName, location, propFullName) { 32453 if (typeof typeChecker !== 'function') { 32454 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); 32455 } 32456 var propValue = props[propName]; 32457 var propType = getPropType(propValue); 32458 if (propType !== 'object') { 32459 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); 32460 } 32461 for (var key in propValue) { 32462 if (has(propValue, key)) { 32463 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); 32464 if (error instanceof Error) { 32465 return error; 32466 } 32467 } 32468 } 32469 return null; 32470 } 32471 return createChainableTypeChecker(validate); 32472 } 32473 32474 function createUnionTypeChecker(arrayOfTypeCheckers) { 32475 if (!Array.isArray(arrayOfTypeCheckers)) { 32476 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined; 32477 return emptyFunctionThatReturnsNull; 32478 } 32479 32480 for (var i = 0; i < arrayOfTypeCheckers.length; i++) { 32481 var checker = arrayOfTypeCheckers[i]; 32482 if (typeof checker !== 'function') { 32483 printWarning( 32484 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 32485 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' 32486 ); 32487 return emptyFunctionThatReturnsNull; 32488 } 32489 } 32490 32491 function validate(props, propName, componentName, location, propFullName) { 32492 for (var i = 0; i < arrayOfTypeCheckers.length; i++) { 32493 var checker = arrayOfTypeCheckers[i]; 32494 if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { 32495 return null; 32496 } 32497 } 32498 32499 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); 32500 } 32501 return createChainableTypeChecker(validate); 32502 } 32503 32504 function createNodeChecker() { 32505 function validate(props, propName, componentName, location, propFullName) { 32506 if (!isNode(props[propName])) { 32507 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); 32508 } 32509 return null; 32510 } 32511 return createChainableTypeChecker(validate); 32512 } 32513 32514 function createShapeTypeChecker(shapeTypes) { 32515 function validate(props, propName, componentName, location, propFullName) { 32516 var propValue = props[propName]; 32517 var propType = getPropType(propValue); 32518 if (propType !== 'object') { 32519 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); 32520 } 32521 for (var key in shapeTypes) { 32522 var checker = shapeTypes[key]; 32523 if (!checker) { 32524 continue; 32525 } 32526 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); 32527 if (error) { 32528 return error; 32529 } 32530 } 32531 return null; 32532 } 32533 return createChainableTypeChecker(validate); 32534 } 32535 32536 function createStrictShapeTypeChecker(shapeTypes) { 32537 function validate(props, propName, componentName, location, propFullName) { 32538 var propValue = props[propName]; 32539 var propType = getPropType(propValue); 32540 if (propType !== 'object') { 32541 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); 32542 } 32543 // We need to check all keys in case some are required but missing from 32544 // props. 32545 var allKeys = assign({}, props[propName], shapeTypes); 32546 for (var key in allKeys) { 32547 var checker = shapeTypes[key]; 32548 if (!checker) { 32549 return new PropTypeError( 32550 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + 32551 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + 32552 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') 32553 ); 32554 } 32555 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); 32556 if (error) { 32557 return error; 32558 } 32559 } 32560 return null; 32561 } 32562 32563 return createChainableTypeChecker(validate); 32564 } 32565 32566 function isNode(propValue) { 32567 switch (typeof propValue) { 32568 case 'number': 32569 case 'string': 32570 case 'undefined': 32571 return true; 32572 case 'boolean': 32573 return !propValue; 32574 case 'object': 32575 if (Array.isArray(propValue)) { 32576 return propValue.every(isNode); 32577 } 32578 if (propValue === null || isValidElement(propValue)) { 32579 return true; 32580 } 32581 32582 var iteratorFn = getIteratorFn(propValue); 32583 if (iteratorFn) { 32584 var iterator = iteratorFn.call(propValue); 32585 var step; 32586 if (iteratorFn !== propValue.entries) { 32587 while (!(step = iterator.next()).done) { 32588 if (!isNode(step.value)) { 32589 return false; 32590 } 32591 } 32592 } else { 32593 // Iterator will provide entry [k,v] tuples rather than values. 32594 while (!(step = iterator.next()).done) { 32595 var entry = step.value; 32596 if (entry) { 32597 if (!isNode(entry[1])) { 32598 return false; 32599 } 32600 } 32601 } 32602 } 32603 } else { 32604 return false; 32605 } 32606 32607 return true; 32608 default: 32609 return false; 32610 } 32611 } 32612 32613 function isSymbol(propType, propValue) { 32614 // Native Symbol. 32615 if (propType === 'symbol') { 32616 return true; 32617 } 32618 32619 // falsy value can't be a Symbol 32620 if (!propValue) { 32621 return false; 32622 } 32623 32624 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' 32625 if (propValue['@@toStringTag'] === 'Symbol') { 32626 return true; 32627 } 32628 32629 // Fallback for non-spec compliant Symbols which are polyfilled. 32630 if (typeof Symbol === 'function' && propValue instanceof Symbol) { 32631 return true; 32632 } 32633 32634 return false; 32635 } 32636 32637 // Equivalent of `typeof` but with special handling for array and regexp. 32638 function getPropType(propValue) { 32639 var propType = typeof propValue; 32640 if (Array.isArray(propValue)) { 32641 return 'array'; 32642 } 32643 if (propValue instanceof RegExp) { 32644 // Old webkits (at least until Android 4.0) return 'function' rather than 32645 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ 32646 // passes PropTypes.object. 32647 return 'object'; 32648 } 32649 if (isSymbol(propType, propValue)) { 32650 return 'symbol'; 32651 } 32652 return propType; 32653 } 32654 32655 // This handles more types than `getPropType`. Only used for error messages. 32656 // See `createPrimitiveTypeChecker`. 32657 function getPreciseType(propValue) { 32658 if (typeof propValue === 'undefined' || propValue === null) { 32659 return '' + propValue; 32660 } 32661 var propType = getPropType(propValue); 32662 if (propType === 'object') { 32663 if (propValue instanceof Date) { 32664 return 'date'; 32665 } else if (propValue instanceof RegExp) { 32666 return 'regexp'; 32667 } 32668 } 32669 return propType; 32670 } 32671 32672 // Returns a string that is postfixed to a warning about an invalid type. 32673 // For example, "undefined" or "of type array" 32674 function getPostfixForTypeWarning(value) { 32675 var type = getPreciseType(value); 32676 switch (type) { 32677 case 'array': 32678 case 'object': 32679 return 'an ' + type; 32680 case 'boolean': 32681 case 'date': 32682 case 'regexp': 32683 return 'a ' + type; 32684 default: 32685 return type; 32686 } 32687 } 32688 32689 // Returns class name of the object, if any. 32690 function getClassName(propValue) { 32691 if (!propValue.constructor || !propValue.constructor.name) { 32692 return ANONYMOUS; 32693 } 32694 return propValue.constructor.name; 32695 } 32696 32697 ReactPropTypes.checkPropTypes = checkPropTypes; 32698 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; 32699 ReactPropTypes.PropTypes = ReactPropTypes; 32700 32701 return ReactPropTypes; 32702}; 32703 32704 32705/***/ }), 32706
vendor: 908 bytes, lines 32707-32732
32707/***/ "./node_modules/prop-types/index.js": 32708/*!******************************************!*\ 32709 !*** ./node_modules/prop-types/index.js ***! 32710 \******************************************/ 32711/*! no static exports found */ 32712/***/ (function(module, exports, __webpack_require__) { 32713 32714/** 32715 * Copyright (c) 2013-present, Facebook, Inc. 32716 * 32717 * This source code is licensed under the MIT license found in the 32718 * LICENSE file in the root directory of this source tree. 32719 */ 32720 32721if (true) { 32722 var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); 32723 32724 // By explicitly using `prop-types` you are opting into new development behavior. 32725 // http://fb.me/prop-types-in-prod 32726 var throwOnDirectAccess = true; 32727 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); 32728} else {} 32729 32730 32731/***/ }), 32732
vendor: 679 bytes, lines 32733-32756
32733/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": 32734/*!*************************************************************!*\ 32735 !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! 32736 \*************************************************************/ 32737/*! no static exports found */ 32738/***/ (function(module, exports, __webpack_require__) { 32739 32740"use strict"; 32741/** 32742 * Copyright (c) 2013-present, Facebook, Inc. 32743 * 32744 * This source code is licensed under the MIT license found in the 32745 * LICENSE file in the root directory of this source tree. 32746 */ 32747 32748 32749 32750var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; 32751 32752module.exports = ReactPropTypesSecret; 32753 32754 32755/***/ }), 32756
vendor: 859,423 bytes, lines 32757-57780
32757/***/ "./node_modules/react-dom/cjs/react-dom.development.js": 32758/*!*************************************************************!*\ 32759 !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! 32760 \*************************************************************/ 32761/*! no static exports found */ 32762/***/ (function(module, exports, __webpack_require__) { 32763 32764"use strict"; 32765/** @license React v16.14.0 32766 * react-dom.development.js 32767 * 32768 * Copyright (c) Facebook, Inc. and its affiliates. 32769 * 32770 * This source code is licensed under the MIT license found in the 32771 * LICENSE file in the root directory of this source tree. 32772 */ 32773 32774 32775 32776 32777 32778if (true) { 32779 (function() { 32780'use strict'; 32781 32782var React = __webpack_require__(/*! react */ "./node_modules/react/index.js"); 32783var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); 32784var Scheduler = __webpack_require__(/*! scheduler */ "./node_modules/scheduler/index.js"); 32785var checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); 32786var tracing = __webpack_require__(/*! scheduler/tracing */ "./node_modules/scheduler/tracing.js"); 32787 32788var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; // Prevent newer renderers from RTE when used with older react package versions. 32789// Current owner and dispatcher used to share the same ref, 32790// but PR #14548 split them out to better support the react-debug-tools package. 32791 32792if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) { 32793 ReactSharedInternals.ReactCurrentDispatcher = { 32794 current: null 32795 }; 32796} 32797 32798if (!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')) { 32799 ReactSharedInternals.ReactCurrentBatchConfig = { 32800 suspense: null 32801 }; 32802} 32803 32804// by calls to these methods by a Babel plugin. 32805// 32806// In PROD (or in packages without access to React internals), 32807// they are left as they are instead. 32808 32809function warn(format) { 32810 { 32811 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 32812 args[_key - 1] = arguments[_key]; 32813 } 32814 32815 printWarning('warn', format, args); 32816 } 32817} 32818function error(format) { 32819 { 32820 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 32821 args[_key2 - 1] = arguments[_key2]; 32822 } 32823 32824 printWarning('error', format, args); 32825 } 32826} 32827 32828function printWarning(level, format, args) { 32829 // When changing this logic, you might want to also 32830 // update consoleWithStackDev.www.js as well. 32831 { 32832 var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n in') === 0; 32833 32834 if (!hasExistingStack) { 32835 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 32836 var stack = ReactDebugCurrentFrame.getStackAddendum(); 32837 32838 if (stack !== '') { 32839 format += '%s'; 32840 args = args.concat([stack]); 32841 } 32842 } 32843 32844 var argsWithFormat = args.map(function (item) { 32845 return '' + item; 32846 }); // Careful: RN currently depends on this prefix 32847 32848 argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it 32849 // breaks IE9: https://github.com/facebook/react/issues/13610 32850 // eslint-disable-next-line react-internal/no-production-logging 32851 32852 Function.prototype.apply.call(console[level], console, argsWithFormat); 32853 32854 try { 32855 // --- Welcome to debugging React --- 32856 // This error was thrown as a convenience so that you can use this stack 32857 // to find the callsite that caused this warning to fire. 32858 var argIndex = 0; 32859 var message = 'Warning: ' + format.replace(/%s/g, function () { 32860 return args[argIndex++]; 32861 }); 32862 throw new Error(message); 32863 } catch (x) {} 32864 } 32865} 32866 32867if (!React) { 32868 { 32869 throw Error( "ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM." ); 32870 } 32871} 32872 32873var invokeGuardedCallbackImpl = function (name, func, context, a, b, c, d, e, f) { 32874 var funcArgs = Array.prototype.slice.call(arguments, 3); 32875 32876 try { 32877 func.apply(context, funcArgs); 32878 } catch (error) { 32879 this.onError(error); 32880 } 32881}; 32882 32883{ 32884 // In DEV mode, we swap out invokeGuardedCallback for a special version 32885 // that plays more nicely with the browser's DevTools. The idea is to preserve 32886 // "Pause on exceptions" behavior. Because React wraps all user-provided 32887 // functions in invokeGuardedCallback, and the production version of 32888 // invokeGuardedCallback uses a try-catch, all user exceptions are treated 32889 // like caught exceptions, and the DevTools won't pause unless the developer 32890 // takes the extra step of enabling pause on caught exceptions. This is 32891 // unintuitive, though, because even though React has caught the error, from 32892 // the developer's perspective, the error is uncaught. 32893 // 32894 // To preserve the expected "Pause on exceptions" behavior, we don't use a 32895 // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake 32896 // DOM node, and call the user-provided callback from inside an event handler 32897 // for that fake event. If the callback throws, the error is "captured" using 32898 // a global event handler. But because the error happens in a different 32899 // event loop context, it does not interrupt the normal program flow. 32900 // Effectively, this gives us try-catch behavior without actually using 32901 // try-catch. Neat! 32902 // Check that the browser supports the APIs we need to implement our special 32903 // DEV version of invokeGuardedCallback 32904 if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { 32905 var fakeNode = document.createElement('react'); 32906 32907 var invokeGuardedCallbackDev = function (name, func, context, a, b, c, d, e, f) { 32908 // If document doesn't exist we know for sure we will crash in this method 32909 // when we call document.createEvent(). However this can cause confusing 32910 // errors: https://github.com/facebookincubator/create-react-app/issues/3482 32911 // So we preemptively throw with a better message instead. 32912 if (!(typeof document !== 'undefined')) { 32913 { 32914 throw Error( "The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous." ); 32915 } 32916 } 32917 32918 var evt = document.createEvent('Event'); // Keeps track of whether the user-provided callback threw an error. We 32919 // set this to true at the beginning, then set it to false right after 32920 // calling the function. If the function errors, `didError` will never be 32921 // set to false. This strategy works even if the browser is flaky and 32922 // fails to call our global error handler, because it doesn't rely on 32923 // the error event at all. 32924 32925 var didError = true; // Keeps track of the value of window.event so that we can reset it 32926 // during the callback to let user code access window.event in the 32927 // browsers that support it. 32928 32929 var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event 32930 // dispatching: https://github.com/facebook/react/issues/13688 32931 32932 var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event'); // Create an event handler for our fake event. We will synchronously 32933 // dispatch our fake event using `dispatchEvent`. Inside the handler, we 32934 // call the user-provided callback. 32935 32936 var funcArgs = Array.prototype.slice.call(arguments, 3); 32937 32938 function callCallback() { 32939 // We immediately remove the callback from event listeners so that 32940 // nested `invokeGuardedCallback` calls do not clash. Otherwise, a 32941 // nested call would trigger the fake event handlers of any call higher 32942 // in the stack. 32943 fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the 32944 // window.event assignment in both IE <= 10 as they throw an error 32945 // "Member not found" in strict mode, and in Firefox which does not 32946 // support window.event. 32947 32948 if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) { 32949 window.event = windowEvent; 32950 } 32951 32952 func.apply(context, funcArgs); 32953 didError = false; 32954 } // Create a global error event handler. We use this to capture the value 32955 // that was thrown. It's possible that this error handler will fire more 32956 // than once; for example, if non-React code also calls `dispatchEvent` 32957 // and a handler for that event throws. We should be resilient to most of 32958 // those cases. Even if our error event handler fires more than once, the 32959 // last error event is always used. If the callback actually does error, 32960 // we know that the last error event is the correct one, because it's not 32961 // possible for anything else to have happened in between our callback 32962 // erroring and the code that follows the `dispatchEvent` call below. If 32963 // the callback doesn't error, but the error event was fired, we know to 32964 // ignore it because `didError` will be false, as described above. 32965 32966 32967 var error; // Use this to track whether the error event is ever called. 32968 32969 var didSetError = false; 32970 var isCrossOriginError = false; 32971 32972 function handleWindowError(event) { 32973 error = event.error; 32974 didSetError = true; 32975 32976 if (error === null && event.colno === 0 && event.lineno === 0) { 32977 isCrossOriginError = true; 32978 } 32979 32980 if (event.defaultPrevented) { 32981 // Some other error handler has prevented default. 32982 // Browsers silence the error report if this happens. 32983 // We'll remember this to later decide whether to log it or not. 32984 if (error != null && typeof error === 'object') { 32985 try { 32986 error._suppressLogging = true; 32987 } catch (inner) {// Ignore. 32988 } 32989 } 32990 } 32991 } // Create a fake event type. 32992 32993 32994 var evtType = "react-" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers 32995 32996 window.addEventListener('error', handleWindowError); 32997 fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function 32998 // errors, it will trigger our global error handler. 32999 33000 evt.initEvent(evtType, false, false); 33001 fakeNode.dispatchEvent(evt); 33002 33003 if (windowEventDescriptor) { 33004 Object.defineProperty(window, 'event', windowEventDescriptor); 33005 } 33006 33007 if (didError) { 33008 if (!didSetError) { 33009 // The callback errored, but the error event never fired. 33010 error = new Error('An error was thrown inside one of your components, but React ' + "doesn't know what it was. This is likely due to browser " + 'flakiness. React does its best to preserve the "Pause on ' + 'exceptions" behavior of the DevTools, which requires some ' + "DEV-mode only tricks. It's possible that these don't work in " + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.'); 33011 } else if (isCrossOriginError) { 33012 error = new Error("A cross-origin error was thrown. React doesn't have access to " + 'the actual error object in development. ' + 'See https://fb.me/react-crossorigin-error for more information.'); 33013 } 33014 33015 this.onError(error); 33016 } // Remove our event listeners 33017 33018 33019 window.removeEventListener('error', handleWindowError); 33020 }; 33021 33022 invokeGuardedCallbackImpl = invokeGuardedCallbackDev; 33023 } 33024} 33025 33026var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl; 33027 33028var hasError = false; 33029var caughtError = null; // Used by event system to capture/rethrow the first error. 33030 33031var hasRethrowError = false; 33032var rethrowError = null; 33033var reporter = { 33034 onError: function (error) { 33035 hasError = true; 33036 caughtError = error; 33037 } 33038}; 33039/** 33040 * Call a function while guarding against errors that happens within it. 33041 * Returns an error if it throws, otherwise null. 33042 * 33043 * In production, this is implemented using a try-catch. The reason we don't 33044 * use a try-catch directly is so that we can swap out a different 33045 * implementation in DEV mode. 33046 * 33047 * @param {String} name of the guard to use for logging or debugging 33048 * @param {Function} func The function to invoke 33049 * @param {*} context The context to use when calling the function 33050 * @param {...*} args Arguments for function 33051 */ 33052 33053function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { 33054 hasError = false; 33055 caughtError = null; 33056 invokeGuardedCallbackImpl$1.apply(reporter, arguments); 33057} 33058/** 33059 * Same as invokeGuardedCallback, but instead of returning an error, it stores 33060 * it in a global so it can be rethrown by `rethrowCaughtError` later. 33061 * TODO: See if caughtError and rethrowError can be unified. 33062 * 33063 * @param {String} name of the guard to use for logging or debugging 33064 * @param {Function} func The function to invoke 33065 * @param {*} context The context to use when calling the function 33066 * @param {...*} args Arguments for function 33067 */ 33068 33069function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { 33070 invokeGuardedCallback.apply(this, arguments); 33071 33072 if (hasError) { 33073 var error = clearCaughtError(); 33074 33075 if (!hasRethrowError) { 33076 hasRethrowError = true; 33077 rethrowError = error; 33078 } 33079 } 33080} 33081/** 33082 * During execution of guarded functions we will capture the first error which 33083 * we will rethrow to be handled by the top level error handler. 33084 */ 33085 33086function rethrowCaughtError() { 33087 if (hasRethrowError) { 33088 var error = rethrowError; 33089 hasRethrowError = false; 33090 rethrowError = null; 33091 throw error; 33092 } 33093} 33094function hasCaughtError() { 33095 return hasError; 33096} 33097function clearCaughtError() { 33098 if (hasError) { 33099 var error = caughtError; 33100 hasError = false; 33101 caughtError = null; 33102 return error; 33103 } else { 33104 { 33105 { 33106 throw Error( "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue." ); 33107 } 33108 } 33109 } 33110} 33111 33112var getFiberCurrentPropsFromNode = null; 33113var getInstanceFromNode = null; 33114var getNodeFromInstance = null; 33115function setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) { 33116 getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl; 33117 getInstanceFromNode = getInstanceFromNodeImpl; 33118 getNodeFromInstance = getNodeFromInstanceImpl; 33119 33120 { 33121 if (!getNodeFromInstance || !getInstanceFromNode) { 33122 error('EventPluginUtils.setComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.'); 33123 } 33124 } 33125} 33126var validateEventDispatches; 33127 33128{ 33129 validateEventDispatches = function (event) { 33130 var dispatchListeners = event._dispatchListeners; 33131 var dispatchInstances = event._dispatchInstances; 33132 var listenersIsArr = Array.isArray(dispatchListeners); 33133 var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; 33134 var instancesIsArr = Array.isArray(dispatchInstances); 33135 var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; 33136 33137 if (instancesIsArr !== listenersIsArr || instancesLen !== listenersLen) { 33138 error('EventPluginUtils: Invalid `event`.'); 33139 } 33140 }; 33141} 33142/** 33143 * Dispatch the event to the listener. 33144 * @param {SyntheticEvent} event SyntheticEvent to handle 33145 * @param {function} listener Application-level callback 33146 * @param {*} inst Internal component instance 33147 */ 33148 33149 33150function executeDispatch(event, listener, inst) { 33151 var type = event.type || 'unknown-event'; 33152 event.currentTarget = getNodeFromInstance(inst); 33153 invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event); 33154 event.currentTarget = null; 33155} 33156/** 33157 * Standard/simple iteration through an event's collected dispatches. 33158 */ 33159 33160function executeDispatchesInOrder(event) { 33161 var dispatchListeners = event._dispatchListeners; 33162 var dispatchInstances = event._dispatchInstances; 33163 33164 { 33165 validateEventDispatches(event); 33166 } 33167 33168 if (Array.isArray(dispatchListeners)) { 33169 for (var i = 0; i < dispatchListeners.length; i++) { 33170 if (event.isPropagationStopped()) { 33171 break; 33172 } // Listeners and Instances are two parallel arrays that are always in sync. 33173 33174 33175 executeDispatch(event, dispatchListeners[i], dispatchInstances[i]); 33176 } 33177 } else if (dispatchListeners) { 33178 executeDispatch(event, dispatchListeners, dispatchInstances); 33179 } 33180 33181 event._dispatchListeners = null; 33182 event._dispatchInstances = null; 33183} 33184 33185var FunctionComponent = 0; 33186var ClassComponent = 1; 33187var IndeterminateComponent = 2; // Before we know whether it is function or class 33188 33189var HostRoot = 3; // Root of a host tree. Could be nested inside another node. 33190 33191var HostPortal = 4; // A subtree. Could be an entry point to a different renderer. 33192 33193var HostComponent = 5; 33194var HostText = 6; 33195var Fragment = 7; 33196var Mode = 8; 33197var ContextConsumer = 9; 33198var ContextProvider = 10; 33199var ForwardRef = 11; 33200var Profiler = 12; 33201var SuspenseComponent = 13; 33202var MemoComponent = 14; 33203var SimpleMemoComponent = 15; 33204var LazyComponent = 16; 33205var IncompleteClassComponent = 17; 33206var DehydratedFragment = 18; 33207var SuspenseListComponent = 19; 33208var FundamentalComponent = 20; 33209var ScopeComponent = 21; 33210var Block = 22; 33211 33212/** 33213 * Injectable ordering of event plugins. 33214 */ 33215var eventPluginOrder = null; 33216/** 33217 * Injectable mapping from names to event plugin modules. 33218 */ 33219 33220var namesToPlugins = {}; 33221/** 33222 * Recomputes the plugin list using the injected plugins and plugin ordering. 33223 * 33224 * @private 33225 */ 33226 33227function recomputePluginOrdering() { 33228 if (!eventPluginOrder) { 33229 // Wait until an `eventPluginOrder` is injected. 33230 return; 33231 } 33232 33233 for (var pluginName in namesToPlugins) { 33234 var pluginModule = namesToPlugins[pluginName]; 33235 var pluginIndex = eventPluginOrder.indexOf(pluginName); 33236 33237 if (!(pluginIndex > -1)) { 33238 { 33239 throw Error( "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`." ); 33240 } 33241 } 33242 33243 if (plugins[pluginIndex]) { 33244 continue; 33245 } 33246 33247 if (!pluginModule.extractEvents) { 33248 { 33249 throw Error( "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not." ); 33250 } 33251 } 33252 33253 plugins[pluginIndex] = pluginModule; 33254 var publishedEvents = pluginModule.eventTypes; 33255 33256 for (var eventName in publishedEvents) { 33257 if (!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName)) { 33258 { 33259 throw Error( "EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`." ); 33260 } 33261 } 33262 } 33263 } 33264} 33265/** 33266 * Publishes an event so that it can be dispatched by the supplied plugin. 33267 * 33268 * @param {object} dispatchConfig Dispatch configuration for the event. 33269 * @param {object} PluginModule Plugin publishing the event. 33270 * @return {boolean} True if the event was successfully published. 33271 * @private 33272 */ 33273 33274 33275function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { 33276 if (!!eventNameDispatchConfigs.hasOwnProperty(eventName)) { 33277 { 33278 throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName + "`." ); 33279 } 33280 } 33281 33282 eventNameDispatchConfigs[eventName] = dispatchConfig; 33283 var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; 33284 33285 if (phasedRegistrationNames) { 33286 for (var phaseName in phasedRegistrationNames) { 33287 if (phasedRegistrationNames.hasOwnProperty(phaseName)) { 33288 var phasedRegistrationName = phasedRegistrationNames[phaseName]; 33289 publishRegistrationName(phasedRegistrationName, pluginModule, eventName); 33290 } 33291 } 33292 33293 return true; 33294 } else if (dispatchConfig.registrationName) { 33295 publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); 33296 return true; 33297 } 33298 33299 return false; 33300} 33301/** 33302 * Publishes a registration name that is used to identify dispatched events. 33303 * 33304 * @param {string} registrationName Registration name to add. 33305 * @param {object} PluginModule Plugin publishing the event. 33306 * @private 33307 */ 33308 33309 33310function publishRegistrationName(registrationName, pluginModule, eventName) { 33311 if (!!registrationNameModules[registrationName]) { 33312 { 33313 throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`." ); 33314 } 33315 } 33316 33317 registrationNameModules[registrationName] = pluginModule; 33318 registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; 33319 33320 { 33321 var lowerCasedName = registrationName.toLowerCase(); 33322 possibleRegistrationNames[lowerCasedName] = registrationName; 33323 33324 if (registrationName === 'onDoubleClick') { 33325 possibleRegistrationNames.ondblclick = registrationName; 33326 } 33327 } 33328} 33329/** 33330 * Registers plugins so that they can extract and dispatch events. 33331 */ 33332 33333/** 33334 * Ordered list of injected plugins. 33335 */ 33336 33337 33338var plugins = []; 33339/** 33340 * Mapping from event name to dispatch config 33341 */ 33342 33343var eventNameDispatchConfigs = {}; 33344/** 33345 * Mapping from registration name to plugin module 33346 */ 33347 33348var registrationNameModules = {}; 33349/** 33350 * Mapping from registration name to event name 33351 */ 33352 33353var registrationNameDependencies = {}; 33354/** 33355 * Mapping from lowercase registration names to the properly cased version, 33356 * used to warn in the case of missing event handlers. Available 33357 * only in true. 33358 * @type {Object} 33359 */ 33360 33361var possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true 33362 33363/** 33364 * Injects an ordering of plugins (by plugin name). This allows the ordering 33365 * to be decoupled from injection of the actual plugins so that ordering is 33366 * always deterministic regardless of packaging, on-the-fly injection, etc. 33367 * 33368 * @param {array} InjectedEventPluginOrder 33369 * @internal 33370 */ 33371 33372function injectEventPluginOrder(injectedEventPluginOrder) { 33373 if (!!eventPluginOrder) { 33374 { 33375 throw Error( "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React." ); 33376 } 33377 } // Clone the ordering so it cannot be dynamically mutated. 33378 33379 33380 eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); 33381 recomputePluginOrdering(); 33382} 33383/** 33384 * Injects plugins to be used by plugin event system. The plugin names must be 33385 * in the ordering injected by `injectEventPluginOrder`. 33386 * 33387 * Plugins can be injected as part of page initialization or on-the-fly. 33388 * 33389 * @param {object} injectedNamesToPlugins Map from names to plugin modules. 33390 * @internal 33391 */ 33392 33393function injectEventPluginsByName(injectedNamesToPlugins) { 33394 var isOrderingDirty = false; 33395 33396 for (var pluginName in injectedNamesToPlugins) { 33397 if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { 33398 continue; 33399 } 33400 33401 var pluginModule = injectedNamesToPlugins[pluginName]; 33402 33403 if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { 33404 if (!!namesToPlugins[pluginName]) { 33405 { 33406 throw Error( "EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName + "`." ); 33407 } 33408 } 33409 33410 namesToPlugins[pluginName] = pluginModule; 33411 isOrderingDirty = true; 33412 } 33413 } 33414 33415 if (isOrderingDirty) { 33416 recomputePluginOrdering(); 33417 } 33418} 33419 33420var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); 33421 33422var PLUGIN_EVENT_SYSTEM = 1; 33423var IS_REPLAYED = 1 << 5; 33424var IS_FIRST_ANCESTOR = 1 << 6; 33425 33426var restoreImpl = null; 33427var restoreTarget = null; 33428var restoreQueue = null; 33429 33430function restoreStateOfTarget(target) { 33431 // We perform this translation at the end of the event loop so that we 33432 // always receive the correct fiber here 33433 var internalInstance = getInstanceFromNode(target); 33434 33435 if (!internalInstance) { 33436 // Unmounted 33437 return; 33438 } 33439 33440 if (!(typeof restoreImpl === 'function')) { 33441 { 33442 throw Error( "setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue." ); 33443 } 33444 } 33445 33446 var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted. 33447 33448 if (stateNode) { 33449 var _props = getFiberCurrentPropsFromNode(stateNode); 33450 33451 restoreImpl(internalInstance.stateNode, internalInstance.type, _props); 33452 } 33453} 33454 33455function setRestoreImplementation(impl) { 33456 restoreImpl = impl; 33457} 33458function enqueueStateRestore(target) { 33459 if (restoreTarget) { 33460 if (restoreQueue) { 33461 restoreQueue.push(target); 33462 } else { 33463 restoreQueue = [target]; 33464 } 33465 } else { 33466 restoreTarget = target; 33467 } 33468} 33469function needsStateRestore() { 33470 return restoreTarget !== null || restoreQueue !== null; 33471} 33472function restoreStateIfNeeded() { 33473 if (!restoreTarget) { 33474 return; 33475 } 33476 33477 var target = restoreTarget; 33478 var queuedTargets = restoreQueue; 33479 restoreTarget = null; 33480 restoreQueue = null; 33481 restoreStateOfTarget(target); 33482 33483 if (queuedTargets) { 33484 for (var i = 0; i < queuedTargets.length; i++) { 33485 restoreStateOfTarget(queuedTargets[i]); 33486 } 33487 } 33488} 33489 33490var enableProfilerTimer = true; // Trace which interactions trigger each commit. 33491 33492var enableDeprecatedFlareAPI = false; // Experimental Host Component support. 33493 33494var enableFundamentalAPI = false; // Experimental Scope support. 33495var warnAboutStringRefs = false; 33496 33497// the renderer. Such as when we're dispatching events or if third party 33498// libraries need to call batchedUpdates. Eventually, this API will go away when 33499// everything is batched by default. We'll then have a similar API to opt-out of 33500// scheduled work and instead do synchronous work. 33501// Defaults 33502 33503var batchedUpdatesImpl = function (fn, bookkeeping) { 33504 return fn(bookkeeping); 33505}; 33506 33507var discreteUpdatesImpl = function (fn, a, b, c, d) { 33508 return fn(a, b, c, d); 33509}; 33510 33511var flushDiscreteUpdatesImpl = function () {}; 33512 33513var batchedEventUpdatesImpl = batchedUpdatesImpl; 33514var isInsideEventHandler = false; 33515var isBatchingEventUpdates = false; 33516 33517function finishEventHandler() { 33518 // Here we wait until all updates have propagated, which is important 33519 // when using controlled components within layers: 33520 // https://github.com/facebook/react/issues/1698 33521 // Then we restore state of any controlled component. 33522 var controlledComponentsHavePendingUpdates = needsStateRestore(); 33523 33524 if (controlledComponentsHavePendingUpdates) { 33525 // If a controlled event was fired, we may need to restore the state of 33526 // the DOM node back to the controlled value. This is necessary when React 33527 // bails out of the update without touching the DOM. 33528 flushDiscreteUpdatesImpl(); 33529 restoreStateIfNeeded(); 33530 } 33531} 33532 33533function batchedUpdates(fn, bookkeeping) { 33534 if (isInsideEventHandler) { 33535 // If we are currently inside another batch, we need to wait until it 33536 // fully completes before restoring state. 33537 return fn(bookkeeping); 33538 } 33539 33540 isInsideEventHandler = true; 33541 33542 try { 33543 return batchedUpdatesImpl(fn, bookkeeping); 33544 } finally { 33545 isInsideEventHandler = false; 33546 finishEventHandler(); 33547 } 33548} 33549function batchedEventUpdates(fn, a, b) { 33550 if (isBatchingEventUpdates) { 33551 // If we are currently inside another batch, we need to wait until it 33552 // fully completes before restoring state. 33553 return fn(a, b); 33554 } 33555 33556 isBatchingEventUpdates = true; 33557 33558 try { 33559 return batchedEventUpdatesImpl(fn, a, b); 33560 } finally { 33561 isBatchingEventUpdates = false; 33562 finishEventHandler(); 33563 } 33564} // This is for the React Flare event system 33565function discreteUpdates(fn, a, b, c, d) { 33566 var prevIsInsideEventHandler = isInsideEventHandler; 33567 isInsideEventHandler = true; 33568 33569 try { 33570 return discreteUpdatesImpl(fn, a, b, c, d); 33571 } finally { 33572 isInsideEventHandler = prevIsInsideEventHandler; 33573 33574 if (!isInsideEventHandler) { 33575 finishEventHandler(); 33576 } 33577 } 33578} 33579function flushDiscreteUpdatesIfNeeded(timeStamp) { 33580 // event.timeStamp isn't overly reliable due to inconsistencies in 33581 // how different browsers have historically provided the time stamp. 33582 // Some browsers provide high-resolution time stamps for all events, 33583 // some provide low-resolution time stamps for all events. FF < 52 33584 // even mixes both time stamps together. Some browsers even report 33585 // negative time stamps or time stamps that are 0 (iOS9) in some cases. 33586 // Given we are only comparing two time stamps with equality (!==), 33587 // we are safe from the resolution differences. If the time stamp is 0 33588 // we bail-out of preventing the flush, which can affect semantics, 33589 // such as if an earlier flush removes or adds event listeners that 33590 // are fired in the subsequent flush. However, this is the same 33591 // behaviour as we had before this change, so the risks are low. 33592 if (!isInsideEventHandler && (!enableDeprecatedFlareAPI )) { 33593 flushDiscreteUpdatesImpl(); 33594 } 33595} 33596function setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushDiscreteUpdatesImpl, _batchedEventUpdatesImpl) { 33597 batchedUpdatesImpl = _batchedUpdatesImpl; 33598 discreteUpdatesImpl = _discreteUpdatesImpl; 33599 flushDiscreteUpdatesImpl = _flushDiscreteUpdatesImpl; 33600 batchedEventUpdatesImpl = _batchedEventUpdatesImpl; 33601} 33602 33603var DiscreteEvent = 0; 33604var UserBlockingEvent = 1; 33605var ContinuousEvent = 2; 33606 33607// A reserved attribute. 33608// It is handled by React separately and shouldn't be written to the DOM. 33609var RESERVED = 0; // A simple string attribute. 33610// Attributes that aren't in the whitelist are presumed to have this type. 33611 33612var STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called 33613// "enumerated" attributes with "true" and "false" as possible values. 33614// When true, it should be set to a "true" string. 33615// When false, it should be set to a "false" string. 33616 33617var BOOLEANISH_STRING = 2; // A real boolean attribute. 33618// When true, it should be present (set either to an empty string or its name). 33619// When false, it should be omitted. 33620 33621var BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value. 33622// When true, it should be present (set either to an empty string or its name). 33623// When false, it should be omitted. 33624// For any other value, should be present with that value. 33625 33626var OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric. 33627// When falsy, it should be removed. 33628 33629var NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric. 33630// When falsy, it should be removed. 33631 33632var POSITIVE_NUMERIC = 6; 33633 33634/* eslint-disable max-len */ 33635var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; 33636/* eslint-enable max-len */ 33637 33638var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; 33639var ROOT_ATTRIBUTE_NAME = 'data-reactroot'; 33640var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$'); 33641var hasOwnProperty = Object.prototype.hasOwnProperty; 33642var illegalAttributeNameCache = {}; 33643var validatedAttributeNameCache = {}; 33644function isAttributeNameSafe(attributeName) { 33645 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) { 33646 return true; 33647 } 33648 33649 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) { 33650 return false; 33651 } 33652 33653 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { 33654 validatedAttributeNameCache[attributeName] = true; 33655 return true; 33656 } 33657 33658 illegalAttributeNameCache[attributeName] = true; 33659 33660 { 33661 error('Invalid attribute name: `%s`', attributeName); 33662 } 33663 33664 return false; 33665} 33666function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { 33667 if (propertyInfo !== null) { 33668 return propertyInfo.type === RESERVED; 33669 } 33670 33671 if (isCustomComponentTag) { 33672 return false; 33673 } 33674 33675 if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) { 33676 return true; 33677 } 33678 33679 return false; 33680} 33681function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { 33682 if (propertyInfo !== null && propertyInfo.type === RESERVED) { 33683 return false; 33684 } 33685 33686 switch (typeof value) { 33687 case 'function': // $FlowIssue symbol is perfectly valid here 33688 33689 case 'symbol': 33690 // eslint-disable-line 33691 return true; 33692 33693 case 'boolean': 33694 { 33695 if (isCustomComponentTag) { 33696 return false; 33697 } 33698 33699 if (propertyInfo !== null) { 33700 return !propertyInfo.acceptsBooleans; 33701 } else { 33702 var prefix = name.toLowerCase().slice(0, 5); 33703 return prefix !== 'data-' && prefix !== 'aria-'; 33704 } 33705 } 33706 33707 default: 33708 return false; 33709 } 33710} 33711function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { 33712 if (value === null || typeof value === 'undefined') { 33713 return true; 33714 } 33715 33716 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) { 33717 return true; 33718 } 33719 33720 if (isCustomComponentTag) { 33721 return false; 33722 } 33723 33724 if (propertyInfo !== null) { 33725 switch (propertyInfo.type) { 33726 case BOOLEAN: 33727 return !value; 33728 33729 case OVERLOADED_BOOLEAN: 33730 return value === false; 33731 33732 case NUMERIC: 33733 return isNaN(value); 33734 33735 case POSITIVE_NUMERIC: 33736 return isNaN(value) || value < 1; 33737 } 33738 } 33739 33740 return false; 33741} 33742function getPropertyInfo(name) { 33743 return properties.hasOwnProperty(name) ? properties[name] : null; 33744} 33745 33746function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL) { 33747 this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN; 33748 this.attributeName = attributeName; 33749 this.attributeNamespace = attributeNamespace; 33750 this.mustUseProperty = mustUseProperty; 33751 this.propertyName = name; 33752 this.type = type; 33753 this.sanitizeURL = sanitizeURL; 33754} // When adding attributes to this list, be sure to also add them to 33755// the `possibleStandardNames` module to ensure casing and incorrect 33756// name warnings. 33757 33758 33759var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM. 33760 33761var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular 33762// elements (not just inputs). Now that ReactDOMInput assigns to the 33763// defaultValue property -- do we need this? 33764'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style']; 33765 33766reservedProps.forEach(function (name) { 33767 properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty 33768 name, // attributeName 33769 null, // attributeNamespace 33770 false); 33771}); // A few React string attributes have a different name. 33772// This is a mapping from React prop names to the attribute names. 33773 33774[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) { 33775 var name = _ref[0], 33776 attributeName = _ref[1]; 33777 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 33778 attributeName, // attributeName 33779 null, // attributeNamespace 33780 false); 33781}); // These are "enumerated" HTML attributes that accept "true" and "false". 33782// In React, we let users pass `true` and `false` even though technically 33783// these aren't boolean attributes (they are coerced to strings). 33784 33785['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) { 33786 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty 33787 name.toLowerCase(), // attributeName 33788 null, // attributeNamespace 33789 false); 33790}); // These are "enumerated" SVG attributes that accept "true" and "false". 33791// In React, we let users pass `true` and `false` even though technically 33792// these aren't boolean attributes (they are coerced to strings). 33793// Since these are SVG attributes, their attribute names are case-sensitive. 33794 33795['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) { 33796 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty 33797 name, // attributeName 33798 null, // attributeNamespace 33799 false); 33800}); // These are HTML boolean attributes. 33801 33802['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM 33803// on the client side because the browsers are inconsistent. Instead we call focus(). 33804'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata 33805'itemScope'].forEach(function (name) { 33806 properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty 33807 name.toLowerCase(), // attributeName 33808 null, // attributeNamespace 33809 false); 33810}); // These are the few React props that we set as DOM properties 33811// rather than attributes. These are all booleans. 33812 33813['checked', // Note: `option.selected` is not updated if `select.multiple` is 33814// disabled with `removeAttribute`. We have special logic for handling this. 33815'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list, 33816// you'll need to set attributeName to name.toLowerCase() 33817// instead in the assignment below. 33818].forEach(function (name) { 33819 properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty 33820 name, // attributeName 33821 null, // attributeNamespace 33822 false); 33823}); // These are HTML attributes that are "overloaded booleans": they behave like 33824// booleans, but can also accept a string value. 33825 33826['capture', 'download' // NOTE: if you add a camelCased prop to this list, 33827// you'll need to set attributeName to name.toLowerCase() 33828// instead in the assignment below. 33829].forEach(function (name) { 33830 properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty 33831 name, // attributeName 33832 null, // attributeNamespace 33833 false); 33834}); // These are HTML attributes that must be positive numbers. 33835 33836['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list, 33837// you'll need to set attributeName to name.toLowerCase() 33838// instead in the assignment below. 33839].forEach(function (name) { 33840 properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty 33841 name, // attributeName 33842 null, // attributeNamespace 33843 false); 33844}); // These are HTML attributes that must be numbers. 33845 33846['rowSpan', 'start'].forEach(function (name) { 33847 properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty 33848 name.toLowerCase(), // attributeName 33849 null, // attributeNamespace 33850 false); 33851}); 33852var CAMELIZE = /[\-\:]([a-z])/g; 33853 33854var capitalize = function (token) { 33855 return token[1].toUpperCase(); 33856}; // This is a list of all SVG attributes that need special casing, namespacing, 33857// or boolean value assignment. Regular attributes that just accept strings 33858// and have the same names are omitted, just like in the HTML whitelist. 33859// Some of these attributes can be hard to find. This list was created by 33860// scraping the MDN documentation. 33861 33862 33863['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list, 33864// you'll need to set attributeName to name.toLowerCase() 33865// instead in the assignment below. 33866].forEach(function (attributeName) { 33867 var name = attributeName.replace(CAMELIZE, capitalize); 33868 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 33869 attributeName, null, // attributeNamespace 33870 false); 33871}); // String SVG attributes with the xlink namespace. 33872 33873['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list, 33874// you'll need to set attributeName to name.toLowerCase() 33875// instead in the assignment below. 33876].forEach(function (attributeName) { 33877 var name = attributeName.replace(CAMELIZE, capitalize); 33878 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 33879 attributeName, 'http://www.w3.org/1999/xlink', false); 33880}); // String SVG attributes with the xml namespace. 33881 33882['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list, 33883// you'll need to set attributeName to name.toLowerCase() 33884// instead in the assignment below. 33885].forEach(function (attributeName) { 33886 var name = attributeName.replace(CAMELIZE, capitalize); 33887 properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty 33888 attributeName, 'http://www.w3.org/XML/1998/namespace', false); 33889}); // These attribute exists both in HTML and SVG. 33890// The attribute name is case-sensitive in SVG so we can't just use 33891// the React name like we do for attributes that exist only in HTML. 33892 33893['tabIndex', 'crossOrigin'].forEach(function (attributeName) { 33894 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty 33895 attributeName.toLowerCase(), // attributeName 33896 null, // attributeNamespace 33897 false); 33898}); // These attributes accept URLs. These must not allow javascript: URLS. 33899// These will also need to accept Trusted Types object in the future. 33900 33901var xlinkHref = 'xlinkHref'; 33902properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty 33903'xlink:href', 'http://www.w3.org/1999/xlink', true); 33904['src', 'href', 'action', 'formAction'].forEach(function (attributeName) { 33905 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty 33906 attributeName.toLowerCase(), // attributeName 33907 null, // attributeNamespace 33908 true); 33909}); 33910 33911var ReactDebugCurrentFrame = null; 33912 33913{ 33914 ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 33915} // A javascript: URL can contain leading C0 control or \u0020 SPACE, 33916// and any newline or tab are filtered out as if they're not part of the URL. 33917// https://url.spec.whatwg.org/#url-parsing 33918// Tab or newline are defined as \r\n\t: 33919// https://infra.spec.whatwg.org/#ascii-tab-or-newline 33920// A C0 control is a code point in the range \u0000 NULL to \u001F 33921// INFORMATION SEPARATOR ONE, inclusive: 33922// https://infra.spec.whatwg.org/#c0-control-or-space 33923 33924/* eslint-disable max-len */ 33925 33926 33927var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i; 33928var didWarn = false; 33929 33930function sanitizeURL(url) { 33931 { 33932 if (!didWarn && isJavaScriptProtocol.test(url)) { 33933 didWarn = true; 33934 33935 error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url)); 33936 } 33937 } 33938} 33939 33940/** 33941 * Get the value for a property on a node. Only used in DEV for SSR validation. 33942 * The "expected" argument is used as a hint of what the expected value is. 33943 * Some properties have multiple equivalent values. 33944 */ 33945function getValueForProperty(node, name, expected, propertyInfo) { 33946 { 33947 if (propertyInfo.mustUseProperty) { 33948 var propertyName = propertyInfo.propertyName; 33949 return node[propertyName]; 33950 } else { 33951 if ( propertyInfo.sanitizeURL) { 33952 // If we haven't fully disabled javascript: URLs, and if 33953 // the hydration is successful of a javascript: URL, we 33954 // still want to warn on the client. 33955 sanitizeURL('' + expected); 33956 } 33957 33958 var attributeName = propertyInfo.attributeName; 33959 var stringValue = null; 33960 33961 if (propertyInfo.type === OVERLOADED_BOOLEAN) { 33962 if (node.hasAttribute(attributeName)) { 33963 var value = node.getAttribute(attributeName); 33964 33965 if (value === '') { 33966 return true; 33967 } 33968 33969 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 33970 return value; 33971 } 33972 33973 if (value === '' + expected) { 33974 return expected; 33975 } 33976 33977 return value; 33978 } 33979 } else if (node.hasAttribute(attributeName)) { 33980 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 33981 // We had an attribute but shouldn't have had one, so read it 33982 // for the error message. 33983 return node.getAttribute(attributeName); 33984 } 33985 33986 if (propertyInfo.type === BOOLEAN) { 33987 // If this was a boolean, it doesn't matter what the value is 33988 // the fact that we have it is the same as the expected. 33989 return expected; 33990 } // Even if this property uses a namespace we use getAttribute 33991 // because we assume its namespaced name is the same as our config. 33992 // To use getAttributeNS we need the local name which we don't have 33993 // in our config atm. 33994 33995 33996 stringValue = node.getAttribute(attributeName); 33997 } 33998 33999 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { 34000 return stringValue === null ? expected : stringValue; 34001 } else if (stringValue === '' + expected) { 34002 return expected; 34003 } else { 34004 return stringValue; 34005 } 34006 } 34007 } 34008} 34009/** 34010 * Get the value for a attribute on a node. Only used in DEV for SSR validation. 34011 * The third argument is used as a hint of what the expected value is. Some 34012 * attributes have multiple equivalent values. 34013 */ 34014 34015function getValueForAttribute(node, name, expected) { 34016 { 34017 if (!isAttributeNameSafe(name)) { 34018 return; 34019 } 34020 34021 if (!node.hasAttribute(name)) { 34022 return expected === undefined ? undefined : null; 34023 } 34024 34025 var value = node.getAttribute(name); 34026 34027 if (value === '' + expected) { 34028 return expected; 34029 } 34030 34031 return value; 34032 } 34033} 34034/** 34035 * Sets the value for a property on a node. 34036 * 34037 * @param {DOMElement} node 34038 * @param {string} name 34039 * @param {*} value 34040 */ 34041 34042function setValueForProperty(node, name, value, isCustomComponentTag) { 34043 var propertyInfo = getPropertyInfo(name); 34044 34045 if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) { 34046 return; 34047 } 34048 34049 if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) { 34050 value = null; 34051 } // If the prop isn't in the special list, treat it as a simple attribute. 34052 34053 34054 if (isCustomComponentTag || propertyInfo === null) { 34055 if (isAttributeNameSafe(name)) { 34056 var _attributeName = name; 34057 34058 if (value === null) { 34059 node.removeAttribute(_attributeName); 34060 } else { 34061 node.setAttribute(_attributeName, '' + value); 34062 } 34063 } 34064 34065 return; 34066 } 34067 34068 var mustUseProperty = propertyInfo.mustUseProperty; 34069 34070 if (mustUseProperty) { 34071 var propertyName = propertyInfo.propertyName; 34072 34073 if (value === null) { 34074 var type = propertyInfo.type; 34075 node[propertyName] = type === BOOLEAN ? false : ''; 34076 } else { 34077 // Contrary to `setAttribute`, object properties are properly 34078 // `toString`ed by IE8/9. 34079 node[propertyName] = value; 34080 } 34081 34082 return; 34083 } // The rest are treated as attributes with special cases. 34084 34085 34086 var attributeName = propertyInfo.attributeName, 34087 attributeNamespace = propertyInfo.attributeNamespace; 34088 34089 if (value === null) { 34090 node.removeAttribute(attributeName); 34091 } else { 34092 var _type = propertyInfo.type; 34093 var attributeValue; 34094 34095 if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) { 34096 // If attribute type is boolean, we know for sure it won't be an execution sink 34097 // and we won't require Trusted Type here. 34098 attributeValue = ''; 34099 } else { 34100 // `setAttribute` with objects becomes only `[object]` in IE8/9, 34101 // ('' + value) makes it output the correct toString()-value. 34102 { 34103 attributeValue = '' + value; 34104 } 34105 34106 if (propertyInfo.sanitizeURL) { 34107 sanitizeURL(attributeValue.toString()); 34108 } 34109 } 34110 34111 if (attributeNamespace) { 34112 node.setAttributeNS(attributeNamespace, attributeName, attributeValue); 34113 } else { 34114 node.setAttribute(attributeName, attributeValue); 34115 } 34116 } 34117} 34118 34119var BEFORE_SLASH_RE = /^(.*)[\\\/]/; 34120function describeComponentFrame (name, source, ownerName) { 34121 var sourceInfo = ''; 34122 34123 if (source) { 34124 var path = source.fileName; 34125 var fileName = path.replace(BEFORE_SLASH_RE, ''); 34126 34127 { 34128 // In DEV, include code for a common special case: 34129 // prefer "folder/index.js" instead of just "index.js". 34130 if (/^index\./.test(fileName)) { 34131 var match = path.match(BEFORE_SLASH_RE); 34132 34133 if (match) { 34134 var pathBeforeSlash = match[1]; 34135 34136 if (pathBeforeSlash) { 34137 var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); 34138 fileName = folderName + '/' + fileName; 34139 } 34140 } 34141 } 34142 } 34143 34144 sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; 34145 } else if (ownerName) { 34146 sourceInfo = ' (created by ' + ownerName + ')'; 34147 } 34148 34149 return '\n in ' + (name || 'Unknown') + sourceInfo; 34150} 34151 34152// The Symbol used to tag the ReactElement-like types. If there is no native Symbol 34153// nor polyfill, then a plain number is used for performance. 34154var hasSymbol = typeof Symbol === 'function' && Symbol.for; 34155var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; 34156var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; 34157var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; 34158var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; 34159var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; 34160var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; 34161var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary 34162var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; 34163var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; 34164var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; 34165var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; 34166var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; 34167var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; 34168var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; 34169var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; 34170var FAUX_ITERATOR_SYMBOL = '@@iterator'; 34171function getIteratorFn(maybeIterable) { 34172 if (maybeIterable === null || typeof maybeIterable !== 'object') { 34173 return null; 34174 } 34175 34176 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; 34177 34178 if (typeof maybeIterator === 'function') { 34179 return maybeIterator; 34180 } 34181 34182 return null; 34183} 34184 34185var Uninitialized = -1; 34186var Pending = 0; 34187var Resolved = 1; 34188var Rejected = 2; 34189function refineResolvedLazyComponent(lazyComponent) { 34190 return lazyComponent._status === Resolved ? lazyComponent._result : null; 34191} 34192function initializeLazyComponentType(lazyComponent) { 34193 if (lazyComponent._status === Uninitialized) { 34194 lazyComponent._status = Pending; 34195 var ctor = lazyComponent._ctor; 34196 var thenable = ctor(); 34197 lazyComponent._result = thenable; 34198 thenable.then(function (moduleObject) { 34199 if (lazyComponent._status === Pending) { 34200 var defaultExport = moduleObject.default; 34201 34202 { 34203 if (defaultExport === undefined) { 34204 error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject); 34205 } 34206 } 34207 34208 lazyComponent._status = Resolved; 34209 lazyComponent._result = defaultExport; 34210 } 34211 }, function (error) { 34212 if (lazyComponent._status === Pending) { 34213 lazyComponent._status = Rejected; 34214 lazyComponent._result = error; 34215 } 34216 }); 34217 } 34218} 34219 34220function getWrappedName(outerType, innerType, wrapperName) { 34221 var functionName = innerType.displayName || innerType.name || ''; 34222 return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); 34223} 34224 34225function getComponentName(type) { 34226 if (type == null) { 34227 // Host root, text node or just invalid type. 34228 return null; 34229 } 34230 34231 { 34232 if (typeof type.tag === 'number') { 34233 error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); 34234 } 34235 } 34236 34237 if (typeof type === 'function') { 34238 return type.displayName || type.name || null; 34239 } 34240 34241 if (typeof type === 'string') { 34242 return type; 34243 } 34244 34245 switch (type) { 34246 case REACT_FRAGMENT_TYPE: 34247 return 'Fragment'; 34248 34249 case REACT_PORTAL_TYPE: 34250 return 'Portal'; 34251 34252 case REACT_PROFILER_TYPE: 34253 return "Profiler"; 34254 34255 case REACT_STRICT_MODE_TYPE: 34256 return 'StrictMode'; 34257 34258 case REACT_SUSPENSE_TYPE: 34259 return 'Suspense'; 34260 34261 case REACT_SUSPENSE_LIST_TYPE: 34262 return 'SuspenseList'; 34263 } 34264 34265 if (typeof type === 'object') { 34266 switch (type.$$typeof) { 34267 case REACT_CONTEXT_TYPE: 34268 return 'Context.Consumer'; 34269 34270 case REACT_PROVIDER_TYPE: 34271 return 'Context.Provider'; 34272 34273 case REACT_FORWARD_REF_TYPE: 34274 return getWrappedName(type, type.render, 'ForwardRef'); 34275 34276 case REACT_MEMO_TYPE: 34277 return getComponentName(type.type); 34278 34279 case REACT_BLOCK_TYPE: 34280 return getComponentName(type.render); 34281 34282 case REACT_LAZY_TYPE: 34283 { 34284 var thenable = type; 34285 var resolvedThenable = refineResolvedLazyComponent(thenable); 34286 34287 if (resolvedThenable) { 34288 return getComponentName(resolvedThenable); 34289 } 34290 34291 break; 34292 } 34293 } 34294 } 34295 34296 return null; 34297} 34298 34299var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; 34300 34301function describeFiber(fiber) { 34302 switch (fiber.tag) { 34303 case HostRoot: 34304 case HostPortal: 34305 case HostText: 34306 case Fragment: 34307 case ContextProvider: 34308 case ContextConsumer: 34309 return ''; 34310 34311 default: 34312 var owner = fiber._debugOwner; 34313 var source = fiber._debugSource; 34314 var name = getComponentName(fiber.type); 34315 var ownerName = null; 34316 34317 if (owner) { 34318 ownerName = getComponentName(owner.type); 34319 } 34320 34321 return describeComponentFrame(name, source, ownerName); 34322 } 34323} 34324 34325function getStackByFiberInDevAndProd(workInProgress) { 34326 var info = ''; 34327 var node = workInProgress; 34328 34329 do { 34330 info += describeFiber(node); 34331 node = node.return; 34332 } while (node); 34333 34334 return info; 34335} 34336var current = null; 34337var isRendering = false; 34338function getCurrentFiberOwnerNameInDevOrNull() { 34339 { 34340 if (current === null) { 34341 return null; 34342 } 34343 34344 var owner = current._debugOwner; 34345 34346 if (owner !== null && typeof owner !== 'undefined') { 34347 return getComponentName(owner.type); 34348 } 34349 } 34350 34351 return null; 34352} 34353function getCurrentFiberStackInDev() { 34354 { 34355 if (current === null) { 34356 return ''; 34357 } // Safe because if current fiber exists, we are reconciling, 34358 // and it is guaranteed to be the work-in-progress version. 34359 34360 34361 return getStackByFiberInDevAndProd(current); 34362 } 34363} 34364function resetCurrentFiber() { 34365 { 34366 ReactDebugCurrentFrame$1.getCurrentStack = null; 34367 current = null; 34368 isRendering = false; 34369 } 34370} 34371function setCurrentFiber(fiber) { 34372 { 34373 ReactDebugCurrentFrame$1.getCurrentStack = getCurrentFiberStackInDev; 34374 current = fiber; 34375 isRendering = false; 34376 } 34377} 34378function setIsRendering(rendering) { 34379 { 34380 isRendering = rendering; 34381 } 34382} 34383 34384// Flow does not allow string concatenation of most non-string types. To work 34385// around this limitation, we use an opaque type that can only be obtained by 34386// passing the value through getToStringValue first. 34387function toString(value) { 34388 return '' + value; 34389} 34390function getToStringValue(value) { 34391 switch (typeof value) { 34392 case 'boolean': 34393 case 'number': 34394 case 'object': 34395 case 'string': 34396 case 'undefined': 34397 return value; 34398 34399 default: 34400 // function, symbol are assigned as empty strings 34401 return ''; 34402 } 34403} 34404 34405var ReactDebugCurrentFrame$2 = null; 34406var ReactControlledValuePropTypes = { 34407 checkPropTypes: null 34408}; 34409 34410{ 34411 ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame; 34412 var hasReadOnlyValue = { 34413 button: true, 34414 checkbox: true, 34415 image: true, 34416 hidden: true, 34417 radio: true, 34418 reset: true, 34419 submit: true 34420 }; 34421 var propTypes = { 34422 value: function (props, propName, componentName) { 34423 if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) { 34424 return null; 34425 } 34426 34427 return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); 34428 }, 34429 checked: function (props, propName, componentName) { 34430 if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) { 34431 return null; 34432 } 34433 34434 return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); 34435 } 34436 }; 34437 /** 34438 * Provide a linked `value` attribute for controlled forms. You should not use 34439 * this outside of the ReactDOM controlled form components. 34440 */ 34441 34442 ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) { 34443 checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum); 34444 }; 34445} 34446 34447function isCheckable(elem) { 34448 var type = elem.type; 34449 var nodeName = elem.nodeName; 34450 return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio'); 34451} 34452 34453function getTracker(node) { 34454 return node._valueTracker; 34455} 34456 34457function detachTracker(node) { 34458 node._valueTracker = null; 34459} 34460 34461function getValueFromNode(node) { 34462 var value = ''; 34463 34464 if (!node) { 34465 return value; 34466 } 34467 34468 if (isCheckable(node)) { 34469 value = node.checked ? 'true' : 'false'; 34470 } else { 34471 value = node.value; 34472 } 34473 34474 return value; 34475} 34476 34477function trackValueOnNode(node) { 34478 var valueField = isCheckable(node) ? 'checked' : 'value'; 34479 var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); 34480 var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail 34481 // and don't track value will cause over reporting of changes, 34482 // but it's better then a hard failure 34483 // (needed for certain tests that spyOn input values and Safari) 34484 34485 if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') { 34486 return; 34487 } 34488 34489 var get = descriptor.get, 34490 set = descriptor.set; 34491 Object.defineProperty(node, valueField, { 34492 configurable: true, 34493 get: function () { 34494 return get.call(this); 34495 }, 34496 set: function (value) { 34497 currentValue = '' + value; 34498 set.call(this, value); 34499 } 34500 }); // We could've passed this the first time 34501 // but it triggers a bug in IE11 and Edge 14/15. 34502 // Calling defineProperty() again should be equivalent. 34503 // https://github.com/facebook/react/issues/11768 34504 34505 Object.defineProperty(node, valueField, { 34506 enumerable: descriptor.enumerable 34507 }); 34508 var tracker = { 34509 getValue: function () { 34510 return currentValue; 34511 }, 34512 setValue: function (value) { 34513 currentValue = '' + value; 34514 }, 34515 stopTracking: function () { 34516 detachTracker(node); 34517 delete node[valueField]; 34518 } 34519 }; 34520 return tracker; 34521} 34522 34523function track(node) { 34524 if (getTracker(node)) { 34525 return; 34526 } // TODO: Once it's just Fiber we can move this to node._wrapperState 34527 34528 34529 node._valueTracker = trackValueOnNode(node); 34530} 34531function updateValueIfChanged(node) { 34532 if (!node) { 34533 return false; 34534 } 34535 34536 var tracker = getTracker(node); // if there is no tracker at this point it's unlikely 34537 // that trying again will succeed 34538 34539 if (!tracker) { 34540 return true; 34541 } 34542 34543 var lastValue = tracker.getValue(); 34544 var nextValue = getValueFromNode(node); 34545 34546 if (nextValue !== lastValue) { 34547 tracker.setValue(nextValue); 34548 return true; 34549 } 34550 34551 return false; 34552} 34553 34554var didWarnValueDefaultValue = false; 34555var didWarnCheckedDefaultChecked = false; 34556var didWarnControlledToUncontrolled = false; 34557var didWarnUncontrolledToControlled = false; 34558 34559function isControlled(props) { 34560 var usesChecked = props.type === 'checkbox' || props.type === 'radio'; 34561 return usesChecked ? props.checked != null : props.value != null; 34562} 34563/** 34564 * Implements an <input> host component that allows setting these optional 34565 * props: `checked`, `value`, `defaultChecked`, and `defaultValue`. 34566 * 34567 * If `checked` or `value` are not supplied (or null/undefined), user actions 34568 * that affect the checked state or value will trigger updates to the element. 34569 * 34570 * If they are supplied (and not null/undefined), the rendered element will not 34571 * trigger updates to the element. Instead, the props must change in order for 34572 * the rendered element to be updated. 34573 * 34574 * The rendered element will be initialized as unchecked (or `defaultChecked`) 34575 * with an empty value (or `defaultValue`). 34576 * 34577 * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html 34578 */ 34579 34580 34581function getHostProps(element, props) { 34582 var node = element; 34583 var checked = props.checked; 34584 34585 var hostProps = _assign({}, props, { 34586 defaultChecked: undefined, 34587 defaultValue: undefined, 34588 value: undefined, 34589 checked: checked != null ? checked : node._wrapperState.initialChecked 34590 }); 34591 34592 return hostProps; 34593} 34594function initWrapperState(element, props) { 34595 { 34596 ReactControlledValuePropTypes.checkPropTypes('input', props); 34597 34598 if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) { 34599 error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); 34600 34601 didWarnCheckedDefaultChecked = true; 34602 } 34603 34604 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { 34605 error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); 34606 34607 didWarnValueDefaultValue = true; 34608 } 34609 } 34610 34611 var node = element; 34612 var defaultValue = props.defaultValue == null ? '' : props.defaultValue; 34613 node._wrapperState = { 34614 initialChecked: props.checked != null ? props.checked : props.defaultChecked, 34615 initialValue: getToStringValue(props.value != null ? props.value : defaultValue), 34616 controlled: isControlled(props) 34617 }; 34618} 34619function updateChecked(element, props) { 34620 var node = element; 34621 var checked = props.checked; 34622 34623 if (checked != null) { 34624 setValueForProperty(node, 'checked', checked, false); 34625 } 34626} 34627function updateWrapper(element, props) { 34628 var node = element; 34629 34630 { 34631 var controlled = isControlled(props); 34632 34633 if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { 34634 error('A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type); 34635 34636 didWarnUncontrolledToControlled = true; 34637 } 34638 34639 if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { 34640 error('A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type); 34641 34642 didWarnControlledToUncontrolled = true; 34643 } 34644 } 34645 34646 updateChecked(element, props); 34647 var value = getToStringValue(props.value); 34648 var type = props.type; 34649 34650 if (value != null) { 34651 if (type === 'number') { 34652 if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible. 34653 // eslint-disable-next-line 34654 node.value != value) { 34655 node.value = toString(value); 34656 } 34657 } else if (node.value !== toString(value)) { 34658 node.value = toString(value); 34659 } 34660 } else if (type === 'submit' || type === 'reset') { 34661 // Submit/reset inputs need the attribute removed completely to avoid 34662 // blank-text buttons. 34663 node.removeAttribute('value'); 34664 return; 34665 } 34666 34667 { 34668 // When syncing the value attribute, the value comes from a cascade of 34669 // properties: 34670 // 1. The value React property 34671 // 2. The defaultValue React property 34672 // 3. Otherwise there should be no change 34673 if (props.hasOwnProperty('value')) { 34674 setDefaultValue(node, props.type, value); 34675 } else if (props.hasOwnProperty('defaultValue')) { 34676 setDefaultValue(node, props.type, getToStringValue(props.defaultValue)); 34677 } 34678 } 34679 34680 { 34681 // When syncing the checked attribute, it only changes when it needs 34682 // to be removed, such as transitioning from a checkbox into a text input 34683 if (props.checked == null && props.defaultChecked != null) { 34684 node.defaultChecked = !!props.defaultChecked; 34685 } 34686 } 34687} 34688function postMountWrapper(element, props, isHydrating) { 34689 var node = element; // Do not assign value if it is already set. This prevents user text input 34690 // from being lost during SSR hydration. 34691 34692 if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) { 34693 var type = props.type; 34694 var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the 34695 // default value provided by the browser. See: #12872 34696 34697 if (isButton && (props.value === undefined || props.value === null)) { 34698 return; 34699 } 34700 34701 var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input 34702 // from being lost during SSR hydration. 34703 34704 if (!isHydrating) { 34705 { 34706 // When syncing the value attribute, the value property should use 34707 // the wrapperState._initialValue property. This uses: 34708 // 34709 // 1. The value React property when present 34710 // 2. The defaultValue React property when present 34711 // 3. An empty string 34712 if (initialValue !== node.value) { 34713 node.value = initialValue; 34714 } 34715 } 34716 } 34717 34718 { 34719 // Otherwise, the value attribute is synchronized to the property, 34720 // so we assign defaultValue to the same thing as the value property 34721 // assignment step above. 34722 node.defaultValue = initialValue; 34723 } 34724 } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug 34725 // this is needed to work around a chrome bug where setting defaultChecked 34726 // will sometimes influence the value of checked (even after detachment). 34727 // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416 34728 // We need to temporarily unset name to avoid disrupting radio button groups. 34729 34730 34731 var name = node.name; 34732 34733 if (name !== '') { 34734 node.name = ''; 34735 } 34736 34737 { 34738 // When syncing the checked attribute, both the checked property and 34739 // attribute are assigned at the same time using defaultChecked. This uses: 34740 // 34741 // 1. The checked React property when present 34742 // 2. The defaultChecked React property when present 34743 // 3. Otherwise, false 34744 node.defaultChecked = !node.defaultChecked; 34745 node.defaultChecked = !!node._wrapperState.initialChecked; 34746 } 34747 34748 if (name !== '') { 34749 node.name = name; 34750 } 34751} 34752function restoreControlledState(element, props) { 34753 var node = element; 34754 updateWrapper(node, props); 34755 updateNamedCousins(node, props); 34756} 34757 34758function updateNamedCousins(rootNode, props) { 34759 var name = props.name; 34760 34761 if (props.type === 'radio' && name != null) { 34762 var queryRoot = rootNode; 34763 34764 while (queryRoot.parentNode) { 34765 queryRoot = queryRoot.parentNode; 34766 } // If `rootNode.form` was non-null, then we could try `form.elements`, 34767 // but that sometimes behaves strangely in IE8. We could also try using 34768 // `form.getElementsByName`, but that will only return direct children 34769 // and won't include inputs that use the HTML5 `form=` attribute. Since 34770 // the input might not even be in a form. It might not even be in the 34771 // document. Let's just use the local `querySelectorAll` to ensure we don't 34772 // miss anything. 34773 34774 34775 var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]'); 34776 34777 for (var i = 0; i < group.length; i++) { 34778 var otherNode = group[i]; 34779 34780 if (otherNode === rootNode || otherNode.form !== rootNode.form) { 34781 continue; 34782 } // This will throw if radio buttons rendered by different copies of React 34783 // and the same name are rendered into the same form (same as #1939). 34784 // That's probably okay; we don't support it just as we don't support 34785 // mixing React radio buttons with non-React ones. 34786 34787 34788 var otherProps = getFiberCurrentPropsFromNode$1(otherNode); 34789 34790 if (!otherProps) { 34791 { 34792 throw Error( "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." ); 34793 } 34794 } // We need update the tracked value on the named cousin since the value 34795 // was changed but the input saw no event or value set 34796 34797 34798 updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that 34799 // was previously checked to update will cause it to be come re-checked 34800 // as appropriate. 34801 34802 updateWrapper(otherNode, otherProps); 34803 } 34804 } 34805} // In Chrome, assigning defaultValue to certain input types triggers input validation. 34806// For number inputs, the display value loses trailing decimal points. For email inputs, 34807// Chrome raises "The specified value <x> is not a valid email address". 34808// 34809// Here we check to see if the defaultValue has actually changed, avoiding these problems 34810// when the user is inputting text 34811// 34812// https://github.com/facebook/react/issues/7253 34813 34814 34815function setDefaultValue(node, type, value) { 34816 if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js 34817 type !== 'number' || node.ownerDocument.activeElement !== node) { 34818 if (value == null) { 34819 node.defaultValue = toString(node._wrapperState.initialValue); 34820 } else if (node.defaultValue !== toString(value)) { 34821 node.defaultValue = toString(value); 34822 } 34823 } 34824} 34825 34826var didWarnSelectedSetOnOption = false; 34827var didWarnInvalidChild = false; 34828 34829function flattenChildren(children) { 34830 var content = ''; // Flatten children. We'll warn if they are invalid 34831 // during validateProps() which runs for hydration too. 34832 // Note that this would throw on non-element objects. 34833 // Elements are stringified (which is normally irrelevant 34834 // but matters for <fbt>). 34835 34836 React.Children.forEach(children, function (child) { 34837 if (child == null) { 34838 return; 34839 } 34840 34841 content += child; // Note: we don't warn about invalid children here. 34842 // Instead, this is done separately below so that 34843 // it happens during the hydration codepath too. 34844 }); 34845 return content; 34846} 34847/** 34848 * Implements an <option> host component that warns when `selected` is set. 34849 */ 34850 34851 34852function validateProps(element, props) { 34853 { 34854 // This mirrors the codepath above, but runs for hydration too. 34855 // Warn about invalid children here so that client and hydration are consistent. 34856 // TODO: this seems like it could cause a DEV-only throw for hydration 34857 // if children contains a non-element object. We should try to avoid that. 34858 if (typeof props.children === 'object' && props.children !== null) { 34859 React.Children.forEach(props.children, function (child) { 34860 if (child == null) { 34861 return; 34862 } 34863 34864 if (typeof child === 'string' || typeof child === 'number') { 34865 return; 34866 } 34867 34868 if (typeof child.type !== 'string') { 34869 return; 34870 } 34871 34872 if (!didWarnInvalidChild) { 34873 didWarnInvalidChild = true; 34874 34875 error('Only strings and numbers are supported as <option> children.'); 34876 } 34877 }); 34878 } // TODO: Remove support for `selected` in <option>. 34879 34880 34881 if (props.selected != null && !didWarnSelectedSetOnOption) { 34882 error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.'); 34883 34884 didWarnSelectedSetOnOption = true; 34885 } 34886 } 34887} 34888function postMountWrapper$1(element, props) { 34889 // value="" should make a value attribute (#6219) 34890 if (props.value != null) { 34891 element.setAttribute('value', toString(getToStringValue(props.value))); 34892 } 34893} 34894function getHostProps$1(element, props) { 34895 var hostProps = _assign({ 34896 children: undefined 34897 }, props); 34898 34899 var content = flattenChildren(props.children); 34900 34901 if (content) { 34902 hostProps.children = content; 34903 } 34904 34905 return hostProps; 34906} 34907 34908var didWarnValueDefaultValue$1; 34909 34910{ 34911 didWarnValueDefaultValue$1 = false; 34912} 34913 34914function getDeclarationErrorAddendum() { 34915 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 34916 34917 if (ownerName) { 34918 return '\n\nCheck the render method of `' + ownerName + '`.'; 34919 } 34920 34921 return ''; 34922} 34923 34924var valuePropNames = ['value', 'defaultValue']; 34925/** 34926 * Validation function for `value` and `defaultValue`. 34927 */ 34928 34929function checkSelectPropTypes(props) { 34930 { 34931 ReactControlledValuePropTypes.checkPropTypes('select', props); 34932 34933 for (var i = 0; i < valuePropNames.length; i++) { 34934 var propName = valuePropNames[i]; 34935 34936 if (props[propName] == null) { 34937 continue; 34938 } 34939 34940 var isArray = Array.isArray(props[propName]); 34941 34942 if (props.multiple && !isArray) { 34943 error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum()); 34944 } else if (!props.multiple && isArray) { 34945 error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum()); 34946 } 34947 } 34948 } 34949} 34950 34951function updateOptions(node, multiple, propValue, setDefaultSelected) { 34952 var options = node.options; 34953 34954 if (multiple) { 34955 var selectedValues = propValue; 34956 var selectedValue = {}; 34957 34958 for (var i = 0; i < selectedValues.length; i++) { 34959 // Prefix to avoid chaos with special keys. 34960 selectedValue['$' + selectedValues[i]] = true; 34961 } 34962 34963 for (var _i = 0; _i < options.length; _i++) { 34964 var selected = selectedValue.hasOwnProperty('$' + options[_i].value); 34965 34966 if (options[_i].selected !== selected) { 34967 options[_i].selected = selected; 34968 } 34969 34970 if (selected && setDefaultSelected) { 34971 options[_i].defaultSelected = true; 34972 } 34973 } 34974 } else { 34975 // Do not set `select.value` as exact behavior isn't consistent across all 34976 // browsers for all cases. 34977 var _selectedValue = toString(getToStringValue(propValue)); 34978 34979 var defaultSelected = null; 34980 34981 for (var _i2 = 0; _i2 < options.length; _i2++) { 34982 if (options[_i2].value === _selectedValue) { 34983 options[_i2].selected = true; 34984 34985 if (setDefaultSelected) { 34986 options[_i2].defaultSelected = true; 34987 } 34988 34989 return; 34990 } 34991 34992 if (defaultSelected === null && !options[_i2].disabled) { 34993 defaultSelected = options[_i2]; 34994 } 34995 } 34996 34997 if (defaultSelected !== null) { 34998 defaultSelected.selected = true; 34999 } 35000 } 35001} 35002/** 35003 * Implements a <select> host component that allows optionally setting the 35004 * props `value` and `defaultValue`. If `multiple` is false, the prop must be a 35005 * stringable. If `multiple` is true, the prop must be an array of stringables. 35006 * 35007 * If `value` is not supplied (or null/undefined), user actions that change the 35008 * selected option will trigger updates to the rendered options. 35009 * 35010 * If it is supplied (and not null/undefined), the rendered options will not 35011 * update in response to user actions. Instead, the `value` prop must change in 35012 * order for the rendered options to update. 35013 * 35014 * If `defaultValue` is provided, any options with the supplied values will be 35015 * selected. 35016 */ 35017 35018 35019function getHostProps$2(element, props) { 35020 return _assign({}, props, { 35021 value: undefined 35022 }); 35023} 35024function initWrapperState$1(element, props) { 35025 var node = element; 35026 35027 { 35028 checkSelectPropTypes(props); 35029 } 35030 35031 node._wrapperState = { 35032 wasMultiple: !!props.multiple 35033 }; 35034 35035 { 35036 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) { 35037 error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components'); 35038 35039 didWarnValueDefaultValue$1 = true; 35040 } 35041 } 35042} 35043function postMountWrapper$2(element, props) { 35044 var node = element; 35045 node.multiple = !!props.multiple; 35046 var value = props.value; 35047 35048 if (value != null) { 35049 updateOptions(node, !!props.multiple, value, false); 35050 } else if (props.defaultValue != null) { 35051 updateOptions(node, !!props.multiple, props.defaultValue, true); 35052 } 35053} 35054function postUpdateWrapper(element, props) { 35055 var node = element; 35056 var wasMultiple = node._wrapperState.wasMultiple; 35057 node._wrapperState.wasMultiple = !!props.multiple; 35058 var value = props.value; 35059 35060 if (value != null) { 35061 updateOptions(node, !!props.multiple, value, false); 35062 } else if (wasMultiple !== !!props.multiple) { 35063 // For simplicity, reapply `defaultValue` if `multiple` is toggled. 35064 if (props.defaultValue != null) { 35065 updateOptions(node, !!props.multiple, props.defaultValue, true); 35066 } else { 35067 // Revert the select back to its default unselected state. 35068 updateOptions(node, !!props.multiple, props.multiple ? [] : '', false); 35069 } 35070 } 35071} 35072function restoreControlledState$1(element, props) { 35073 var node = element; 35074 var value = props.value; 35075 35076 if (value != null) { 35077 updateOptions(node, !!props.multiple, value, false); 35078 } 35079} 35080 35081var didWarnValDefaultVal = false; 35082 35083/** 35084 * Implements a <textarea> host component that allows setting `value`, and 35085 * `defaultValue`. This differs from the traditional DOM API because value is 35086 * usually set as PCDATA children. 35087 * 35088 * If `value` is not supplied (or null/undefined), user actions that affect the 35089 * value will trigger updates to the element. 35090 * 35091 * If `value` is supplied (and not null/undefined), the rendered element will 35092 * not trigger updates to the element. Instead, the `value` prop must change in 35093 * order for the rendered element to be updated. 35094 * 35095 * The rendered element will be initialized with an empty value, the prop 35096 * `defaultValue` if specified, or the children content (deprecated). 35097 */ 35098function getHostProps$3(element, props) { 35099 var node = element; 35100 35101 if (!(props.dangerouslySetInnerHTML == null)) { 35102 { 35103 throw Error( "`dangerouslySetInnerHTML` does not make sense on <textarea>." ); 35104 } 35105 } // Always set children to the same thing. In IE9, the selection range will 35106 // get reset if `textContent` is mutated. We could add a check in setTextContent 35107 // to only set the value if/when the value differs from the node value (which would 35108 // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this 35109 // solution. The value can be a boolean or object so that's why it's forced 35110 // to be a string. 35111 35112 35113 var hostProps = _assign({}, props, { 35114 value: undefined, 35115 defaultValue: undefined, 35116 children: toString(node._wrapperState.initialValue) 35117 }); 35118 35119 return hostProps; 35120} 35121function initWrapperState$2(element, props) { 35122 var node = element; 35123 35124 { 35125 ReactControlledValuePropTypes.checkPropTypes('textarea', props); 35126 35127 if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) { 35128 error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component'); 35129 35130 didWarnValDefaultVal = true; 35131 } 35132 } 35133 35134 var initialValue = props.value; // Only bother fetching default value if we're going to use it 35135 35136 if (initialValue == null) { 35137 var children = props.children, 35138 defaultValue = props.defaultValue; 35139 35140 if (children != null) { 35141 { 35142 error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.'); 35143 } 35144 35145 { 35146 if (!(defaultValue == null)) { 35147 { 35148 throw Error( "If you supply `defaultValue` on a <textarea>, do not pass children." ); 35149 } 35150 } 35151 35152 if (Array.isArray(children)) { 35153 if (!(children.length <= 1)) { 35154 { 35155 throw Error( "<textarea> can only have at most one child." ); 35156 } 35157 } 35158 35159 children = children[0]; 35160 } 35161 35162 defaultValue = children; 35163 } 35164 } 35165 35166 if (defaultValue == null) { 35167 defaultValue = ''; 35168 } 35169 35170 initialValue = defaultValue; 35171 } 35172 35173 node._wrapperState = { 35174 initialValue: getToStringValue(initialValue) 35175 }; 35176} 35177function updateWrapper$1(element, props) { 35178 var node = element; 35179 var value = getToStringValue(props.value); 35180 var defaultValue = getToStringValue(props.defaultValue); 35181 35182 if (value != null) { 35183 // Cast `value` to a string to ensure the value is set correctly. While 35184 // browsers typically do this as necessary, jsdom doesn't. 35185 var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed 35186 35187 if (newValue !== node.value) { 35188 node.value = newValue; 35189 } 35190 35191 if (props.defaultValue == null && node.defaultValue !== newValue) { 35192 node.defaultValue = newValue; 35193 } 35194 } 35195 35196 if (defaultValue != null) { 35197 node.defaultValue = toString(defaultValue); 35198 } 35199} 35200function postMountWrapper$3(element, props) { 35201 var node = element; // This is in postMount because we need access to the DOM node, which is not 35202 // available until after the component has mounted. 35203 35204 var textContent = node.textContent; // Only set node.value if textContent is equal to the expected 35205 // initial value. In IE10/IE11 there is a bug where the placeholder attribute 35206 // will populate textContent as well. 35207 // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/ 35208 35209 if (textContent === node._wrapperState.initialValue) { 35210 if (textContent !== '' && textContent !== null) { 35211 node.value = textContent; 35212 } 35213 } 35214} 35215function restoreControlledState$2(element, props) { 35216 // DOM component is still mounted; update 35217 updateWrapper$1(element, props); 35218} 35219 35220var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml'; 35221var MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'; 35222var SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; 35223var Namespaces = { 35224 html: HTML_NAMESPACE, 35225 mathml: MATH_NAMESPACE, 35226 svg: SVG_NAMESPACE 35227}; // Assumes there is no parent namespace. 35228 35229function getIntrinsicNamespace(type) { 35230 switch (type) { 35231 case 'svg': 35232 return SVG_NAMESPACE; 35233 35234 case 'math': 35235 return MATH_NAMESPACE; 35236 35237 default: 35238 return HTML_NAMESPACE; 35239 } 35240} 35241function getChildNamespace(parentNamespace, type) { 35242 if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) { 35243 // No (or default) parent namespace: potential entry point. 35244 return getIntrinsicNamespace(type); 35245 } 35246 35247 if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') { 35248 // We're leaving SVG. 35249 return HTML_NAMESPACE; 35250 } // By default, pass namespace below. 35251 35252 35253 return parentNamespace; 35254} 35255 35256/* globals MSApp */ 35257 35258/** 35259 * Create a function which has 'unsafe' privileges (required by windows8 apps) 35260 */ 35261var createMicrosoftUnsafeLocalFunction = function (func) { 35262 if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { 35263 return function (arg0, arg1, arg2, arg3) { 35264 MSApp.execUnsafeLocalFunction(function () { 35265 return func(arg0, arg1, arg2, arg3); 35266 }); 35267 }; 35268 } else { 35269 return func; 35270 } 35271}; 35272 35273var reusableSVGContainer; 35274/** 35275 * Set the innerHTML property of a node 35276 * 35277 * @param {DOMElement} node 35278 * @param {string} html 35279 * @internal 35280 */ 35281 35282var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { 35283 if (node.namespaceURI === Namespaces.svg) { 35284 35285 if (!('innerHTML' in node)) { 35286 // IE does not have innerHTML for SVG nodes, so instead we inject the 35287 // new markup in a temp node and then move the child nodes across into 35288 // the target node 35289 reusableSVGContainer = reusableSVGContainer || document.createElement('div'); 35290 reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>'; 35291 var svgNode = reusableSVGContainer.firstChild; 35292 35293 while (node.firstChild) { 35294 node.removeChild(node.firstChild); 35295 } 35296 35297 while (svgNode.firstChild) { 35298 node.appendChild(svgNode.firstChild); 35299 } 35300 35301 return; 35302 } 35303 } 35304 35305 node.innerHTML = html; 35306}); 35307 35308/** 35309 * HTML nodeType values that represent the type of the node 35310 */ 35311var ELEMENT_NODE = 1; 35312var TEXT_NODE = 3; 35313var COMMENT_NODE = 8; 35314var DOCUMENT_NODE = 9; 35315var DOCUMENT_FRAGMENT_NODE = 11; 35316 35317/** 35318 * Set the textContent property of a node. For text updates, it's faster 35319 * to set the `nodeValue` of the Text node directly instead of using 35320 * `.textContent` which will remove the existing node and create a new one. 35321 * 35322 * @param {DOMElement} node 35323 * @param {string} text 35324 * @internal 35325 */ 35326 35327var setTextContent = function (node, text) { 35328 if (text) { 35329 var firstChild = node.firstChild; 35330 35331 if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) { 35332 firstChild.nodeValue = text; 35333 return; 35334 } 35335 } 35336 35337 node.textContent = text; 35338}; 35339 35340// Do not use the below two methods directly! 35341// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM. 35342// (It is the only module that is allowed to access these methods.) 35343function unsafeCastStringToDOMTopLevelType(topLevelType) { 35344 return topLevelType; 35345} 35346function unsafeCastDOMTopLevelTypeToString(topLevelType) { 35347 return topLevelType; 35348} 35349 35350/** 35351 * Generate a mapping of standard vendor prefixes using the defined style property and event name. 35352 * 35353 * @param {string} styleProp 35354 * @param {string} eventName 35355 * @returns {object} 35356 */ 35357 35358function makePrefixMap(styleProp, eventName) { 35359 var prefixes = {}; 35360 prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); 35361 prefixes['Webkit' + styleProp] = 'webkit' + eventName; 35362 prefixes['Moz' + styleProp] = 'moz' + eventName; 35363 return prefixes; 35364} 35365/** 35366 * A list of event names to a configurable list of vendor prefixes. 35367 */ 35368 35369 35370var vendorPrefixes = { 35371 animationend: makePrefixMap('Animation', 'AnimationEnd'), 35372 animationiteration: makePrefixMap('Animation', 'AnimationIteration'), 35373 animationstart: makePrefixMap('Animation', 'AnimationStart'), 35374 transitionend: makePrefixMap('Transition', 'TransitionEnd') 35375}; 35376/** 35377 * Event names that have already been detected and prefixed (if applicable). 35378 */ 35379 35380var prefixedEventNames = {}; 35381/** 35382 * Element to check for prefixes on. 35383 */ 35384 35385var style = {}; 35386/** 35387 * Bootstrap if a DOM exists. 35388 */ 35389 35390if (canUseDOM) { 35391 style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x, 35392 // the un-prefixed "animation" and "transition" properties are defined on the 35393 // style object but the events that fire will still be prefixed, so we need 35394 // to check if the un-prefixed events are usable, and if not remove them from the map. 35395 35396 if (!('AnimationEvent' in window)) { 35397 delete vendorPrefixes.animationend.animation; 35398 delete vendorPrefixes.animationiteration.animation; 35399 delete vendorPrefixes.animationstart.animation; 35400 } // Same as above 35401 35402 35403 if (!('TransitionEvent' in window)) { 35404 delete vendorPrefixes.transitionend.transition; 35405 } 35406} 35407/** 35408 * Attempts to determine the correct vendor prefixed event name. 35409 * 35410 * @param {string} eventName 35411 * @returns {string} 35412 */ 35413 35414 35415function getVendorPrefixedEventName(eventName) { 35416 if (prefixedEventNames[eventName]) { 35417 return prefixedEventNames[eventName]; 35418 } else if (!vendorPrefixes[eventName]) { 35419 return eventName; 35420 } 35421 35422 var prefixMap = vendorPrefixes[eventName]; 35423 35424 for (var styleProp in prefixMap) { 35425 if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) { 35426 return prefixedEventNames[eventName] = prefixMap[styleProp]; 35427 } 35428 } 35429 35430 return eventName; 35431} 35432 35433/** 35434 * To identify top level events in ReactDOM, we use constants defined by this 35435 * module. This is the only module that uses the unsafe* methods to express 35436 * that the constants actually correspond to the browser event names. This lets 35437 * us save some bundle size by avoiding a top level type -> event name map. 35438 * The rest of ReactDOM code should import top level types from this file. 35439 */ 35440 35441var TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort'); 35442var TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend')); 35443var TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration')); 35444var TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart')); 35445var TOP_BLUR = unsafeCastStringToDOMTopLevelType('blur'); 35446var TOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType('canplay'); 35447var TOP_CAN_PLAY_THROUGH = unsafeCastStringToDOMTopLevelType('canplaythrough'); 35448var TOP_CANCEL = unsafeCastStringToDOMTopLevelType('cancel'); 35449var TOP_CHANGE = unsafeCastStringToDOMTopLevelType('change'); 35450var TOP_CLICK = unsafeCastStringToDOMTopLevelType('click'); 35451var TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close'); 35452var TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionend'); 35453var TOP_COMPOSITION_START = unsafeCastStringToDOMTopLevelType('compositionstart'); 35454var TOP_COMPOSITION_UPDATE = unsafeCastStringToDOMTopLevelType('compositionupdate'); 35455var TOP_CONTEXT_MENU = unsafeCastStringToDOMTopLevelType('contextmenu'); 35456var TOP_COPY = unsafeCastStringToDOMTopLevelType('copy'); 35457var TOP_CUT = unsafeCastStringToDOMTopLevelType('cut'); 35458var TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick'); 35459var TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick'); 35460var TOP_DRAG = unsafeCastStringToDOMTopLevelType('drag'); 35461var TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend'); 35462var TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter'); 35463var TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit'); 35464var TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave'); 35465var TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover'); 35466var TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart'); 35467var TOP_DROP = unsafeCastStringToDOMTopLevelType('drop'); 35468var TOP_DURATION_CHANGE = unsafeCastStringToDOMTopLevelType('durationchange'); 35469var TOP_EMPTIED = unsafeCastStringToDOMTopLevelType('emptied'); 35470var TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted'); 35471var TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended'); 35472var TOP_ERROR = unsafeCastStringToDOMTopLevelType('error'); 35473var TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus'); 35474var TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture'); 35475var TOP_INPUT = unsafeCastStringToDOMTopLevelType('input'); 35476var TOP_INVALID = unsafeCastStringToDOMTopLevelType('invalid'); 35477var TOP_KEY_DOWN = unsafeCastStringToDOMTopLevelType('keydown'); 35478var TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress'); 35479var TOP_KEY_UP = unsafeCastStringToDOMTopLevelType('keyup'); 35480var TOP_LOAD = unsafeCastStringToDOMTopLevelType('load'); 35481var TOP_LOAD_START = unsafeCastStringToDOMTopLevelType('loadstart'); 35482var TOP_LOADED_DATA = unsafeCastStringToDOMTopLevelType('loadeddata'); 35483var TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata'); 35484var TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture'); 35485var TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown'); 35486var TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove'); 35487var TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout'); 35488var TOP_MOUSE_OVER = unsafeCastStringToDOMTopLevelType('mouseover'); 35489var TOP_MOUSE_UP = unsafeCastStringToDOMTopLevelType('mouseup'); 35490var TOP_PASTE = unsafeCastStringToDOMTopLevelType('paste'); 35491var TOP_PAUSE = unsafeCastStringToDOMTopLevelType('pause'); 35492var TOP_PLAY = unsafeCastStringToDOMTopLevelType('play'); 35493var TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing'); 35494var TOP_POINTER_CANCEL = unsafeCastStringToDOMTopLevelType('pointercancel'); 35495var TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown'); 35496var TOP_POINTER_MOVE = unsafeCastStringToDOMTopLevelType('pointermove'); 35497var TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout'); 35498var TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover'); 35499var TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup'); 35500var TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress'); 35501var TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange'); 35502var TOP_RESET = unsafeCastStringToDOMTopLevelType('reset'); 35503var TOP_SCROLL = unsafeCastStringToDOMTopLevelType('scroll'); 35504var TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked'); 35505var TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking'); 35506var TOP_SELECTION_CHANGE = unsafeCastStringToDOMTopLevelType('selectionchange'); 35507var TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled'); 35508var TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit'); 35509var TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend'); 35510var TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput'); 35511var TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate'); 35512var TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle'); 35513var TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel'); 35514var TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend'); 35515var TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove'); 35516var TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart'); 35517var TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend')); 35518var TOP_VOLUME_CHANGE = unsafeCastStringToDOMTopLevelType('volumechange'); 35519var TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting'); 35520var TOP_WHEEL = unsafeCastStringToDOMTopLevelType('wheel'); // List of events that need to be individually attached to media elements. 35521// Note that events in this list will *not* be listened to at the top level 35522// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`. 35523 35524var mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_VOLUME_CHANGE, TOP_WAITING]; 35525function getRawEventName(topLevelType) { 35526 return unsafeCastDOMTopLevelTypeToString(topLevelType); 35527} 35528 35529var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // prettier-ignore 35530 35531var elementListenerMap = new PossiblyWeakMap(); 35532function getListenerMapForElement(element) { 35533 var listenerMap = elementListenerMap.get(element); 35534 35535 if (listenerMap === undefined) { 35536 listenerMap = new Map(); 35537 elementListenerMap.set(element, listenerMap); 35538 } 35539 35540 return listenerMap; 35541} 35542 35543/** 35544 * `ReactInstanceMap` maintains a mapping from a public facing stateful 35545 * instance (key) and the internal representation (value). This allows public 35546 * methods to accept the user facing instance as an argument and map them back 35547 * to internal methods. 35548 * 35549 * Note that this module is currently shared and assumed to be stateless. 35550 * If this becomes an actual Map, that will break. 35551 */ 35552function get(key) { 35553 return key._reactInternalFiber; 35554} 35555function has(key) { 35556 return key._reactInternalFiber !== undefined; 35557} 35558function set(key, value) { 35559 key._reactInternalFiber = value; 35560} 35561 35562// Don't change these two values. They're used by React Dev Tools. 35563var NoEffect = 35564/* */ 355650; 35566var PerformedWork = 35567/* */ 355681; // You can change the rest (and add more). 35569 35570var Placement = 35571/* */ 355722; 35573var Update = 35574/* */ 355754; 35576var PlacementAndUpdate = 35577/* */ 355786; 35579var Deletion = 35580/* */ 355818; 35582var ContentReset = 35583/* */ 3558416; 35585var Callback = 35586/* */ 3558732; 35588var DidCapture = 35589/* */ 3559064; 35591var Ref = 35592/* */ 35593128; 35594var Snapshot = 35595/* */ 35596256; 35597var Passive = 35598/* */ 35599512; 35600var Hydrating = 35601/* */ 356021024; 35603var HydratingAndUpdate = 35604/* */ 356051028; // Passive & Update & Callback & Ref & Snapshot 35606 35607var LifecycleEffectMask = 35608/* */ 35609932; // Union of all host effects 35610 35611var HostEffectMask = 35612/* */ 356132047; 35614var Incomplete = 35615/* */ 356162048; 35617var ShouldCapture = 35618/* */ 356194096; 35620 35621var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; 35622function getNearestMountedFiber(fiber) { 35623 var node = fiber; 35624 var nearestMounted = fiber; 35625 35626 if (!fiber.alternate) { 35627 // If there is no alternate, this might be a new tree that isn't inserted 35628 // yet. If it is, then it will have a pending insertion effect on it. 35629 var nextNode = node; 35630 35631 do { 35632 node = nextNode; 35633 35634 if ((node.effectTag & (Placement | Hydrating)) !== NoEffect) { 35635 // This is an insertion or in-progress hydration. The nearest possible 35636 // mounted fiber is the parent but we need to continue to figure out 35637 // if that one is still mounted. 35638 nearestMounted = node.return; 35639 } 35640 35641 nextNode = node.return; 35642 } while (nextNode); 35643 } else { 35644 while (node.return) { 35645 node = node.return; 35646 } 35647 } 35648 35649 if (node.tag === HostRoot) { 35650 // TODO: Check if this was a nested HostRoot when used with 35651 // renderContainerIntoSubtree. 35652 return nearestMounted; 35653 } // If we didn't hit the root, that means that we're in an disconnected tree 35654 // that has been unmounted. 35655 35656 35657 return null; 35658} 35659function getSuspenseInstanceFromFiber(fiber) { 35660 if (fiber.tag === SuspenseComponent) { 35661 var suspenseState = fiber.memoizedState; 35662 35663 if (suspenseState === null) { 35664 var current = fiber.alternate; 35665 35666 if (current !== null) { 35667 suspenseState = current.memoizedState; 35668 } 35669 } 35670 35671 if (suspenseState !== null) { 35672 return suspenseState.dehydrated; 35673 } 35674 } 35675 35676 return null; 35677} 35678function getContainerFromFiber(fiber) { 35679 return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null; 35680} 35681function isFiberMounted(fiber) { 35682 return getNearestMountedFiber(fiber) === fiber; 35683} 35684function isMounted(component) { 35685 { 35686 var owner = ReactCurrentOwner.current; 35687 35688 if (owner !== null && owner.tag === ClassComponent) { 35689 var ownerFiber = owner; 35690 var instance = ownerFiber.stateNode; 35691 35692 if (!instance._warnedAboutRefsInRender) { 35693 error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component'); 35694 } 35695 35696 instance._warnedAboutRefsInRender = true; 35697 } 35698 } 35699 35700 var fiber = get(component); 35701 35702 if (!fiber) { 35703 return false; 35704 } 35705 35706 return getNearestMountedFiber(fiber) === fiber; 35707} 35708 35709function assertIsMounted(fiber) { 35710 if (!(getNearestMountedFiber(fiber) === fiber)) { 35711 { 35712 throw Error( "Unable to find node on an unmounted component." ); 35713 } 35714 } 35715} 35716 35717function findCurrentFiberUsingSlowPath(fiber) { 35718 var alternate = fiber.alternate; 35719 35720 if (!alternate) { 35721 // If there is no alternate, then we only need to check if it is mounted. 35722 var nearestMounted = getNearestMountedFiber(fiber); 35723 35724 if (!(nearestMounted !== null)) { 35725 { 35726 throw Error( "Unable to find node on an unmounted component." ); 35727 } 35728 } 35729 35730 if (nearestMounted !== fiber) { 35731 return null; 35732 } 35733 35734 return fiber; 35735 } // If we have two possible branches, we'll walk backwards up to the root 35736 // to see what path the root points to. On the way we may hit one of the 35737 // special cases and we'll deal with them. 35738 35739 35740 var a = fiber; 35741 var b = alternate; 35742 35743 while (true) { 35744 var parentA = a.return; 35745 35746 if (parentA === null) { 35747 // We're at the root. 35748 break; 35749 } 35750 35751 var parentB = parentA.alternate; 35752 35753 if (parentB === null) { 35754 // There is no alternate. This is an unusual case. Currently, it only 35755 // happens when a Suspense component is hidden. An extra fragment fiber 35756 // is inserted in between the Suspense fiber and its children. Skip 35757 // over this extra fragment fiber and proceed to the next parent. 35758 var nextParent = parentA.return; 35759 35760 if (nextParent !== null) { 35761 a = b = nextParent; 35762 continue; 35763 } // If there's no parent, we're at the root. 35764 35765 35766 break; 35767 } // If both copies of the parent fiber point to the same child, we can 35768 // assume that the child is current. This happens when we bailout on low 35769 // priority: the bailed out fiber's child reuses the current child. 35770 35771 35772 if (parentA.child === parentB.child) { 35773 var child = parentA.child; 35774 35775 while (child) { 35776 if (child === a) { 35777 // We've determined that A is the current branch. 35778 assertIsMounted(parentA); 35779 return fiber; 35780 } 35781 35782 if (child === b) { 35783 // We've determined that B is the current branch. 35784 assertIsMounted(parentA); 35785 return alternate; 35786 } 35787 35788 child = child.sibling; 35789 } // We should never have an alternate for any mounting node. So the only 35790 // way this could possibly happen is if this was unmounted, if at all. 35791 35792 35793 { 35794 { 35795 throw Error( "Unable to find node on an unmounted component." ); 35796 } 35797 } 35798 } 35799 35800 if (a.return !== b.return) { 35801 // The return pointer of A and the return pointer of B point to different 35802 // fibers. We assume that return pointers never criss-cross, so A must 35803 // belong to the child set of A.return, and B must belong to the child 35804 // set of B.return. 35805 a = parentA; 35806 b = parentB; 35807 } else { 35808 // The return pointers point to the same fiber. We'll have to use the 35809 // default, slow path: scan the child sets of each parent alternate to see 35810 // which child belongs to which set. 35811 // 35812 // Search parent A's child set 35813 var didFindChild = false; 35814 var _child = parentA.child; 35815 35816 while (_child) { 35817 if (_child === a) { 35818 didFindChild = true; 35819 a = parentA; 35820 b = parentB; 35821 break; 35822 } 35823 35824 if (_child === b) { 35825 didFindChild = true; 35826 b = parentA; 35827 a = parentB; 35828 break; 35829 } 35830 35831 _child = _child.sibling; 35832 } 35833 35834 if (!didFindChild) { 35835 // Search parent B's child set 35836 _child = parentB.child; 35837 35838 while (_child) { 35839 if (_child === a) { 35840 didFindChild = true; 35841 a = parentB; 35842 b = parentA; 35843 break; 35844 } 35845 35846 if (_child === b) { 35847 didFindChild = true; 35848 b = parentB; 35849 a = parentA; 35850 break; 35851 } 35852 35853 _child = _child.sibling; 35854 } 35855 35856 if (!didFindChild) { 35857 { 35858 throw Error( "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." ); 35859 } 35860 } 35861 } 35862 } 35863 35864 if (!(a.alternate === b)) { 35865 { 35866 throw Error( "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." ); 35867 } 35868 } 35869 } // If the root is not a host container, we're in a disconnected tree. I.e. 35870 // unmounted. 35871 35872 35873 if (!(a.tag === HostRoot)) { 35874 { 35875 throw Error( "Unable to find node on an unmounted component." ); 35876 } 35877 } 35878 35879 if (a.stateNode.current === a) { 35880 // We've determined that A is the current branch. 35881 return fiber; 35882 } // Otherwise B has to be current branch. 35883 35884 35885 return alternate; 35886} 35887function findCurrentHostFiber(parent) { 35888 var currentParent = findCurrentFiberUsingSlowPath(parent); 35889 35890 if (!currentParent) { 35891 return null; 35892 } // Next we'll drill down this component to find the first HostComponent/Text. 35893 35894 35895 var node = currentParent; 35896 35897 while (true) { 35898 if (node.tag === HostComponent || node.tag === HostText) { 35899 return node; 35900 } else if (node.child) { 35901 node.child.return = node; 35902 node = node.child; 35903 continue; 35904 } 35905 35906 if (node === currentParent) { 35907 return null; 35908 } 35909 35910 while (!node.sibling) { 35911 if (!node.return || node.return === currentParent) { 35912 return null; 35913 } 35914 35915 node = node.return; 35916 } 35917 35918 node.sibling.return = node.return; 35919 node = node.sibling; 35920 } // Flow needs the return null here, but ESLint complains about it. 35921 // eslint-disable-next-line no-unreachable 35922 35923 35924 return null; 35925} 35926function findCurrentHostFiberWithNoPortals(parent) { 35927 var currentParent = findCurrentFiberUsingSlowPath(parent); 35928 35929 if (!currentParent) { 35930 return null; 35931 } // Next we'll drill down this component to find the first HostComponent/Text. 35932 35933 35934 var node = currentParent; 35935 35936 while (true) { 35937 if (node.tag === HostComponent || node.tag === HostText || enableFundamentalAPI ) { 35938 return node; 35939 } else if (node.child && node.tag !== HostPortal) { 35940 node.child.return = node; 35941 node = node.child; 35942 continue; 35943 } 35944 35945 if (node === currentParent) { 35946 return null; 35947 } 35948 35949 while (!node.sibling) { 35950 if (!node.return || node.return === currentParent) { 35951 return null; 35952 } 35953 35954 node = node.return; 35955 } 35956 35957 node.sibling.return = node.return; 35958 node = node.sibling; 35959 } // Flow needs the return null here, but ESLint complains about it. 35960 // eslint-disable-next-line no-unreachable 35961 35962 35963 return null; 35964} 35965 35966/** 35967 * Accumulates items that must not be null or undefined into the first one. This 35968 * is used to conserve memory by avoiding array allocations, and thus sacrifices 35969 * API cleanness. Since `current` can be null before being passed in and not 35970 * null after this function, make sure to assign it back to `current`: 35971 * 35972 * `a = accumulateInto(a, b);` 35973 * 35974 * This API should be sparingly used. Try `accumulate` for something cleaner. 35975 * 35976 * @return {*|array<*>} An accumulation of items. 35977 */ 35978 35979function accumulateInto(current, next) { 35980 if (!(next != null)) { 35981 { 35982 throw Error( "accumulateInto(...): Accumulated items must not be null or undefined." ); 35983 } 35984 } 35985 35986 if (current == null) { 35987 return next; 35988 } // Both are not empty. Warning: Never call x.concat(y) when you are not 35989 // certain that x is an Array (x could be a string with concat method). 35990 35991 35992 if (Array.isArray(current)) { 35993 if (Array.isArray(next)) { 35994 current.push.apply(current, next); 35995 return current; 35996 } 35997 35998 current.push(next); 35999 return current; 36000 } 36001 36002 if (Array.isArray(next)) { 36003 // A bit too dangerous to mutate `next`. 36004 return [current].concat(next); 36005 } 36006 36007 return [current, next]; 36008} 36009 36010/** 36011 * @param {array} arr an "accumulation" of items which is either an Array or 36012 * a single item. Useful when paired with the `accumulate` module. This is a 36013 * simple utility that allows us to reason about a collection of items, but 36014 * handling the case when there is exactly one item (and we do not need to 36015 * allocate an array). 36016 * @param {function} cb Callback invoked with each element or a collection. 36017 * @param {?} [scope] Scope used as `this` in a callback. 36018 */ 36019function forEachAccumulated(arr, cb, scope) { 36020 if (Array.isArray(arr)) { 36021 arr.forEach(cb, scope); 36022 } else if (arr) { 36023 cb.call(scope, arr); 36024 } 36025} 36026 36027/** 36028 * Internal queue of events that have accumulated their dispatches and are 36029 * waiting to have their dispatches executed. 36030 */ 36031 36032var eventQueue = null; 36033/** 36034 * Dispatches an event and releases it back into the pool, unless persistent. 36035 * 36036 * @param {?object} event Synthetic event to be dispatched. 36037 * @private 36038 */ 36039 36040var executeDispatchesAndRelease = function (event) { 36041 if (event) { 36042 executeDispatchesInOrder(event); 36043 36044 if (!event.isPersistent()) { 36045 event.constructor.release(event); 36046 } 36047 } 36048}; 36049 36050var executeDispatchesAndReleaseTopLevel = function (e) { 36051 return executeDispatchesAndRelease(e); 36052}; 36053 36054function runEventsInBatch(events) { 36055 if (events !== null) { 36056 eventQueue = accumulateInto(eventQueue, events); 36057 } // Set `eventQueue` to null before processing it so that we can tell if more 36058 // events get enqueued while processing. 36059 36060 36061 var processingEventQueue = eventQueue; 36062 eventQueue = null; 36063 36064 if (!processingEventQueue) { 36065 return; 36066 } 36067 36068 forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); 36069 36070 if (!!eventQueue) { 36071 { 36072 throw Error( "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented." ); 36073 } 36074 } // This would be a good time to rethrow if any of the event handlers threw. 36075 36076 36077 rethrowCaughtError(); 36078} 36079 36080/** 36081 * Gets the target node from a native browser event by accounting for 36082 * inconsistencies in browser DOM APIs. 36083 * 36084 * @param {object} nativeEvent Native browser event. 36085 * @return {DOMEventTarget} Target node. 36086 */ 36087 36088function getEventTarget(nativeEvent) { 36089 // Fallback to nativeEvent.srcElement for IE9 36090 // https://github.com/facebook/react/issues/12506 36091 var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963 36092 36093 if (target.correspondingUseElement) { 36094 target = target.correspondingUseElement; 36095 } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). 36096 // @see http://www.quirksmode.org/js/events_properties.html 36097 36098 36099 return target.nodeType === TEXT_NODE ? target.parentNode : target; 36100} 36101 36102/** 36103 * Checks if an event is supported in the current execution environment. 36104 * 36105 * NOTE: This will not work correctly for non-generic events such as `change`, 36106 * `reset`, `load`, `error`, and `select`. 36107 * 36108 * Borrows from Modernizr. 36109 * 36110 * @param {string} eventNameSuffix Event name, e.g. "click". 36111 * @return {boolean} True if the event is supported. 36112 * @internal 36113 * @license Modernizr 3.0.0pre (Custom Build) | MIT 36114 */ 36115 36116function isEventSupported(eventNameSuffix) { 36117 if (!canUseDOM) { 36118 return false; 36119 } 36120 36121 var eventName = 'on' + eventNameSuffix; 36122 var isSupported = eventName in document; 36123 36124 if (!isSupported) { 36125 var element = document.createElement('div'); 36126 element.setAttribute(eventName, 'return;'); 36127 isSupported = typeof element[eventName] === 'function'; 36128 } 36129 36130 return isSupported; 36131} 36132 36133/** 36134 * Summary of `DOMEventPluginSystem` event handling: 36135 * 36136 * - Top-level delegation is used to trap most native browser events. This 36137 * may only occur in the main thread and is the responsibility of 36138 * ReactDOMEventListener, which is injected and can therefore support 36139 * pluggable event sources. This is the only work that occurs in the main 36140 * thread. 36141 * 36142 * - We normalize and de-duplicate events to account for browser quirks. This 36143 * may be done in the worker thread. 36144 * 36145 * - Forward these native events (with the associated top-level type used to 36146 * trap it) to `EventPluginRegistry`, which in turn will ask plugins if they want 36147 * to extract any synthetic events. 36148 * 36149 * - The `EventPluginRegistry` will then process each event by annotating them with 36150 * "dispatches", a sequence of listeners and IDs that care about that event. 36151 * 36152 * - The `EventPluginRegistry` then dispatches the events. 36153 * 36154 * Overview of React and the event system: 36155 * 36156 * +------------+ . 36157 * | DOM | . 36158 * +------------+ . 36159 * | . 36160 * v . 36161 * +------------+ . 36162 * | ReactEvent | . 36163 * | Listener | . 36164 * +------------+ . +-----------+ 36165 * | . +--------+|SimpleEvent| 36166 * | . | |Plugin | 36167 * +-----|------+ . v +-----------+ 36168 * | | | . +--------------+ +------------+ 36169 * | +-----------.--->|PluginRegistry| | Event | 36170 * | | . | | +-----------+ | Propagators| 36171 * | ReactEvent | . | | |TapEvent | |------------| 36172 * | Emitter | . | |<---+|Plugin | |other plugin| 36173 * | | . | | +-----------+ | utilities | 36174 * | +-----------.--->| | +------------+ 36175 * | | | . +--------------+ 36176 * +-----|------+ . ^ +-----------+ 36177 * | . | |Enter/Leave| 36178 * + . +-------+|Plugin | 36179 * +-------------+ . +-----------+ 36180 * | application | . 36181 * |-------------| . 36182 * | | . 36183 * | | . 36184 * +-------------+ . 36185 * . 36186 * React Core . General Purpose Event Plugin System 36187 */ 36188 36189var CALLBACK_BOOKKEEPING_POOL_SIZE = 10; 36190var callbackBookkeepingPool = []; 36191 36192function releaseTopLevelCallbackBookKeeping(instance) { 36193 instance.topLevelType = null; 36194 instance.nativeEvent = null; 36195 instance.targetInst = null; 36196 instance.ancestors.length = 0; 36197 36198 if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) { 36199 callbackBookkeepingPool.push(instance); 36200 } 36201} // Used to store ancestor hierarchy in top level callback 36202 36203 36204function getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags) { 36205 if (callbackBookkeepingPool.length) { 36206 var instance = callbackBookkeepingPool.pop(); 36207 instance.topLevelType = topLevelType; 36208 instance.eventSystemFlags = eventSystemFlags; 36209 instance.nativeEvent = nativeEvent; 36210 instance.targetInst = targetInst; 36211 return instance; 36212 } 36213 36214 return { 36215 topLevelType: topLevelType, 36216 eventSystemFlags: eventSystemFlags, 36217 nativeEvent: nativeEvent, 36218 targetInst: targetInst, 36219 ancestors: [] 36220 }; 36221} 36222/** 36223 * Find the deepest React component completely containing the root of the 36224 * passed-in instance (for use when entire React trees are nested within each 36225 * other). If React trees are not nested, returns null. 36226 */ 36227 36228 36229function findRootContainerNode(inst) { 36230 if (inst.tag === HostRoot) { 36231 return inst.stateNode.containerInfo; 36232 } // TODO: It may be a good idea to cache this to prevent unnecessary DOM 36233 // traversal, but caching is difficult to do correctly without using a 36234 // mutation observer to listen for all DOM changes. 36235 36236 36237 while (inst.return) { 36238 inst = inst.return; 36239 } 36240 36241 if (inst.tag !== HostRoot) { 36242 // This can happen if we're in a detached tree. 36243 return null; 36244 } 36245 36246 return inst.stateNode.containerInfo; 36247} 36248/** 36249 * Allows registered plugins an opportunity to extract events from top-level 36250 * native browser events. 36251 * 36252 * @return {*} An accumulation of synthetic events. 36253 * @internal 36254 */ 36255 36256 36257function extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 36258 var events = null; 36259 36260 for (var i = 0; i < plugins.length; i++) { 36261 // Not every plugin in the ordering may be loaded at runtime. 36262 var possiblePlugin = plugins[i]; 36263 36264 if (possiblePlugin) { 36265 var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 36266 36267 if (extractedEvents) { 36268 events = accumulateInto(events, extractedEvents); 36269 } 36270 } 36271 } 36272 36273 return events; 36274} 36275 36276function runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 36277 var events = extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 36278 runEventsInBatch(events); 36279} 36280 36281function handleTopLevel(bookKeeping) { 36282 var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components. 36283 // It's important that we build the array of ancestors before calling any 36284 // event handlers, because event handlers can modify the DOM, leading to 36285 // inconsistencies with ReactMount's node cache. See #1105. 36286 36287 var ancestor = targetInst; 36288 36289 do { 36290 if (!ancestor) { 36291 var ancestors = bookKeeping.ancestors; 36292 ancestors.push(ancestor); 36293 break; 36294 } 36295 36296 var root = findRootContainerNode(ancestor); 36297 36298 if (!root) { 36299 break; 36300 } 36301 36302 var tag = ancestor.tag; 36303 36304 if (tag === HostComponent || tag === HostText) { 36305 bookKeeping.ancestors.push(ancestor); 36306 } 36307 36308 ancestor = getClosestInstanceFromNode(root); 36309 } while (ancestor); 36310 36311 for (var i = 0; i < bookKeeping.ancestors.length; i++) { 36312 targetInst = bookKeeping.ancestors[i]; 36313 var eventTarget = getEventTarget(bookKeeping.nativeEvent); 36314 var topLevelType = bookKeeping.topLevelType; 36315 var nativeEvent = bookKeeping.nativeEvent; 36316 var eventSystemFlags = bookKeeping.eventSystemFlags; // If this is the first ancestor, we mark it on the system flags 36317 36318 if (i === 0) { 36319 eventSystemFlags |= IS_FIRST_ANCESTOR; 36320 } 36321 36322 runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, eventTarget, eventSystemFlags); 36323 } 36324} 36325 36326function dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst) { 36327 var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags); 36328 36329 try { 36330 // Event queue being processed in the same cycle allows 36331 // `preventDefault`. 36332 batchedEventUpdates(handleTopLevel, bookKeeping); 36333 } finally { 36334 releaseTopLevelCallbackBookKeeping(bookKeeping); 36335 } 36336} 36337/** 36338 * We listen for bubbled touch events on the document object. 36339 * 36340 * Firefox v8.01 (and possibly others) exhibited strange behavior when 36341 * mounting `onmousemove` events at some node that was not the document 36342 * element. The symptoms were that if your mouse is not moving over something 36343 * contained within that mount point (for example on the background) the 36344 * top-level listeners for `onmousemove` won't be called. However, if you 36345 * register the `mousemove` on the document object, then it will of course 36346 * catch all `mousemove`s. This along with iOS quirks, justifies restricting 36347 * top-level listeners to the document object only, at least for these 36348 * movement types of events and possibly all events. 36349 * 36350 * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html 36351 * 36352 * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but 36353 * they bubble to document. 36354 * 36355 * @param {string} registrationName Name of listener (e.g. `onClick`). 36356 * @param {object} mountAt Container where to mount the listener 36357 */ 36358 36359function legacyListenToEvent(registrationName, mountAt) { 36360 var listenerMap = getListenerMapForElement(mountAt); 36361 var dependencies = registrationNameDependencies[registrationName]; 36362 36363 for (var i = 0; i < dependencies.length; i++) { 36364 var dependency = dependencies[i]; 36365 legacyListenToTopLevelEvent(dependency, mountAt, listenerMap); 36366 } 36367} 36368function legacyListenToTopLevelEvent(topLevelType, mountAt, listenerMap) { 36369 if (!listenerMap.has(topLevelType)) { 36370 switch (topLevelType) { 36371 case TOP_SCROLL: 36372 trapCapturedEvent(TOP_SCROLL, mountAt); 36373 break; 36374 36375 case TOP_FOCUS: 36376 case TOP_BLUR: 36377 trapCapturedEvent(TOP_FOCUS, mountAt); 36378 trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function, 36379 // but this ensures we mark both as attached rather than just one. 36380 36381 listenerMap.set(TOP_BLUR, null); 36382 listenerMap.set(TOP_FOCUS, null); 36383 break; 36384 36385 case TOP_CANCEL: 36386 case TOP_CLOSE: 36387 if (isEventSupported(getRawEventName(topLevelType))) { 36388 trapCapturedEvent(topLevelType, mountAt); 36389 } 36390 36391 break; 36392 36393 case TOP_INVALID: 36394 case TOP_SUBMIT: 36395 case TOP_RESET: 36396 // We listen to them on the target DOM elements. 36397 // Some of them bubble so we don't want them to fire twice. 36398 break; 36399 36400 default: 36401 // By default, listen on the top level to all non-media events. 36402 // Media events don't bubble so adding the listener wouldn't do anything. 36403 var isMediaEvent = mediaEventTypes.indexOf(topLevelType) !== -1; 36404 36405 if (!isMediaEvent) { 36406 trapBubbledEvent(topLevelType, mountAt); 36407 } 36408 36409 break; 36410 } 36411 36412 listenerMap.set(topLevelType, null); 36413 } 36414} 36415function isListeningToAllDependencies(registrationName, mountAt) { 36416 var listenerMap = getListenerMapForElement(mountAt); 36417 var dependencies = registrationNameDependencies[registrationName]; 36418 36419 for (var i = 0; i < dependencies.length; i++) { 36420 var dependency = dependencies[i]; 36421 36422 if (!listenerMap.has(dependency)) { 36423 return false; 36424 } 36425 } 36426 36427 return true; 36428} 36429 36430var attemptUserBlockingHydration; 36431function setAttemptUserBlockingHydration(fn) { 36432 attemptUserBlockingHydration = fn; 36433} 36434var attemptContinuousHydration; 36435function setAttemptContinuousHydration(fn) { 36436 attemptContinuousHydration = fn; 36437} 36438var attemptHydrationAtCurrentPriority; 36439function setAttemptHydrationAtCurrentPriority(fn) { 36440 attemptHydrationAtCurrentPriority = fn; 36441} // TODO: Upgrade this definition once we're on a newer version of Flow that 36442var hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed. 36443 36444var queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout. 36445// if the last target was dehydrated. 36446 36447var queuedFocus = null; 36448var queuedDrag = null; 36449var queuedMouse = null; // For pointer events there can be one latest event per pointerId. 36450 36451var queuedPointers = new Map(); 36452var queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too. 36453 36454var queuedExplicitHydrationTargets = []; 36455function hasQueuedDiscreteEvents() { 36456 return queuedDiscreteEvents.length > 0; 36457} 36458var discreteReplayableEvents = [TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_TOUCH_CANCEL, TOP_TOUCH_END, TOP_TOUCH_START, TOP_AUX_CLICK, TOP_DOUBLE_CLICK, TOP_POINTER_CANCEL, TOP_POINTER_DOWN, TOP_POINTER_UP, TOP_DRAG_END, TOP_DRAG_START, TOP_DROP, TOP_COMPOSITION_END, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_INPUT, TOP_TEXT_INPUT, TOP_CLOSE, TOP_CANCEL, TOP_COPY, TOP_CUT, TOP_PASTE, TOP_CLICK, TOP_CHANGE, TOP_CONTEXT_MENU, TOP_RESET, TOP_SUBMIT]; 36459var continuousReplayableEvents = [TOP_FOCUS, TOP_BLUR, TOP_DRAG_ENTER, TOP_DRAG_LEAVE, TOP_MOUSE_OVER, TOP_MOUSE_OUT, TOP_POINTER_OVER, TOP_POINTER_OUT, TOP_GOT_POINTER_CAPTURE, TOP_LOST_POINTER_CAPTURE]; 36460function isReplayableDiscreteEvent(eventType) { 36461 return discreteReplayableEvents.indexOf(eventType) > -1; 36462} 36463 36464function trapReplayableEventForDocument(topLevelType, document, listenerMap) { 36465 legacyListenToTopLevelEvent(topLevelType, document, listenerMap); 36466} 36467 36468function eagerlyTrapReplayableEvents(container, document) { 36469 var listenerMapForDoc = getListenerMapForElement(document); // Discrete 36470 36471 discreteReplayableEvents.forEach(function (topLevelType) { 36472 trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc); 36473 }); // Continuous 36474 36475 continuousReplayableEvents.forEach(function (topLevelType) { 36476 trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc); 36477 }); 36478} 36479 36480function createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 36481 return { 36482 blockedOn: blockedOn, 36483 topLevelType: topLevelType, 36484 eventSystemFlags: eventSystemFlags | IS_REPLAYED, 36485 nativeEvent: nativeEvent, 36486 container: container 36487 }; 36488} 36489 36490function queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 36491 var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 36492 queuedDiscreteEvents.push(queuedEvent); 36493} // Resets the replaying for this type of continuous event to no event. 36494 36495function clearIfContinuousEvent(topLevelType, nativeEvent) { 36496 switch (topLevelType) { 36497 case TOP_FOCUS: 36498 case TOP_BLUR: 36499 queuedFocus = null; 36500 break; 36501 36502 case TOP_DRAG_ENTER: 36503 case TOP_DRAG_LEAVE: 36504 queuedDrag = null; 36505 break; 36506 36507 case TOP_MOUSE_OVER: 36508 case TOP_MOUSE_OUT: 36509 queuedMouse = null; 36510 break; 36511 36512 case TOP_POINTER_OVER: 36513 case TOP_POINTER_OUT: 36514 { 36515 var pointerId = nativeEvent.pointerId; 36516 queuedPointers.delete(pointerId); 36517 break; 36518 } 36519 36520 case TOP_GOT_POINTER_CAPTURE: 36521 case TOP_LOST_POINTER_CAPTURE: 36522 { 36523 var _pointerId = nativeEvent.pointerId; 36524 queuedPointerCaptures.delete(_pointerId); 36525 break; 36526 } 36527 } 36528} 36529 36530function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 36531 if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) { 36532 var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 36533 36534 if (blockedOn !== null) { 36535 var _fiber2 = getInstanceFromNode$1(blockedOn); 36536 36537 if (_fiber2 !== null) { 36538 // Attempt to increase the priority of this target. 36539 attemptContinuousHydration(_fiber2); 36540 } 36541 } 36542 36543 return queuedEvent; 36544 } // If we have already queued this exact event, then it's because 36545 // the different event systems have different DOM event listeners. 36546 // We can accumulate the flags and store a single event to be 36547 // replayed. 36548 36549 36550 existingQueuedEvent.eventSystemFlags |= eventSystemFlags; 36551 return existingQueuedEvent; 36552} 36553 36554function queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) { 36555 // These set relatedTarget to null because the replayed event will be treated as if we 36556 // moved from outside the window (no target) onto the target once it hydrates. 36557 // Instead of mutating we could clone the event. 36558 switch (topLevelType) { 36559 case TOP_FOCUS: 36560 { 36561 var focusEvent = nativeEvent; 36562 queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, topLevelType, eventSystemFlags, container, focusEvent); 36563 return true; 36564 } 36565 36566 case TOP_DRAG_ENTER: 36567 { 36568 var dragEvent = nativeEvent; 36569 queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, topLevelType, eventSystemFlags, container, dragEvent); 36570 return true; 36571 } 36572 36573 case TOP_MOUSE_OVER: 36574 { 36575 var mouseEvent = nativeEvent; 36576 queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, topLevelType, eventSystemFlags, container, mouseEvent); 36577 return true; 36578 } 36579 36580 case TOP_POINTER_OVER: 36581 { 36582 var pointerEvent = nativeEvent; 36583 var pointerId = pointerEvent.pointerId; 36584 queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, topLevelType, eventSystemFlags, container, pointerEvent)); 36585 return true; 36586 } 36587 36588 case TOP_GOT_POINTER_CAPTURE: 36589 { 36590 var _pointerEvent = nativeEvent; 36591 var _pointerId2 = _pointerEvent.pointerId; 36592 queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, topLevelType, eventSystemFlags, container, _pointerEvent)); 36593 return true; 36594 } 36595 } 36596 36597 return false; 36598} // Check if this target is unblocked. Returns true if it's unblocked. 36599 36600function attemptExplicitHydrationTarget(queuedTarget) { 36601 // TODO: This function shares a lot of logic with attemptToDispatchEvent. 36602 // Try to unify them. It's a bit tricky since it would require two return 36603 // values. 36604 var targetInst = getClosestInstanceFromNode(queuedTarget.target); 36605 36606 if (targetInst !== null) { 36607 var nearestMounted = getNearestMountedFiber(targetInst); 36608 36609 if (nearestMounted !== null) { 36610 var tag = nearestMounted.tag; 36611 36612 if (tag === SuspenseComponent) { 36613 var instance = getSuspenseInstanceFromFiber(nearestMounted); 36614 36615 if (instance !== null) { 36616 // We're blocked on hydrating this boundary. 36617 // Increase its priority. 36618 queuedTarget.blockedOn = instance; 36619 Scheduler.unstable_runWithPriority(queuedTarget.priority, function () { 36620 attemptHydrationAtCurrentPriority(nearestMounted); 36621 }); 36622 return; 36623 } 36624 } else if (tag === HostRoot) { 36625 var root = nearestMounted.stateNode; 36626 36627 if (root.hydrate) { 36628 queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of 36629 // a root other than sync. 36630 36631 return; 36632 } 36633 } 36634 } 36635 } 36636 36637 queuedTarget.blockedOn = null; 36638} 36639 36640function attemptReplayContinuousQueuedEvent(queuedEvent) { 36641 if (queuedEvent.blockedOn !== null) { 36642 return false; 36643 } 36644 36645 var nextBlockedOn = attemptToDispatchEvent(queuedEvent.topLevelType, queuedEvent.eventSystemFlags, queuedEvent.container, queuedEvent.nativeEvent); 36646 36647 if (nextBlockedOn !== null) { 36648 // We're still blocked. Try again later. 36649 var _fiber3 = getInstanceFromNode$1(nextBlockedOn); 36650 36651 if (_fiber3 !== null) { 36652 attemptContinuousHydration(_fiber3); 36653 } 36654 36655 queuedEvent.blockedOn = nextBlockedOn; 36656 return false; 36657 } 36658 36659 return true; 36660} 36661 36662function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { 36663 if (attemptReplayContinuousQueuedEvent(queuedEvent)) { 36664 map.delete(key); 36665 } 36666} 36667 36668function replayUnblockedEvents() { 36669 hasScheduledReplayAttempt = false; // First replay discrete events. 36670 36671 while (queuedDiscreteEvents.length > 0) { 36672 var nextDiscreteEvent = queuedDiscreteEvents[0]; 36673 36674 if (nextDiscreteEvent.blockedOn !== null) { 36675 // We're still blocked. 36676 // Increase the priority of this boundary to unblock 36677 // the next discrete event. 36678 var _fiber4 = getInstanceFromNode$1(nextDiscreteEvent.blockedOn); 36679 36680 if (_fiber4 !== null) { 36681 attemptUserBlockingHydration(_fiber4); 36682 } 36683 36684 break; 36685 } 36686 36687 var nextBlockedOn = attemptToDispatchEvent(nextDiscreteEvent.topLevelType, nextDiscreteEvent.eventSystemFlags, nextDiscreteEvent.container, nextDiscreteEvent.nativeEvent); 36688 36689 if (nextBlockedOn !== null) { 36690 // We're still blocked. Try again later. 36691 nextDiscreteEvent.blockedOn = nextBlockedOn; 36692 } else { 36693 // We've successfully replayed the first event. Let's try the next one. 36694 queuedDiscreteEvents.shift(); 36695 } 36696 } // Next replay any continuous events. 36697 36698 36699 if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) { 36700 queuedFocus = null; 36701 } 36702 36703 if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) { 36704 queuedDrag = null; 36705 } 36706 36707 if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) { 36708 queuedMouse = null; 36709 } 36710 36711 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); 36712 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); 36713} 36714 36715function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { 36716 if (queuedEvent.blockedOn === unblocked) { 36717 queuedEvent.blockedOn = null; 36718 36719 if (!hasScheduledReplayAttempt) { 36720 hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are 36721 // now unblocked. This first might not actually be unblocked yet. 36722 // We could check it early to avoid scheduling an unnecessary callback. 36723 36724 Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents); 36725 } 36726 } 36727} 36728 36729function retryIfBlockedOn(unblocked) { 36730 // Mark anything that was blocked on this as no longer blocked 36731 // and eligible for a replay. 36732 if (queuedDiscreteEvents.length > 0) { 36733 scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's 36734 // worth it because we expect very few discrete events to queue up and once 36735 // we are actually fully unblocked it will be fast to replay them. 36736 36737 for (var i = 1; i < queuedDiscreteEvents.length; i++) { 36738 var queuedEvent = queuedDiscreteEvents[i]; 36739 36740 if (queuedEvent.blockedOn === unblocked) { 36741 queuedEvent.blockedOn = null; 36742 } 36743 } 36744 } 36745 36746 if (queuedFocus !== null) { 36747 scheduleCallbackIfUnblocked(queuedFocus, unblocked); 36748 } 36749 36750 if (queuedDrag !== null) { 36751 scheduleCallbackIfUnblocked(queuedDrag, unblocked); 36752 } 36753 36754 if (queuedMouse !== null) { 36755 scheduleCallbackIfUnblocked(queuedMouse, unblocked); 36756 } 36757 36758 var unblock = function (queuedEvent) { 36759 return scheduleCallbackIfUnblocked(queuedEvent, unblocked); 36760 }; 36761 36762 queuedPointers.forEach(unblock); 36763 queuedPointerCaptures.forEach(unblock); 36764 36765 for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) { 36766 var queuedTarget = queuedExplicitHydrationTargets[_i]; 36767 36768 if (queuedTarget.blockedOn === unblocked) { 36769 queuedTarget.blockedOn = null; 36770 } 36771 } 36772 36773 while (queuedExplicitHydrationTargets.length > 0) { 36774 var nextExplicitTarget = queuedExplicitHydrationTargets[0]; 36775 36776 if (nextExplicitTarget.blockedOn !== null) { 36777 // We're still blocked. 36778 break; 36779 } else { 36780 attemptExplicitHydrationTarget(nextExplicitTarget); 36781 36782 if (nextExplicitTarget.blockedOn === null) { 36783 // We're unblocked. 36784 queuedExplicitHydrationTargets.shift(); 36785 } 36786 } 36787 } 36788} 36789 36790function addEventBubbleListener(element, eventType, listener) { 36791 element.addEventListener(eventType, listener, false); 36792} 36793function addEventCaptureListener(element, eventType, listener) { 36794 element.addEventListener(eventType, listener, true); 36795} 36796 36797// do it in two places, which duplicates logic 36798// and increases the bundle size, we do it all 36799// here once. If we remove or refactor the 36800// SimpleEventPlugin, we should also remove or 36801// update the below line. 36802 36803var simpleEventPluginEventTypes = {}; 36804var topLevelEventsToDispatchConfig = new Map(); 36805var eventPriorities = new Map(); // We store most of the events in this module in pairs of two strings so we can re-use 36806// the code required to apply the same logic for event prioritization and that of the 36807// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code 36808// duplication (for which there would be quite a bit). For the events that are not needed 36809// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an 36810// array of top level events. 36811// Lastly, we ignore prettier so we can keep the formatting sane. 36812// prettier-ignore 36813 36814var discreteEventPairsForSimpleEventPlugin = [TOP_BLUR, 'blur', TOP_CANCEL, 'cancel', TOP_CLICK, 'click', TOP_CLOSE, 'close', TOP_CONTEXT_MENU, 'contextMenu', TOP_COPY, 'copy', TOP_CUT, 'cut', TOP_AUX_CLICK, 'auxClick', TOP_DOUBLE_CLICK, 'doubleClick', TOP_DRAG_END, 'dragEnd', TOP_DRAG_START, 'dragStart', TOP_DROP, 'drop', TOP_FOCUS, 'focus', TOP_INPUT, 'input', TOP_INVALID, 'invalid', TOP_KEY_DOWN, 'keyDown', TOP_KEY_PRESS, 'keyPress', TOP_KEY_UP, 'keyUp', TOP_MOUSE_DOWN, 'mouseDown', TOP_MOUSE_UP, 'mouseUp', TOP_PASTE, 'paste', TOP_PAUSE, 'pause', TOP_PLAY, 'play', TOP_POINTER_CANCEL, 'pointerCancel', TOP_POINTER_DOWN, 'pointerDown', TOP_POINTER_UP, 'pointerUp', TOP_RATE_CHANGE, 'rateChange', TOP_RESET, 'reset', TOP_SEEKED, 'seeked', TOP_SUBMIT, 'submit', TOP_TOUCH_CANCEL, 'touchCancel', TOP_TOUCH_END, 'touchEnd', TOP_TOUCH_START, 'touchStart', TOP_VOLUME_CHANGE, 'volumeChange']; 36815var otherDiscreteEvents = [TOP_CHANGE, TOP_SELECTION_CHANGE, TOP_TEXT_INPUT, TOP_COMPOSITION_START, TOP_COMPOSITION_END, TOP_COMPOSITION_UPDATE]; // prettier-ignore 36816 36817var userBlockingPairsForSimpleEventPlugin = [TOP_DRAG, 'drag', TOP_DRAG_ENTER, 'dragEnter', TOP_DRAG_EXIT, 'dragExit', TOP_DRAG_LEAVE, 'dragLeave', TOP_DRAG_OVER, 'dragOver', TOP_MOUSE_MOVE, 'mouseMove', TOP_MOUSE_OUT, 'mouseOut', TOP_MOUSE_OVER, 'mouseOver', TOP_POINTER_MOVE, 'pointerMove', TOP_POINTER_OUT, 'pointerOut', TOP_POINTER_OVER, 'pointerOver', TOP_SCROLL, 'scroll', TOP_TOGGLE, 'toggle', TOP_TOUCH_MOVE, 'touchMove', TOP_WHEEL, 'wheel']; // prettier-ignore 36818 36819var continuousPairsForSimpleEventPlugin = [TOP_ABORT, 'abort', TOP_ANIMATION_END, 'animationEnd', TOP_ANIMATION_ITERATION, 'animationIteration', TOP_ANIMATION_START, 'animationStart', TOP_CAN_PLAY, 'canPlay', TOP_CAN_PLAY_THROUGH, 'canPlayThrough', TOP_DURATION_CHANGE, 'durationChange', TOP_EMPTIED, 'emptied', TOP_ENCRYPTED, 'encrypted', TOP_ENDED, 'ended', TOP_ERROR, 'error', TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture', TOP_LOAD, 'load', TOP_LOADED_DATA, 'loadedData', TOP_LOADED_METADATA, 'loadedMetadata', TOP_LOAD_START, 'loadStart', TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture', TOP_PLAYING, 'playing', TOP_PROGRESS, 'progress', TOP_SEEKING, 'seeking', TOP_STALLED, 'stalled', TOP_SUSPEND, 'suspend', TOP_TIME_UPDATE, 'timeUpdate', TOP_TRANSITION_END, 'transitionEnd', TOP_WAITING, 'waiting']; 36820/** 36821 * Turns 36822 * ['abort', ...] 36823 * into 36824 * eventTypes = { 36825 * 'abort': { 36826 * phasedRegistrationNames: { 36827 * bubbled: 'onAbort', 36828 * captured: 'onAbortCapture', 36829 * }, 36830 * dependencies: [TOP_ABORT], 36831 * }, 36832 * ... 36833 * }; 36834 * topLevelEventsToDispatchConfig = new Map([ 36835 * [TOP_ABORT, { sameConfig }], 36836 * ]); 36837 */ 36838 36839function processSimpleEventPluginPairsByPriority(eventTypes, priority) { 36840 // As the event types are in pairs of two, we need to iterate 36841 // through in twos. The events are in pairs of two to save code 36842 // and improve init perf of processing this array, as it will 36843 // result in far fewer object allocations and property accesses 36844 // if we only use three arrays to process all the categories of 36845 // instead of tuples. 36846 for (var i = 0; i < eventTypes.length; i += 2) { 36847 var topEvent = eventTypes[i]; 36848 var event = eventTypes[i + 1]; 36849 var capitalizedEvent = event[0].toUpperCase() + event.slice(1); 36850 var onEvent = 'on' + capitalizedEvent; 36851 var config = { 36852 phasedRegistrationNames: { 36853 bubbled: onEvent, 36854 captured: onEvent + 'Capture' 36855 }, 36856 dependencies: [topEvent], 36857 eventPriority: priority 36858 }; 36859 eventPriorities.set(topEvent, priority); 36860 topLevelEventsToDispatchConfig.set(topEvent, config); 36861 simpleEventPluginEventTypes[event] = config; 36862 } 36863} 36864 36865function processTopEventPairsByPriority(eventTypes, priority) { 36866 for (var i = 0; i < eventTypes.length; i++) { 36867 eventPriorities.set(eventTypes[i], priority); 36868 } 36869} // SimpleEventPlugin 36870 36871 36872processSimpleEventPluginPairsByPriority(discreteEventPairsForSimpleEventPlugin, DiscreteEvent); 36873processSimpleEventPluginPairsByPriority(userBlockingPairsForSimpleEventPlugin, UserBlockingEvent); 36874processSimpleEventPluginPairsByPriority(continuousPairsForSimpleEventPlugin, ContinuousEvent); // Not used by SimpleEventPlugin 36875 36876processTopEventPairsByPriority(otherDiscreteEvents, DiscreteEvent); 36877function getEventPriorityForPluginSystem(topLevelType) { 36878 var priority = eventPriorities.get(topLevelType); // Default to a ContinuousEvent. Note: we might 36879 // want to warn if we can't detect the priority 36880 // for the event. 36881 36882 return priority === undefined ? ContinuousEvent : priority; 36883} 36884 36885// Intentionally not named imports because Rollup would use dynamic dispatch for 36886var UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, 36887 runWithPriority = Scheduler.unstable_runWithPriority; // TODO: can we stop exporting these? 36888 36889var _enabled = true; 36890function setEnabled(enabled) { 36891 _enabled = !!enabled; 36892} 36893function isEnabled() { 36894 return _enabled; 36895} 36896function trapBubbledEvent(topLevelType, element) { 36897 trapEventForPluginEventSystem(element, topLevelType, false); 36898} 36899function trapCapturedEvent(topLevelType, element) { 36900 trapEventForPluginEventSystem(element, topLevelType, true); 36901} 36902 36903function trapEventForPluginEventSystem(container, topLevelType, capture) { 36904 var listener; 36905 36906 switch (getEventPriorityForPluginSystem(topLevelType)) { 36907 case DiscreteEvent: 36908 listener = dispatchDiscreteEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 36909 break; 36910 36911 case UserBlockingEvent: 36912 listener = dispatchUserBlockingUpdate.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 36913 break; 36914 36915 case ContinuousEvent: 36916 default: 36917 listener = dispatchEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container); 36918 break; 36919 } 36920 36921 var rawEventName = getRawEventName(topLevelType); 36922 36923 if (capture) { 36924 addEventCaptureListener(container, rawEventName, listener); 36925 } else { 36926 addEventBubbleListener(container, rawEventName, listener); 36927 } 36928} 36929 36930function dispatchDiscreteEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 36931 flushDiscreteUpdatesIfNeeded(nativeEvent.timeStamp); 36932 discreteUpdates(dispatchEvent, topLevelType, eventSystemFlags, container, nativeEvent); 36933} 36934 36935function dispatchUserBlockingUpdate(topLevelType, eventSystemFlags, container, nativeEvent) { 36936 runWithPriority(UserBlockingPriority, dispatchEvent.bind(null, topLevelType, eventSystemFlags, container, nativeEvent)); 36937} 36938 36939function dispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 36940 if (!_enabled) { 36941 return; 36942 } 36943 36944 if (hasQueuedDiscreteEvents() && isReplayableDiscreteEvent(topLevelType)) { 36945 // If we already have a queue of discrete events, and this is another discrete 36946 // event, then we can't dispatch it regardless of its target, since they 36947 // need to dispatch in order. 36948 queueDiscreteEvent(null, // Flags that we're not actually blocked on anything as far as we know. 36949 topLevelType, eventSystemFlags, container, nativeEvent); 36950 return; 36951 } 36952 36953 var blockedOn = attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent); 36954 36955 if (blockedOn === null) { 36956 // We successfully dispatched this event. 36957 clearIfContinuousEvent(topLevelType, nativeEvent); 36958 return; 36959 } 36960 36961 if (isReplayableDiscreteEvent(topLevelType)) { 36962 // This this to be replayed later once the target is available. 36963 queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent); 36964 return; 36965 } 36966 36967 if (queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent)) { 36968 return; 36969 } // We need to clear only if we didn't queue because 36970 // queueing is accummulative. 36971 36972 36973 clearIfContinuousEvent(topLevelType, nativeEvent); // This is not replayable so we'll invoke it but without a target, 36974 // in case the event system needs to trace it. 36975 36976 { 36977 dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, null); 36978 } 36979} // Attempt dispatching an event. Returns a SuspenseInstance or Container if it's blocked. 36980 36981function attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) { 36982 // TODO: Warn if _enabled is false. 36983 var nativeEventTarget = getEventTarget(nativeEvent); 36984 var targetInst = getClosestInstanceFromNode(nativeEventTarget); 36985 36986 if (targetInst !== null) { 36987 var nearestMounted = getNearestMountedFiber(targetInst); 36988 36989 if (nearestMounted === null) { 36990 // This tree has been unmounted already. Dispatch without a target. 36991 targetInst = null; 36992 } else { 36993 var tag = nearestMounted.tag; 36994 36995 if (tag === SuspenseComponent) { 36996 var instance = getSuspenseInstanceFromFiber(nearestMounted); 36997 36998 if (instance !== null) { 36999 // Queue the event to be replayed later. Abort dispatching since we 37000 // don't want this event dispatched twice through the event system. 37001 // TODO: If this is the first discrete event in the queue. Schedule an increased 37002 // priority for this boundary. 37003 return instance; 37004 } // This shouldn't happen, something went wrong but to avoid blocking 37005 // the whole system, dispatch the event without a target. 37006 // TODO: Warn. 37007 37008 37009 targetInst = null; 37010 } else if (tag === HostRoot) { 37011 var root = nearestMounted.stateNode; 37012 37013 if (root.hydrate) { 37014 // If this happens during a replay something went wrong and it might block 37015 // the whole system. 37016 return getContainerFromFiber(nearestMounted); 37017 } 37018 37019 targetInst = null; 37020 } else if (nearestMounted !== targetInst) { 37021 // If we get an event (ex: img onload) before committing that 37022 // component's mount, ignore it for now (that is, treat it as if it was an 37023 // event on a non-React tree). We might also consider queueing events and 37024 // dispatching them after the mount. 37025 targetInst = null; 37026 } 37027 } 37028 } 37029 37030 { 37031 dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst); 37032 } // We're not blocked on anything. 37033 37034 37035 return null; 37036} 37037 37038// List derived from Gecko source code: 37039// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js 37040var shorthandToLonghand = { 37041 animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'], 37042 background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'], 37043 backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'], 37044 border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'], 37045 borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'], 37046 borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'], 37047 borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'], 37048 borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'], 37049 borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'], 37050 borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'], 37051 borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'], 37052 borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'], 37053 borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'], 37054 borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'], 37055 borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'], 37056 borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'], 37057 borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'], 37058 columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'], 37059 columns: ['columnCount', 'columnWidth'], 37060 flex: ['flexBasis', 'flexGrow', 'flexShrink'], 37061 flexFlow: ['flexDirection', 'flexWrap'], 37062 font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'], 37063 fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'], 37064 gap: ['columnGap', 'rowGap'], 37065 grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'], 37066 gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'], 37067 gridColumn: ['gridColumnEnd', 'gridColumnStart'], 37068 gridColumnGap: ['columnGap'], 37069 gridGap: ['columnGap', 'rowGap'], 37070 gridRow: ['gridRowEnd', 'gridRowStart'], 37071 gridRowGap: ['rowGap'], 37072 gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'], 37073 listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'], 37074 margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'], 37075 marker: ['markerEnd', 'markerMid', 'markerStart'], 37076 mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'], 37077 maskPosition: ['maskPositionX', 'maskPositionY'], 37078 outline: ['outlineColor', 'outlineStyle', 'outlineWidth'], 37079 overflow: ['overflowX', 'overflowY'], 37080 padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'], 37081 placeContent: ['alignContent', 'justifyContent'], 37082 placeItems: ['alignItems', 'justifyItems'], 37083 placeSelf: ['alignSelf', 'justifySelf'], 37084 textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'], 37085 textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'], 37086 transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'], 37087 wordWrap: ['overflowWrap'] 37088}; 37089 37090/** 37091 * CSS properties which accept numbers but are not in units of "px". 37092 */ 37093var isUnitlessNumber = { 37094 animationIterationCount: true, 37095 borderImageOutset: true, 37096 borderImageSlice: true, 37097 borderImageWidth: true, 37098 boxFlex: true, 37099 boxFlexGroup: true, 37100 boxOrdinalGroup: true, 37101 columnCount: true, 37102 columns: true, 37103 flex: true, 37104 flexGrow: true, 37105 flexPositive: true, 37106 flexShrink: true, 37107 flexNegative: true, 37108 flexOrder: true, 37109 gridArea: true, 37110 gridRow: true, 37111 gridRowEnd: true, 37112 gridRowSpan: true, 37113 gridRowStart: true, 37114 gridColumn: true, 37115 gridColumnEnd: true, 37116 gridColumnSpan: true, 37117 gridColumnStart: true, 37118 fontWeight: true, 37119 lineClamp: true, 37120 lineHeight: true, 37121 opacity: true, 37122 order: true, 37123 orphans: true, 37124 tabSize: true, 37125 widows: true, 37126 zIndex: true, 37127 zoom: true, 37128 // SVG-related properties 37129 fillOpacity: true, 37130 floodOpacity: true, 37131 stopOpacity: true, 37132 strokeDasharray: true, 37133 strokeDashoffset: true, 37134 strokeMiterlimit: true, 37135 strokeOpacity: true, 37136 strokeWidth: true 37137}; 37138/** 37139 * @param {string} prefix vendor-specific prefix, eg: Webkit 37140 * @param {string} key style name, eg: transitionDuration 37141 * @return {string} style name prefixed with `prefix`, properly camelCased, eg: 37142 * WebkitTransitionDuration 37143 */ 37144 37145function prefixKey(prefix, key) { 37146 return prefix + key.charAt(0).toUpperCase() + key.substring(1); 37147} 37148/** 37149 * Support style names that may come passed in prefixed by adding permutations 37150 * of vendor prefixes. 37151 */ 37152 37153 37154var prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an 37155// infinite loop, because it iterates over the newly added props too. 37156 37157Object.keys(isUnitlessNumber).forEach(function (prop) { 37158 prefixes.forEach(function (prefix) { 37159 isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop]; 37160 }); 37161}); 37162 37163/** 37164 * Convert a value into the proper css writable value. The style name `name` 37165 * should be logical (no hyphens), as specified 37166 * in `CSSProperty.isUnitlessNumber`. 37167 * 37168 * @param {string} name CSS property name such as `topMargin`. 37169 * @param {*} value CSS property value such as `10px`. 37170 * @return {string} Normalized style value with dimensions applied. 37171 */ 37172 37173function dangerousStyleValue(name, value, isCustomProperty) { 37174 // Note that we've removed escapeTextForBrowser() calls here since the 37175 // whole string will be escaped when the attribute is injected into 37176 // the markup. If you provide unsafe user data here they can inject 37177 // arbitrary CSS which may be problematic (I couldn't repro this): 37178 // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet 37179 // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/ 37180 // This is not an XSS hole but instead a potential CSS injection issue 37181 // which has lead to a greater discussion about how we're going to 37182 // trust URLs moving forward. See #2115901 37183 var isEmpty = value == null || typeof value === 'boolean' || value === ''; 37184 37185 if (isEmpty) { 37186 return ''; 37187 } 37188 37189 if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) { 37190 return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers 37191 } 37192 37193 return ('' + value).trim(); 37194} 37195 37196var uppercasePattern = /([A-Z])/g; 37197var msPattern = /^ms-/; 37198/** 37199 * Hyphenates a camelcased CSS property name, for example: 37200 * 37201 * > hyphenateStyleName('backgroundColor') 37202 * < "background-color" 37203 * > hyphenateStyleName('MozTransition') 37204 * < "-moz-transition" 37205 * > hyphenateStyleName('msTransition') 37206 * < "-ms-transition" 37207 * 37208 * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix 37209 * is converted to `-ms-`. 37210 */ 37211 37212function hyphenateStyleName(name) { 37213 return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-'); 37214} 37215 37216var warnValidStyle = function () {}; 37217 37218{ 37219 // 'msTransform' is correct, but the other prefixes should be capitalized 37220 var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; 37221 var msPattern$1 = /^-ms-/; 37222 var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon 37223 37224 var badStyleValueWithSemicolonPattern = /;\s*$/; 37225 var warnedStyleNames = {}; 37226 var warnedStyleValues = {}; 37227 var warnedForNaNValue = false; 37228 var warnedForInfinityValue = false; 37229 37230 var camelize = function (string) { 37231 return string.replace(hyphenPattern, function (_, character) { 37232 return character.toUpperCase(); 37233 }); 37234 }; 37235 37236 var warnHyphenatedStyleName = function (name) { 37237 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { 37238 return; 37239 } 37240 37241 warnedStyleNames[name] = true; 37242 37243 error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests 37244 // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix 37245 // is converted to lowercase `ms`. 37246 camelize(name.replace(msPattern$1, 'ms-'))); 37247 }; 37248 37249 var warnBadVendoredStyleName = function (name) { 37250 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { 37251 return; 37252 } 37253 37254 warnedStyleNames[name] = true; 37255 37256 error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)); 37257 }; 37258 37259 var warnStyleValueWithSemicolon = function (name, value) { 37260 if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) { 37261 return; 37262 } 37263 37264 warnedStyleValues[value] = true; 37265 37266 error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')); 37267 }; 37268 37269 var warnStyleValueIsNaN = function (name, value) { 37270 if (warnedForNaNValue) { 37271 return; 37272 } 37273 37274 warnedForNaNValue = true; 37275 37276 error('`NaN` is an invalid value for the `%s` css style property.', name); 37277 }; 37278 37279 var warnStyleValueIsInfinity = function (name, value) { 37280 if (warnedForInfinityValue) { 37281 return; 37282 } 37283 37284 warnedForInfinityValue = true; 37285 37286 error('`Infinity` is an invalid value for the `%s` css style property.', name); 37287 }; 37288 37289 warnValidStyle = function (name, value) { 37290 if (name.indexOf('-') > -1) { 37291 warnHyphenatedStyleName(name); 37292 } else if (badVendoredStyleNamePattern.test(name)) { 37293 warnBadVendoredStyleName(name); 37294 } else if (badStyleValueWithSemicolonPattern.test(value)) { 37295 warnStyleValueWithSemicolon(name, value); 37296 } 37297 37298 if (typeof value === 'number') { 37299 if (isNaN(value)) { 37300 warnStyleValueIsNaN(name, value); 37301 } else if (!isFinite(value)) { 37302 warnStyleValueIsInfinity(name, value); 37303 } 37304 } 37305 }; 37306} 37307 37308var warnValidStyle$1 = warnValidStyle; 37309 37310/** 37311 * Operations for dealing with CSS properties. 37312 */ 37313 37314/** 37315 * This creates a string that is expected to be equivalent to the style 37316 * attribute generated by server-side rendering. It by-passes warnings and 37317 * security checks so it's not safe to use this value for anything other than 37318 * comparison. It is only used in DEV for SSR validation. 37319 */ 37320 37321function createDangerousStringForStyles(styles) { 37322 { 37323 var serialized = ''; 37324 var delimiter = ''; 37325 37326 for (var styleName in styles) { 37327 if (!styles.hasOwnProperty(styleName)) { 37328 continue; 37329 } 37330 37331 var styleValue = styles[styleName]; 37332 37333 if (styleValue != null) { 37334 var isCustomProperty = styleName.indexOf('--') === 0; 37335 serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':'; 37336 serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty); 37337 delimiter = ';'; 37338 } 37339 } 37340 37341 return serialized || null; 37342 } 37343} 37344/** 37345 * Sets the value for multiple styles on a node. If a value is specified as 37346 * '' (empty string), the corresponding style property will be unset. 37347 * 37348 * @param {DOMElement} node 37349 * @param {object} styles 37350 */ 37351 37352function setValueForStyles(node, styles) { 37353 var style = node.style; 37354 37355 for (var styleName in styles) { 37356 if (!styles.hasOwnProperty(styleName)) { 37357 continue; 37358 } 37359 37360 var isCustomProperty = styleName.indexOf('--') === 0; 37361 37362 { 37363 if (!isCustomProperty) { 37364 warnValidStyle$1(styleName, styles[styleName]); 37365 } 37366 } 37367 37368 var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty); 37369 37370 if (styleName === 'float') { 37371 styleName = 'cssFloat'; 37372 } 37373 37374 if (isCustomProperty) { 37375 style.setProperty(styleName, styleValue); 37376 } else { 37377 style[styleName] = styleValue; 37378 } 37379 } 37380} 37381 37382function isValueEmpty(value) { 37383 return value == null || typeof value === 'boolean' || value === ''; 37384} 37385/** 37386 * Given {color: 'red', overflow: 'hidden'} returns { 37387 * color: 'color', 37388 * overflowX: 'overflow', 37389 * overflowY: 'overflow', 37390 * }. This can be read as "the overflowY property was set by the overflow 37391 * shorthand". That is, the values are the property that each was derived from. 37392 */ 37393 37394 37395function expandShorthandMap(styles) { 37396 var expanded = {}; 37397 37398 for (var key in styles) { 37399 var longhands = shorthandToLonghand[key] || [key]; 37400 37401 for (var i = 0; i < longhands.length; i++) { 37402 expanded[longhands[i]] = key; 37403 } 37404 } 37405 37406 return expanded; 37407} 37408/** 37409 * When mixing shorthand and longhand property names, we warn during updates if 37410 * we expect an incorrect result to occur. In particular, we warn for: 37411 * 37412 * Updating a shorthand property (longhand gets overwritten): 37413 * {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'} 37414 * becomes .style.font = 'baz' 37415 * Removing a shorthand property (longhand gets lost too): 37416 * {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'} 37417 * becomes .style.font = '' 37418 * Removing a longhand property (should revert to shorthand; doesn't): 37419 * {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'} 37420 * becomes .style.fontVariant = '' 37421 */ 37422 37423 37424function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) { 37425 { 37426 37427 if (!nextStyles) { 37428 return; 37429 } 37430 37431 var expandedUpdates = expandShorthandMap(styleUpdates); 37432 var expandedStyles = expandShorthandMap(nextStyles); 37433 var warnedAbout = {}; 37434 37435 for (var key in expandedUpdates) { 37436 var originalKey = expandedUpdates[key]; 37437 var correctOriginalKey = expandedStyles[key]; 37438 37439 if (correctOriginalKey && originalKey !== correctOriginalKey) { 37440 var warningKey = originalKey + ',' + correctOriginalKey; 37441 37442 if (warnedAbout[warningKey]) { 37443 continue; 37444 } 37445 37446 warnedAbout[warningKey] = true; 37447 37448 error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + "avoid this, don't mix shorthand and non-shorthand properties " + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey); 37449 } 37450 } 37451 } 37452} 37453 37454// For HTML, certain tags should omit their close tag. We keep a whitelist for 37455// those special-case tags. 37456var omittedCloseTags = { 37457 area: true, 37458 base: true, 37459 br: true, 37460 col: true, 37461 embed: true, 37462 hr: true, 37463 img: true, 37464 input: true, 37465 keygen: true, 37466 link: true, 37467 meta: true, 37468 param: true, 37469 source: true, 37470 track: true, 37471 wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems. 37472 37473}; 37474 37475// `omittedCloseTags` except that `menuitem` should still have its closing tag. 37476 37477var voidElementTags = _assign({ 37478 menuitem: true 37479}, omittedCloseTags); 37480 37481var HTML = '__html'; 37482var ReactDebugCurrentFrame$3 = null; 37483 37484{ 37485 ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame; 37486} 37487 37488function assertValidProps(tag, props) { 37489 if (!props) { 37490 return; 37491 } // Note the use of `==` which checks for null or undefined. 37492 37493 37494 if (voidElementTags[tag]) { 37495 if (!(props.children == null && props.dangerouslySetInnerHTML == null)) { 37496 { 37497 throw Error( tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) ); 37498 } 37499 } 37500 } 37501 37502 if (props.dangerouslySetInnerHTML != null) { 37503 if (!(props.children == null)) { 37504 { 37505 throw Error( "Can only set one of `children` or `props.dangerouslySetInnerHTML`." ); 37506 } 37507 } 37508 37509 if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) { 37510 { 37511 throw Error( "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information." ); 37512 } 37513 } 37514 } 37515 37516 { 37517 if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) { 37518 error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.'); 37519 } 37520 } 37521 37522 if (!(props.style == null || typeof props.style === 'object')) { 37523 { 37524 throw Error( "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) ); 37525 } 37526 } 37527} 37528 37529function isCustomComponent(tagName, props) { 37530 if (tagName.indexOf('-') === -1) { 37531 return typeof props.is === 'string'; 37532 } 37533 37534 switch (tagName) { 37535 // These are reserved SVG and MathML elements. 37536 // We don't mind this whitelist too much because we expect it to never grow. 37537 // The alternative is to track the namespace in a few places which is convoluted. 37538 // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts 37539 case 'annotation-xml': 37540 case 'color-profile': 37541 case 'font-face': 37542 case 'font-face-src': 37543 case 'font-face-uri': 37544 case 'font-face-format': 37545 case 'font-face-name': 37546 case 'missing-glyph': 37547 return false; 37548 37549 default: 37550 return true; 37551 } 37552} 37553 37554// When adding attributes to the HTML or SVG whitelist, be sure to 37555// also add them to this module to ensure casing and incorrect name 37556// warnings. 37557var possibleStandardNames = { 37558 // HTML 37559 accept: 'accept', 37560 acceptcharset: 'acceptCharset', 37561 'accept-charset': 'acceptCharset', 37562 accesskey: 'accessKey', 37563 action: 'action', 37564 allowfullscreen: 'allowFullScreen', 37565 alt: 'alt', 37566 as: 'as', 37567 async: 'async', 37568 autocapitalize: 'autoCapitalize', 37569 autocomplete: 'autoComplete', 37570 autocorrect: 'autoCorrect', 37571 autofocus: 'autoFocus', 37572 autoplay: 'autoPlay', 37573 autosave: 'autoSave', 37574 capture: 'capture', 37575 cellpadding: 'cellPadding', 37576 cellspacing: 'cellSpacing', 37577 challenge: 'challenge', 37578 charset: 'charSet', 37579 checked: 'checked', 37580 children: 'children', 37581 cite: 'cite', 37582 class: 'className', 37583 classid: 'classID', 37584 classname: 'className', 37585 cols: 'cols', 37586 colspan: 'colSpan', 37587 content: 'content', 37588 contenteditable: 'contentEditable', 37589 contextmenu: 'contextMenu', 37590 controls: 'controls', 37591 controlslist: 'controlsList', 37592 coords: 'coords', 37593 crossorigin: 'crossOrigin', 37594 dangerouslysetinnerhtml: 'dangerouslySetInnerHTML', 37595 data: 'data', 37596 datetime: 'dateTime', 37597 default: 'default', 37598 defaultchecked: 'defaultChecked', 37599 defaultvalue: 'defaultValue', 37600 defer: 'defer', 37601 dir: 'dir', 37602 disabled: 'disabled', 37603 disablepictureinpicture: 'disablePictureInPicture', 37604 download: 'download', 37605 draggable: 'draggable', 37606 enctype: 'encType', 37607 for: 'htmlFor', 37608 form: 'form', 37609 formmethod: 'formMethod', 37610 formaction: 'formAction', 37611 formenctype: 'formEncType', 37612 formnovalidate: 'formNoValidate', 37613 formtarget: 'formTarget', 37614 frameborder: 'frameBorder', 37615 headers: 'headers', 37616 height: 'height', 37617 hidden: 'hidden', 37618 high: 'high', 37619 href: 'href', 37620 hreflang: 'hrefLang', 37621 htmlfor: 'htmlFor', 37622 httpequiv: 'httpEquiv', 37623 'http-equiv': 'httpEquiv', 37624 icon: 'icon', 37625 id: 'id', 37626 innerhtml: 'innerHTML', 37627 inputmode: 'inputMode', 37628 integrity: 'integrity', 37629 is: 'is', 37630 itemid: 'itemID', 37631 itemprop: 'itemProp', 37632 itemref: 'itemRef', 37633 itemscope: 'itemScope', 37634 itemtype: 'itemType', 37635 keyparams: 'keyParams', 37636 keytype: 'keyType', 37637 kind: 'kind', 37638 label: 'label', 37639 lang: 'lang', 37640 list: 'list', 37641 loop: 'loop', 37642 low: 'low', 37643 manifest: 'manifest', 37644 marginwidth: 'marginWidth', 37645 marginheight: 'marginHeight', 37646 max: 'max', 37647 maxlength: 'maxLength', 37648 media: 'media', 37649 mediagroup: 'mediaGroup', 37650 method: 'method', 37651 min: 'min', 37652 minlength: 'minLength', 37653 multiple: 'multiple', 37654 muted: 'muted', 37655 name: 'name', 37656 nomodule: 'noModule', 37657 nonce: 'nonce', 37658 novalidate: 'noValidate', 37659 open: 'open', 37660 optimum: 'optimum', 37661 pattern: 'pattern', 37662 placeholder: 'placeholder', 37663 playsinline: 'playsInline', 37664 poster: 'poster', 37665 preload: 'preload', 37666 profile: 'profile', 37667 radiogroup: 'radioGroup', 37668 readonly: 'readOnly', 37669 referrerpolicy: 'referrerPolicy', 37670 rel: 'rel', 37671 required: 'required', 37672 reversed: 'reversed', 37673 role: 'role', 37674 rows: 'rows', 37675 rowspan: 'rowSpan', 37676 sandbox: 'sandbox', 37677 scope: 'scope', 37678 scoped: 'scoped', 37679 scrolling: 'scrolling', 37680 seamless: 'seamless', 37681 selected: 'selected', 37682 shape: 'shape', 37683 size: 'size', 37684 sizes: 'sizes', 37685 span: 'span', 37686 spellcheck: 'spellCheck', 37687 src: 'src', 37688 srcdoc: 'srcDoc', 37689 srclang: 'srcLang', 37690 srcset: 'srcSet', 37691 start: 'start', 37692 step: 'step', 37693 style: 'style', 37694 summary: 'summary', 37695 tabindex: 'tabIndex', 37696 target: 'target', 37697 title: 'title', 37698 type: 'type', 37699 usemap: 'useMap', 37700 value: 'value', 37701 width: 'width', 37702 wmode: 'wmode', 37703 wrap: 'wrap', 37704 // SVG 37705 about: 'about', 37706 accentheight: 'accentHeight', 37707 'accent-height': 'accentHeight', 37708 accumulate: 'accumulate', 37709 additive: 'additive', 37710 alignmentbaseline: 'alignmentBaseline', 37711 'alignment-baseline': 'alignmentBaseline', 37712 allowreorder: 'allowReorder', 37713 alphabetic: 'alphabetic', 37714 amplitude: 'amplitude', 37715 arabicform: 'arabicForm', 37716 'arabic-form': 'arabicForm', 37717 ascent: 'ascent', 37718 attributename: 'attributeName', 37719 attributetype: 'attributeType', 37720 autoreverse: 'autoReverse', 37721 azimuth: 'azimuth', 37722 basefrequency: 'baseFrequency', 37723 baselineshift: 'baselineShift', 37724 'baseline-shift': 'baselineShift', 37725 baseprofile: 'baseProfile', 37726 bbox: 'bbox', 37727 begin: 'begin', 37728 bias: 'bias', 37729 by: 'by', 37730 calcmode: 'calcMode', 37731 capheight: 'capHeight', 37732 'cap-height': 'capHeight', 37733 clip: 'clip', 37734 clippath: 'clipPath', 37735 'clip-path': 'clipPath', 37736 clippathunits: 'clipPathUnits', 37737 cliprule: 'clipRule', 37738 'clip-rule': 'clipRule', 37739 color: 'color', 37740 colorinterpolation: 'colorInterpolation', 37741 'color-interpolation': 'colorInterpolation', 37742 colorinterpolationfilters: 'colorInterpolationFilters', 37743 'color-interpolation-filters': 'colorInterpolationFilters', 37744 colorprofile: 'colorProfile', 37745 'color-profile': 'colorProfile', 37746 colorrendering: 'colorRendering', 37747 'color-rendering': 'colorRendering', 37748 contentscripttype: 'contentScriptType', 37749 contentstyletype: 'contentStyleType', 37750 cursor: 'cursor', 37751 cx: 'cx', 37752 cy: 'cy', 37753 d: 'd', 37754 datatype: 'datatype', 37755 decelerate: 'decelerate', 37756 descent: 'descent', 37757 diffuseconstant: 'diffuseConstant', 37758 direction: 'direction', 37759 display: 'display', 37760 divisor: 'divisor', 37761 dominantbaseline: 'dominantBaseline', 37762 'dominant-baseline': 'dominantBaseline', 37763 dur: 'dur', 37764 dx: 'dx', 37765 dy: 'dy', 37766 edgemode: 'edgeMode', 37767 elevation: 'elevation', 37768 enablebackground: 'enableBackground', 37769 'enable-background': 'enableBackground', 37770 end: 'end', 37771 exponent: 'exponent', 37772 externalresourcesrequired: 'externalResourcesRequired', 37773 fill: 'fill', 37774 fillopacity: 'fillOpacity', 37775 'fill-opacity': 'fillOpacity', 37776 fillrule: 'fillRule', 37777 'fill-rule': 'fillRule', 37778 filter: 'filter', 37779 filterres: 'filterRes', 37780 filterunits: 'filterUnits', 37781 floodopacity: 'floodOpacity', 37782 'flood-opacity': 'floodOpacity', 37783 floodcolor: 'floodColor', 37784 'flood-color': 'floodColor', 37785 focusable: 'focusable', 37786 fontfamily: 'fontFamily', 37787 'font-family': 'fontFamily', 37788 fontsize: 'fontSize', 37789 'font-size': 'fontSize', 37790 fontsizeadjust: 'fontSizeAdjust', 37791 'font-size-adjust': 'fontSizeAdjust', 37792 fontstretch: 'fontStretch', 37793 'font-stretch': 'fontStretch', 37794 fontstyle: 'fontStyle', 37795 'font-style': 'fontStyle', 37796 fontvariant: 'fontVariant', 37797 'font-variant': 'fontVariant', 37798 fontweight: 'fontWeight', 37799 'font-weight': 'fontWeight', 37800 format: 'format', 37801 from: 'from', 37802 fx: 'fx', 37803 fy: 'fy', 37804 g1: 'g1', 37805 g2: 'g2', 37806 glyphname: 'glyphName', 37807 'glyph-name': 'glyphName', 37808 glyphorientationhorizontal: 'glyphOrientationHorizontal', 37809 'glyph-orientation-horizontal': 'glyphOrientationHorizontal', 37810 glyphorientationvertical: 'glyphOrientationVertical', 37811 'glyph-orientation-vertical': 'glyphOrientationVertical', 37812 glyphref: 'glyphRef', 37813 gradienttransform: 'gradientTransform', 37814 gradientunits: 'gradientUnits', 37815 hanging: 'hanging', 37816 horizadvx: 'horizAdvX', 37817 'horiz-adv-x': 'horizAdvX', 37818 horizoriginx: 'horizOriginX', 37819 'horiz-origin-x': 'horizOriginX', 37820 ideographic: 'ideographic', 37821 imagerendering: 'imageRendering', 37822 'image-rendering': 'imageRendering', 37823 in2: 'in2', 37824 in: 'in', 37825 inlist: 'inlist', 37826 intercept: 'intercept', 37827 k1: 'k1', 37828 k2: 'k2', 37829 k3: 'k3', 37830 k4: 'k4', 37831 k: 'k', 37832 kernelmatrix: 'kernelMatrix', 37833 kernelunitlength: 'kernelUnitLength', 37834 kerning: 'kerning', 37835 keypoints: 'keyPoints', 37836 keysplines: 'keySplines', 37837 keytimes: 'keyTimes', 37838 lengthadjust: 'lengthAdjust', 37839 letterspacing: 'letterSpacing', 37840 'letter-spacing': 'letterSpacing', 37841 lightingcolor: 'lightingColor', 37842 'lighting-color': 'lightingColor', 37843 limitingconeangle: 'limitingConeAngle', 37844 local: 'local', 37845 markerend: 'markerEnd', 37846 'marker-end': 'markerEnd', 37847 markerheight: 'markerHeight', 37848 markermid: 'markerMid', 37849 'marker-mid': 'markerMid', 37850 markerstart: 'markerStart', 37851 'marker-start': 'markerStart', 37852 markerunits: 'markerUnits', 37853 markerwidth: 'markerWidth', 37854 mask: 'mask', 37855 maskcontentunits: 'maskContentUnits', 37856 maskunits: 'maskUnits', 37857 mathematical: 'mathematical', 37858 mode: 'mode', 37859 numoctaves: 'numOctaves', 37860 offset: 'offset', 37861 opacity: 'opacity', 37862 operator: 'operator', 37863 order: 'order', 37864 orient: 'orient', 37865 orientation: 'orientation', 37866 origin: 'origin', 37867 overflow: 'overflow', 37868 overlineposition: 'overlinePosition', 37869 'overline-position': 'overlinePosition', 37870 overlinethickness: 'overlineThickness', 37871 'overline-thickness': 'overlineThickness', 37872 paintorder: 'paintOrder', 37873 'paint-order': 'paintOrder', 37874 panose1: 'panose1', 37875 'panose-1': 'panose1', 37876 pathlength: 'pathLength', 37877 patterncontentunits: 'patternContentUnits', 37878 patterntransform: 'patternTransform', 37879 patternunits: 'patternUnits', 37880 pointerevents: 'pointerEvents', 37881 'pointer-events': 'pointerEvents', 37882 points: 'points', 37883 pointsatx: 'pointsAtX', 37884 pointsaty: 'pointsAtY', 37885 pointsatz: 'pointsAtZ', 37886 prefix: 'prefix', 37887 preservealpha: 'preserveAlpha', 37888 preserveaspectratio: 'preserveAspectRatio', 37889 primitiveunits: 'primitiveUnits', 37890 property: 'property', 37891 r: 'r', 37892 radius: 'radius', 37893 refx: 'refX', 37894 refy: 'refY', 37895 renderingintent: 'renderingIntent', 37896 'rendering-intent': 'renderingIntent', 37897 repeatcount: 'repeatCount', 37898 repeatdur: 'repeatDur', 37899 requiredextensions: 'requiredExtensions', 37900 requiredfeatures: 'requiredFeatures', 37901 resource: 'resource', 37902 restart: 'restart', 37903 result: 'result', 37904 results: 'results', 37905 rotate: 'rotate', 37906 rx: 'rx', 37907 ry: 'ry', 37908 scale: 'scale', 37909 security: 'security', 37910 seed: 'seed', 37911 shaperendering: 'shapeRendering', 37912 'shape-rendering': 'shapeRendering', 37913 slope: 'slope', 37914 spacing: 'spacing', 37915 specularconstant: 'specularConstant', 37916 specularexponent: 'specularExponent', 37917 speed: 'speed', 37918 spreadmethod: 'spreadMethod', 37919 startoffset: 'startOffset', 37920 stddeviation: 'stdDeviation', 37921 stemh: 'stemh', 37922 stemv: 'stemv', 37923 stitchtiles: 'stitchTiles', 37924 stopcolor: 'stopColor', 37925 'stop-color': 'stopColor', 37926 stopopacity: 'stopOpacity', 37927 'stop-opacity': 'stopOpacity', 37928 strikethroughposition: 'strikethroughPosition', 37929 'strikethrough-position': 'strikethroughPosition', 37930 strikethroughthickness: 'strikethroughThickness', 37931 'strikethrough-thickness': 'strikethroughThickness', 37932 string: 'string', 37933 stroke: 'stroke', 37934 strokedasharray: 'strokeDasharray', 37935 'stroke-dasharray': 'strokeDasharray', 37936 strokedashoffset: 'strokeDashoffset', 37937 'stroke-dashoffset': 'strokeDashoffset', 37938 strokelinecap: 'strokeLinecap', 37939 'stroke-linecap': 'strokeLinecap', 37940 strokelinejoin: 'strokeLinejoin', 37941 'stroke-linejoin': 'strokeLinejoin', 37942 strokemiterlimit: 'strokeMiterlimit', 37943 'stroke-miterlimit': 'strokeMiterlimit', 37944 strokewidth: 'strokeWidth', 37945 'stroke-width': 'strokeWidth', 37946 strokeopacity: 'strokeOpacity', 37947 'stroke-opacity': 'strokeOpacity', 37948 suppresscontenteditablewarning: 'suppressContentEditableWarning', 37949 suppresshydrationwarning: 'suppressHydrationWarning', 37950 surfacescale: 'surfaceScale', 37951 systemlanguage: 'systemLanguage', 37952 tablevalues: 'tableValues', 37953 targetx: 'targetX', 37954 targety: 'targetY', 37955 textanchor: 'textAnchor', 37956 'text-anchor': 'textAnchor', 37957 textdecoration: 'textDecoration', 37958 'text-decoration': 'textDecoration', 37959 textlength: 'textLength', 37960 textrendering: 'textRendering', 37961 'text-rendering': 'textRendering', 37962 to: 'to', 37963 transform: 'transform', 37964 typeof: 'typeof', 37965 u1: 'u1', 37966 u2: 'u2', 37967 underlineposition: 'underlinePosition', 37968 'underline-position': 'underlinePosition', 37969 underlinethickness: 'underlineThickness', 37970 'underline-thickness': 'underlineThickness', 37971 unicode: 'unicode', 37972 unicodebidi: 'unicodeBidi', 37973 'unicode-bidi': 'unicodeBidi', 37974 unicoderange: 'unicodeRange', 37975 'unicode-range': 'unicodeRange', 37976 unitsperem: 'unitsPerEm', 37977 'units-per-em': 'unitsPerEm', 37978 unselectable: 'unselectable', 37979 valphabetic: 'vAlphabetic', 37980 'v-alphabetic': 'vAlphabetic', 37981 values: 'values', 37982 vectoreffect: 'vectorEffect', 37983 'vector-effect': 'vectorEffect', 37984 version: 'version', 37985 vertadvy: 'vertAdvY', 37986 'vert-adv-y': 'vertAdvY', 37987 vertoriginx: 'vertOriginX', 37988 'vert-origin-x': 'vertOriginX', 37989 vertoriginy: 'vertOriginY', 37990 'vert-origin-y': 'vertOriginY', 37991 vhanging: 'vHanging', 37992 'v-hanging': 'vHanging', 37993 videographic: 'vIdeographic', 37994 'v-ideographic': 'vIdeographic', 37995 viewbox: 'viewBox', 37996 viewtarget: 'viewTarget', 37997 visibility: 'visibility', 37998 vmathematical: 'vMathematical', 37999 'v-mathematical': 'vMathematical', 38000 vocab: 'vocab', 38001 widths: 'widths', 38002 wordspacing: 'wordSpacing', 38003 'word-spacing': 'wordSpacing', 38004 writingmode: 'writingMode', 38005 'writing-mode': 'writingMode', 38006 x1: 'x1', 38007 x2: 'x2', 38008 x: 'x', 38009 xchannelselector: 'xChannelSelector', 38010 xheight: 'xHeight', 38011 'x-height': 'xHeight', 38012 xlinkactuate: 'xlinkActuate', 38013 'xlink:actuate': 'xlinkActuate', 38014 xlinkarcrole: 'xlinkArcrole', 38015 'xlink:arcrole': 'xlinkArcrole', 38016 xlinkhref: 'xlinkHref', 38017 'xlink:href': 'xlinkHref', 38018 xlinkrole: 'xlinkRole', 38019 'xlink:role': 'xlinkRole', 38020 xlinkshow: 'xlinkShow', 38021 'xlink:show': 'xlinkShow', 38022 xlinktitle: 'xlinkTitle', 38023 'xlink:title': 'xlinkTitle', 38024 xlinktype: 'xlinkType', 38025 'xlink:type': 'xlinkType', 38026 xmlbase: 'xmlBase', 38027 'xml:base': 'xmlBase', 38028 xmllang: 'xmlLang', 38029 'xml:lang': 'xmlLang', 38030 xmlns: 'xmlns', 38031 'xml:space': 'xmlSpace', 38032 xmlnsxlink: 'xmlnsXlink', 38033 'xmlns:xlink': 'xmlnsXlink', 38034 xmlspace: 'xmlSpace', 38035 y1: 'y1', 38036 y2: 'y2', 38037 y: 'y', 38038 ychannelselector: 'yChannelSelector', 38039 z: 'z', 38040 zoomandpan: 'zoomAndPan' 38041}; 38042 38043var ariaProperties = { 38044 'aria-current': 0, 38045 // state 38046 'aria-details': 0, 38047 'aria-disabled': 0, 38048 // state 38049 'aria-hidden': 0, 38050 // state 38051 'aria-invalid': 0, 38052 // state 38053 'aria-keyshortcuts': 0, 38054 'aria-label': 0, 38055 'aria-roledescription': 0, 38056 // Widget Attributes 38057 'aria-autocomplete': 0, 38058 'aria-checked': 0, 38059 'aria-expanded': 0, 38060 'aria-haspopup': 0, 38061 'aria-level': 0, 38062 'aria-modal': 0, 38063 'aria-multiline': 0, 38064 'aria-multiselectable': 0, 38065 'aria-orientation': 0, 38066 'aria-placeholder': 0, 38067 'aria-pressed': 0, 38068 'aria-readonly': 0, 38069 'aria-required': 0, 38070 'aria-selected': 0, 38071 'aria-sort': 0, 38072 'aria-valuemax': 0, 38073 'aria-valuemin': 0, 38074 'aria-valuenow': 0, 38075 'aria-valuetext': 0, 38076 // Live Region Attributes 38077 'aria-atomic': 0, 38078 'aria-busy': 0, 38079 'aria-live': 0, 38080 'aria-relevant': 0, 38081 // Drag-and-Drop Attributes 38082 'aria-dropeffect': 0, 38083 'aria-grabbed': 0, 38084 // Relationship Attributes 38085 'aria-activedescendant': 0, 38086 'aria-colcount': 0, 38087 'aria-colindex': 0, 38088 'aria-colspan': 0, 38089 'aria-controls': 0, 38090 'aria-describedby': 0, 38091 'aria-errormessage': 0, 38092 'aria-flowto': 0, 38093 'aria-labelledby': 0, 38094 'aria-owns': 0, 38095 'aria-posinset': 0, 38096 'aria-rowcount': 0, 38097 'aria-rowindex': 0, 38098 'aria-rowspan': 0, 38099 'aria-setsize': 0 38100}; 38101 38102var warnedProperties = {}; 38103var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'); 38104var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$'); 38105var hasOwnProperty$1 = Object.prototype.hasOwnProperty; 38106 38107function validateProperty(tagName, name) { 38108 { 38109 if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) { 38110 return true; 38111 } 38112 38113 if (rARIACamel.test(name)) { 38114 var ariaName = 'aria-' + name.slice(4).toLowerCase(); 38115 var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM 38116 // DOM properties, then it is an invalid aria-* attribute. 38117 38118 if (correctName == null) { 38119 error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name); 38120 38121 warnedProperties[name] = true; 38122 return true; 38123 } // aria-* attributes should be lowercase; suggest the lowercase version. 38124 38125 38126 if (name !== correctName) { 38127 error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName); 38128 38129 warnedProperties[name] = true; 38130 return true; 38131 } 38132 } 38133 38134 if (rARIA.test(name)) { 38135 var lowerCasedName = name.toLowerCase(); 38136 var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM 38137 // DOM properties, then it is an invalid aria-* attribute. 38138 38139 if (standardName == null) { 38140 warnedProperties[name] = true; 38141 return false; 38142 } // aria-* attributes should be lowercase; suggest the lowercase version. 38143 38144 38145 if (name !== standardName) { 38146 error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName); 38147 38148 warnedProperties[name] = true; 38149 return true; 38150 } 38151 } 38152 } 38153 38154 return true; 38155} 38156 38157function warnInvalidARIAProps(type, props) { 38158 { 38159 var invalidProps = []; 38160 38161 for (var key in props) { 38162 var isValid = validateProperty(type, key); 38163 38164 if (!isValid) { 38165 invalidProps.push(key); 38166 } 38167 } 38168 38169 var unknownPropString = invalidProps.map(function (prop) { 38170 return '`' + prop + '`'; 38171 }).join(', '); 38172 38173 if (invalidProps.length === 1) { 38174 error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type); 38175 } else if (invalidProps.length > 1) { 38176 error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type); 38177 } 38178 } 38179} 38180 38181function validateProperties(type, props) { 38182 if (isCustomComponent(type, props)) { 38183 return; 38184 } 38185 38186 warnInvalidARIAProps(type, props); 38187} 38188 38189var didWarnValueNull = false; 38190function validateProperties$1(type, props) { 38191 { 38192 if (type !== 'input' && type !== 'textarea' && type !== 'select') { 38193 return; 38194 } 38195 38196 if (props != null && props.value === null && !didWarnValueNull) { 38197 didWarnValueNull = true; 38198 38199 if (type === 'select' && props.multiple) { 38200 error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type); 38201 } else { 38202 error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type); 38203 } 38204 } 38205 } 38206} 38207 38208var validateProperty$1 = function () {}; 38209 38210{ 38211 var warnedProperties$1 = {}; 38212 var _hasOwnProperty = Object.prototype.hasOwnProperty; 38213 var EVENT_NAME_REGEX = /^on./; 38214 var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/; 38215 var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'); 38216 var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$'); 38217 38218 validateProperty$1 = function (tagName, name, value, canUseEventSystem) { 38219 if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) { 38220 return true; 38221 } 38222 38223 var lowerCasedName = name.toLowerCase(); 38224 38225 if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') { 38226 error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.'); 38227 38228 warnedProperties$1[name] = true; 38229 return true; 38230 } // We can't rely on the event system being injected on the server. 38231 38232 38233 if (canUseEventSystem) { 38234 if (registrationNameModules.hasOwnProperty(name)) { 38235 return true; 38236 } 38237 38238 var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null; 38239 38240 if (registrationName != null) { 38241 error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName); 38242 38243 warnedProperties$1[name] = true; 38244 return true; 38245 } 38246 38247 if (EVENT_NAME_REGEX.test(name)) { 38248 error('Unknown event handler property `%s`. It will be ignored.', name); 38249 38250 warnedProperties$1[name] = true; 38251 return true; 38252 } 38253 } else if (EVENT_NAME_REGEX.test(name)) { 38254 // If no event plugins have been injected, we are in a server environment. 38255 // So we can't tell if the event name is correct for sure, but we can filter 38256 // out known bad ones like `onclick`. We can't suggest a specific replacement though. 38257 if (INVALID_EVENT_NAME_REGEX.test(name)) { 38258 error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name); 38259 } 38260 38261 warnedProperties$1[name] = true; 38262 return true; 38263 } // Let the ARIA attribute hook validate ARIA attributes 38264 38265 38266 if (rARIA$1.test(name) || rARIACamel$1.test(name)) { 38267 return true; 38268 } 38269 38270 if (lowerCasedName === 'innerhtml') { 38271 error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.'); 38272 38273 warnedProperties$1[name] = true; 38274 return true; 38275 } 38276 38277 if (lowerCasedName === 'aria') { 38278 error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.'); 38279 38280 warnedProperties$1[name] = true; 38281 return true; 38282 } 38283 38284 if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') { 38285 error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value); 38286 38287 warnedProperties$1[name] = true; 38288 return true; 38289 } 38290 38291 if (typeof value === 'number' && isNaN(value)) { 38292 error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name); 38293 38294 warnedProperties$1[name] = true; 38295 return true; 38296 } 38297 38298 var propertyInfo = getPropertyInfo(name); 38299 var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config. 38300 38301 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { 38302 var standardName = possibleStandardNames[lowerCasedName]; 38303 38304 if (standardName !== name) { 38305 error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName); 38306 38307 warnedProperties$1[name] = true; 38308 return true; 38309 } 38310 } else if (!isReserved && name !== lowerCasedName) { 38311 // Unknown attributes should have lowercase casing since that's how they 38312 // will be cased anyway with server rendering. 38313 error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName); 38314 38315 warnedProperties$1[name] = true; 38316 return true; 38317 } 38318 38319 if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 38320 if (value) { 38321 error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.', value, name, name, value, name); 38322 } else { 38323 error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name); 38324 } 38325 38326 warnedProperties$1[name] = true; 38327 return true; 38328 } // Now that we've validated casing, do not validate 38329 // data types for reserved props 38330 38331 38332 if (isReserved) { 38333 return true; 38334 } // Warn when a known attribute is a bad type 38335 38336 38337 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 38338 warnedProperties$1[name] = true; 38339 return false; 38340 } // Warn when passing the strings 'false' or 'true' into a boolean prop 38341 38342 38343 if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) { 38344 error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value); 38345 38346 warnedProperties$1[name] = true; 38347 return true; 38348 } 38349 38350 return true; 38351 }; 38352} 38353 38354var warnUnknownProperties = function (type, props, canUseEventSystem) { 38355 { 38356 var unknownProps = []; 38357 38358 for (var key in props) { 38359 var isValid = validateProperty$1(type, key, props[key], canUseEventSystem); 38360 38361 if (!isValid) { 38362 unknownProps.push(key); 38363 } 38364 } 38365 38366 var unknownPropString = unknownProps.map(function (prop) { 38367 return '`' + prop + '`'; 38368 }).join(', '); 38369 38370 if (unknownProps.length === 1) { 38371 error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type); 38372 } else if (unknownProps.length > 1) { 38373 error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type); 38374 } 38375 } 38376}; 38377 38378function validateProperties$2(type, props, canUseEventSystem) { 38379 if (isCustomComponent(type, props)) { 38380 return; 38381 } 38382 38383 warnUnknownProperties(type, props, canUseEventSystem); 38384} 38385 38386var didWarnInvalidHydration = false; 38387var DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML'; 38388var SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning'; 38389var SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning'; 38390var AUTOFOCUS = 'autoFocus'; 38391var CHILDREN = 'children'; 38392var STYLE = 'style'; 38393var HTML$1 = '__html'; 38394var HTML_NAMESPACE$1 = Namespaces.html; 38395var warnedUnknownTags; 38396var suppressHydrationWarning; 38397var validatePropertiesInDevelopment; 38398var warnForTextDifference; 38399var warnForPropDifference; 38400var warnForExtraAttributes; 38401var warnForInvalidEventListener; 38402var canDiffStyleForHydrationWarning; 38403var normalizeMarkupForTextOrAttribute; 38404var normalizeHTML; 38405 38406{ 38407 warnedUnknownTags = { 38408 // Chrome is the only major browser not shipping <time>. But as of July 38409 // 2017 it intends to ship it due to widespread usage. We intentionally 38410 // *don't* warn for <time> even if it's unrecognized by Chrome because 38411 // it soon will be, and many apps have been using it anyway. 38412 time: true, 38413 // There are working polyfills for <dialog>. Let people use it. 38414 dialog: true, 38415 // Electron ships a custom <webview> tag to display external web content in 38416 // an isolated frame and process. 38417 // This tag is not present in non Electron environments such as JSDom which 38418 // is often used for testing purposes. 38419 // @see https://electronjs.org/docs/api/webview-tag 38420 webview: true 38421 }; 38422 38423 validatePropertiesInDevelopment = function (type, props) { 38424 validateProperties(type, props); 38425 validateProperties$1(type, props); 38426 validateProperties$2(type, props, 38427 /* canUseEventSystem */ 38428 true); 38429 }; // IE 11 parses & normalizes the style attribute as opposed to other 38430 // browsers. It adds spaces and sorts the properties in some 38431 // non-alphabetical order. Handling that would require sorting CSS 38432 // properties in the client & server versions or applying 38433 // `expectedStyle` to a temporary DOM node to read its `style` attribute 38434 // normalized. Since it only affects IE, we're skipping style warnings 38435 // in that browser completely in favor of doing all that work. 38436 // See https://github.com/facebook/react/issues/11807 38437 38438 38439 canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; // HTML parsing normalizes CR and CRLF to LF. 38440 // It also can turn \u0000 into \uFFFD inside attributes. 38441 // https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream 38442 // If we have a mismatch, it might be caused by that. 38443 // We will still patch up in this case but not fire the warning. 38444 38445 var NORMALIZE_NEWLINES_REGEX = /\r\n?/g; 38446 var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g; 38447 38448 normalizeMarkupForTextOrAttribute = function (markup) { 38449 var markupString = typeof markup === 'string' ? markup : '' + markup; 38450 return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ''); 38451 }; 38452 38453 warnForTextDifference = function (serverText, clientText) { 38454 if (didWarnInvalidHydration) { 38455 return; 38456 } 38457 38458 var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText); 38459 var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText); 38460 38461 if (normalizedServerText === normalizedClientText) { 38462 return; 38463 } 38464 38465 didWarnInvalidHydration = true; 38466 38467 error('Text content did not match. Server: "%s" Client: "%s"', normalizedServerText, normalizedClientText); 38468 }; 38469 38470 warnForPropDifference = function (propName, serverValue, clientValue) { 38471 if (didWarnInvalidHydration) { 38472 return; 38473 } 38474 38475 var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue); 38476 var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue); 38477 38478 if (normalizedServerValue === normalizedClientValue) { 38479 return; 38480 } 38481 38482 didWarnInvalidHydration = true; 38483 38484 error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue)); 38485 }; 38486 38487 warnForExtraAttributes = function (attributeNames) { 38488 if (didWarnInvalidHydration) { 38489 return; 38490 } 38491 38492 didWarnInvalidHydration = true; 38493 var names = []; 38494 attributeNames.forEach(function (name) { 38495 names.push(name); 38496 }); 38497 38498 error('Extra attributes from the server: %s', names); 38499 }; 38500 38501 warnForInvalidEventListener = function (registrationName, listener) { 38502 if (listener === false) { 38503 error('Expected `%s` listener to be a function, instead got `false`.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName); 38504 } else { 38505 error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener); 38506 } 38507 }; // Parse the HTML and read it back to normalize the HTML string so that it 38508 // can be used for comparison. 38509 38510 38511 normalizeHTML = function (parent, html) { 38512 // We could have created a separate document here to avoid 38513 // re-initializing custom elements if they exist. But this breaks 38514 // how <noscript> is being handled. So we use the same document. 38515 // See the discussion in https://github.com/facebook/react/pull/11157. 38516 var testElement = parent.namespaceURI === HTML_NAMESPACE$1 ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName); 38517 testElement.innerHTML = html; 38518 return testElement.innerHTML; 38519 }; 38520} 38521 38522function ensureListeningTo(rootContainerElement, registrationName) { 38523 var isDocumentOrFragment = rootContainerElement.nodeType === DOCUMENT_NODE || rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE; 38524 var doc = isDocumentOrFragment ? rootContainerElement : rootContainerElement.ownerDocument; 38525 legacyListenToEvent(registrationName, doc); 38526} 38527 38528function getOwnerDocumentFromRootContainer(rootContainerElement) { 38529 return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument; 38530} 38531 38532function noop() {} 38533 38534function trapClickOnNonInteractiveElement(node) { 38535 // Mobile Safari does not fire properly bubble click events on 38536 // non-interactive elements, which means delegated click listeners do not 38537 // fire. The workaround for this bug involves attaching an empty click 38538 // listener on the target node. 38539 // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html 38540 // Just set it using the onclick property so that we don't have to manage any 38541 // bookkeeping for it. Not sure if we need to clear it when the listener is 38542 // removed. 38543 // TODO: Only do this for the relevant Safaris maybe? 38544 node.onclick = noop; 38545} 38546 38547function setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) { 38548 for (var propKey in nextProps) { 38549 if (!nextProps.hasOwnProperty(propKey)) { 38550 continue; 38551 } 38552 38553 var nextProp = nextProps[propKey]; 38554 38555 if (propKey === STYLE) { 38556 { 38557 if (nextProp) { 38558 // Freeze the next style object so that we can assume it won't be 38559 // mutated. We have already warned for this in the past. 38560 Object.freeze(nextProp); 38561 } 38562 } // Relies on `updateStylesByID` not mutating `styleUpdates`. 38563 38564 38565 setValueForStyles(domElement, nextProp); 38566 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 38567 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 38568 38569 if (nextHtml != null) { 38570 setInnerHTML(domElement, nextHtml); 38571 } 38572 } else if (propKey === CHILDREN) { 38573 if (typeof nextProp === 'string') { 38574 // Avoid setting initial textContent when the text is empty. In IE11 setting 38575 // textContent on a <textarea> will cause the placeholder to not 38576 // show within the <textarea> until it has been focused and blurred again. 38577 // https://github.com/facebook/react/issues/6731#issuecomment-254874553 38578 var canSetTextContent = tag !== 'textarea' || nextProp !== ''; 38579 38580 if (canSetTextContent) { 38581 setTextContent(domElement, nextProp); 38582 } 38583 } else if (typeof nextProp === 'number') { 38584 setTextContent(domElement, '' + nextProp); 38585 } 38586 } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 38587 if (nextProp != null) { 38588 if ( typeof nextProp !== 'function') { 38589 warnForInvalidEventListener(propKey, nextProp); 38590 } 38591 38592 ensureListeningTo(rootContainerElement, propKey); 38593 } 38594 } else if (nextProp != null) { 38595 setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag); 38596 } 38597 } 38598} 38599 38600function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) { 38601 // TODO: Handle wasCustomComponentTag 38602 for (var i = 0; i < updatePayload.length; i += 2) { 38603 var propKey = updatePayload[i]; 38604 var propValue = updatePayload[i + 1]; 38605 38606 if (propKey === STYLE) { 38607 setValueForStyles(domElement, propValue); 38608 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 38609 setInnerHTML(domElement, propValue); 38610 } else if (propKey === CHILDREN) { 38611 setTextContent(domElement, propValue); 38612 } else { 38613 setValueForProperty(domElement, propKey, propValue, isCustomComponentTag); 38614 } 38615 } 38616} 38617 38618function createElement(type, props, rootContainerElement, parentNamespace) { 38619 var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML 38620 // tags get no namespace. 38621 38622 var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement); 38623 var domElement; 38624 var namespaceURI = parentNamespace; 38625 38626 if (namespaceURI === HTML_NAMESPACE$1) { 38627 namespaceURI = getIntrinsicNamespace(type); 38628 } 38629 38630 if (namespaceURI === HTML_NAMESPACE$1) { 38631 { 38632 isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to 38633 // allow <SVG> or <mATH>. 38634 38635 if (!isCustomComponentTag && type !== type.toLowerCase()) { 38636 error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type); 38637 } 38638 } 38639 38640 if (type === 'script') { 38641 // Create the script via .innerHTML so its "parser-inserted" flag is 38642 // set to true and it does not execute 38643 var div = ownerDocument.createElement('div'); 38644 38645 div.innerHTML = '<script><' + '/script>'; // eslint-disable-line 38646 // This is guaranteed to yield a script element. 38647 38648 var firstChild = div.firstChild; 38649 domElement = div.removeChild(firstChild); 38650 } else if (typeof props.is === 'string') { 38651 // $FlowIssue `createElement` should be updated for Web Components 38652 domElement = ownerDocument.createElement(type, { 38653 is: props.is 38654 }); 38655 } else { 38656 // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug. 38657 // See discussion in https://github.com/facebook/react/pull/6896 38658 // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240 38659 domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size` 38660 // attributes on `select`s needs to be added before `option`s are inserted. 38661 // This prevents: 38662 // - a bug where the `select` does not scroll to the correct option because singular 38663 // `select` elements automatically pick the first item #13222 38664 // - a bug where the `select` set the first item as selected despite the `size` attribute #14239 38665 // See https://github.com/facebook/react/issues/13222 38666 // and https://github.com/facebook/react/issues/14239 38667 38668 if (type === 'select') { 38669 var node = domElement; 38670 38671 if (props.multiple) { 38672 node.multiple = true; 38673 } else if (props.size) { 38674 // Setting a size greater than 1 causes a select to behave like `multiple=true`, where 38675 // it is possible that no option is selected. 38676 // 38677 // This is only necessary when a select in "single selection mode". 38678 node.size = props.size; 38679 } 38680 } 38681 } 38682 } else { 38683 domElement = ownerDocument.createElementNS(namespaceURI, type); 38684 } 38685 38686 { 38687 if (namespaceURI === HTML_NAMESPACE$1) { 38688 if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !Object.prototype.hasOwnProperty.call(warnedUnknownTags, type)) { 38689 warnedUnknownTags[type] = true; 38690 38691 error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type); 38692 } 38693 } 38694 } 38695 38696 return domElement; 38697} 38698function createTextNode(text, rootContainerElement) { 38699 return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text); 38700} 38701function setInitialProperties(domElement, tag, rawProps, rootContainerElement) { 38702 var isCustomComponentTag = isCustomComponent(tag, rawProps); 38703 38704 { 38705 validatePropertiesInDevelopment(tag, rawProps); 38706 } // TODO: Make sure that we check isMounted before firing any of these events. 38707 38708 38709 var props; 38710 38711 switch (tag) { 38712 case 'iframe': 38713 case 'object': 38714 case 'embed': 38715 trapBubbledEvent(TOP_LOAD, domElement); 38716 props = rawProps; 38717 break; 38718 38719 case 'video': 38720 case 'audio': 38721 // Create listener for each media event 38722 for (var i = 0; i < mediaEventTypes.length; i++) { 38723 trapBubbledEvent(mediaEventTypes[i], domElement); 38724 } 38725 38726 props = rawProps; 38727 break; 38728 38729 case 'source': 38730 trapBubbledEvent(TOP_ERROR, domElement); 38731 props = rawProps; 38732 break; 38733 38734 case 'img': 38735 case 'image': 38736 case 'link': 38737 trapBubbledEvent(TOP_ERROR, domElement); 38738 trapBubbledEvent(TOP_LOAD, domElement); 38739 props = rawProps; 38740 break; 38741 38742 case 'form': 38743 trapBubbledEvent(TOP_RESET, domElement); 38744 trapBubbledEvent(TOP_SUBMIT, domElement); 38745 props = rawProps; 38746 break; 38747 38748 case 'details': 38749 trapBubbledEvent(TOP_TOGGLE, domElement); 38750 props = rawProps; 38751 break; 38752 38753 case 'input': 38754 initWrapperState(domElement, rawProps); 38755 props = getHostProps(domElement, rawProps); 38756 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 38757 // to onChange. Even if there is no listener. 38758 38759 ensureListeningTo(rootContainerElement, 'onChange'); 38760 break; 38761 38762 case 'option': 38763 validateProps(domElement, rawProps); 38764 props = getHostProps$1(domElement, rawProps); 38765 break; 38766 38767 case 'select': 38768 initWrapperState$1(domElement, rawProps); 38769 props = getHostProps$2(domElement, rawProps); 38770 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 38771 // to onChange. Even if there is no listener. 38772 38773 ensureListeningTo(rootContainerElement, 'onChange'); 38774 break; 38775 38776 case 'textarea': 38777 initWrapperState$2(domElement, rawProps); 38778 props = getHostProps$3(domElement, rawProps); 38779 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 38780 // to onChange. Even if there is no listener. 38781 38782 ensureListeningTo(rootContainerElement, 'onChange'); 38783 break; 38784 38785 default: 38786 props = rawProps; 38787 } 38788 38789 assertValidProps(tag, props); 38790 setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag); 38791 38792 switch (tag) { 38793 case 'input': 38794 // TODO: Make sure we check if this is still unmounted or do any clean 38795 // up necessary since we never stop tracking anymore. 38796 track(domElement); 38797 postMountWrapper(domElement, rawProps, false); 38798 break; 38799 38800 case 'textarea': 38801 // TODO: Make sure we check if this is still unmounted or do any clean 38802 // up necessary since we never stop tracking anymore. 38803 track(domElement); 38804 postMountWrapper$3(domElement); 38805 break; 38806 38807 case 'option': 38808 postMountWrapper$1(domElement, rawProps); 38809 break; 38810 38811 case 'select': 38812 postMountWrapper$2(domElement, rawProps); 38813 break; 38814 38815 default: 38816 if (typeof props.onClick === 'function') { 38817 // TODO: This cast may not be sound for SVG, MathML or custom elements. 38818 trapClickOnNonInteractiveElement(domElement); 38819 } 38820 38821 break; 38822 } 38823} // Calculate the diff between the two objects. 38824 38825function diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) { 38826 { 38827 validatePropertiesInDevelopment(tag, nextRawProps); 38828 } 38829 38830 var updatePayload = null; 38831 var lastProps; 38832 var nextProps; 38833 38834 switch (tag) { 38835 case 'input': 38836 lastProps = getHostProps(domElement, lastRawProps); 38837 nextProps = getHostProps(domElement, nextRawProps); 38838 updatePayload = []; 38839 break; 38840 38841 case 'option': 38842 lastProps = getHostProps$1(domElement, lastRawProps); 38843 nextProps = getHostProps$1(domElement, nextRawProps); 38844 updatePayload = []; 38845 break; 38846 38847 case 'select': 38848 lastProps = getHostProps$2(domElement, lastRawProps); 38849 nextProps = getHostProps$2(domElement, nextRawProps); 38850 updatePayload = []; 38851 break; 38852 38853 case 'textarea': 38854 lastProps = getHostProps$3(domElement, lastRawProps); 38855 nextProps = getHostProps$3(domElement, nextRawProps); 38856 updatePayload = []; 38857 break; 38858 38859 default: 38860 lastProps = lastRawProps; 38861 nextProps = nextRawProps; 38862 38863 if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') { 38864 // TODO: This cast may not be sound for SVG, MathML or custom elements. 38865 trapClickOnNonInteractiveElement(domElement); 38866 } 38867 38868 break; 38869 } 38870 38871 assertValidProps(tag, nextProps); 38872 var propKey; 38873 var styleName; 38874 var styleUpdates = null; 38875 38876 for (propKey in lastProps) { 38877 if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) { 38878 continue; 38879 } 38880 38881 if (propKey === STYLE) { 38882 var lastStyle = lastProps[propKey]; 38883 38884 for (styleName in lastStyle) { 38885 if (lastStyle.hasOwnProperty(styleName)) { 38886 if (!styleUpdates) { 38887 styleUpdates = {}; 38888 } 38889 38890 styleUpdates[styleName] = ''; 38891 } 38892 } 38893 } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 38894 // This is a special case. If any listener updates we need to ensure 38895 // that the "current" fiber pointer gets updated so we need a commit 38896 // to update this element. 38897 if (!updatePayload) { 38898 updatePayload = []; 38899 } 38900 } else { 38901 // For all other deleted properties we add it to the queue. We use 38902 // the whitelist in the commit phase instead. 38903 (updatePayload = updatePayload || []).push(propKey, null); 38904 } 38905 } 38906 38907 for (propKey in nextProps) { 38908 var nextProp = nextProps[propKey]; 38909 var lastProp = lastProps != null ? lastProps[propKey] : undefined; 38910 38911 if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) { 38912 continue; 38913 } 38914 38915 if (propKey === STYLE) { 38916 { 38917 if (nextProp) { 38918 // Freeze the next style object so that we can assume it won't be 38919 // mutated. We have already warned for this in the past. 38920 Object.freeze(nextProp); 38921 } 38922 } 38923 38924 if (lastProp) { 38925 // Unset styles on `lastProp` but not on `nextProp`. 38926 for (styleName in lastProp) { 38927 if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) { 38928 if (!styleUpdates) { 38929 styleUpdates = {}; 38930 } 38931 38932 styleUpdates[styleName] = ''; 38933 } 38934 } // Update styles that changed since `lastProp`. 38935 38936 38937 for (styleName in nextProp) { 38938 if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) { 38939 if (!styleUpdates) { 38940 styleUpdates = {}; 38941 } 38942 38943 styleUpdates[styleName] = nextProp[styleName]; 38944 } 38945 } 38946 } else { 38947 // Relies on `updateStylesByID` not mutating `styleUpdates`. 38948 if (!styleUpdates) { 38949 if (!updatePayload) { 38950 updatePayload = []; 38951 } 38952 38953 updatePayload.push(propKey, styleUpdates); 38954 } 38955 38956 styleUpdates = nextProp; 38957 } 38958 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 38959 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 38960 var lastHtml = lastProp ? lastProp[HTML$1] : undefined; 38961 38962 if (nextHtml != null) { 38963 if (lastHtml !== nextHtml) { 38964 (updatePayload = updatePayload || []).push(propKey, nextHtml); 38965 } 38966 } 38967 } else if (propKey === CHILDREN) { 38968 if (lastProp !== nextProp && (typeof nextProp === 'string' || typeof nextProp === 'number')) { 38969 (updatePayload = updatePayload || []).push(propKey, '' + nextProp); 38970 } 38971 } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameModules.hasOwnProperty(propKey)) { 38972 if (nextProp != null) { 38973 // We eagerly listen to this even though we haven't committed yet. 38974 if ( typeof nextProp !== 'function') { 38975 warnForInvalidEventListener(propKey, nextProp); 38976 } 38977 38978 ensureListeningTo(rootContainerElement, propKey); 38979 } 38980 38981 if (!updatePayload && lastProp !== nextProp) { 38982 // This is a special case. If any listener updates we need to ensure 38983 // that the "current" props pointer gets updated so we need a commit 38984 // to update this element. 38985 updatePayload = []; 38986 } 38987 } else { 38988 // For any other property we always add it to the queue and then we 38989 // filter it out using the whitelist during the commit. 38990 (updatePayload = updatePayload || []).push(propKey, nextProp); 38991 } 38992 } 38993 38994 if (styleUpdates) { 38995 { 38996 validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]); 38997 } 38998 38999 (updatePayload = updatePayload || []).push(STYLE, styleUpdates); 39000 } 39001 39002 return updatePayload; 39003} // Apply the diff. 39004 39005function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) { 39006 // Update checked *before* name. 39007 // In the middle of an update, it is possible to have multiple checked. 39008 // When a checked radio tries to change name, browser makes another radio's checked false. 39009 if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) { 39010 updateChecked(domElement, nextRawProps); 39011 } 39012 39013 var wasCustomComponentTag = isCustomComponent(tag, lastRawProps); 39014 var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff. 39015 39016 updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props 39017 // changed. 39018 39019 switch (tag) { 39020 case 'input': 39021 // Update the wrapper around inputs *after* updating props. This has to 39022 // happen after `updateDOMProperties`. Otherwise HTML5 input validations 39023 // raise warnings and prevent the new value from being assigned. 39024 updateWrapper(domElement, nextRawProps); 39025 break; 39026 39027 case 'textarea': 39028 updateWrapper$1(domElement, nextRawProps); 39029 break; 39030 39031 case 'select': 39032 // <select> value update needs to occur after <option> children 39033 // reconciliation 39034 postUpdateWrapper(domElement, nextRawProps); 39035 break; 39036 } 39037} 39038 39039function getPossibleStandardName(propName) { 39040 { 39041 var lowerCasedName = propName.toLowerCase(); 39042 39043 if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) { 39044 return null; 39045 } 39046 39047 return possibleStandardNames[lowerCasedName] || null; 39048 } 39049} 39050 39051function diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement) { 39052 var isCustomComponentTag; 39053 var extraAttributeNames; 39054 39055 { 39056 suppressHydrationWarning = rawProps[SUPPRESS_HYDRATION_WARNING] === true; 39057 isCustomComponentTag = isCustomComponent(tag, rawProps); 39058 validatePropertiesInDevelopment(tag, rawProps); 39059 } // TODO: Make sure that we check isMounted before firing any of these events. 39060 39061 39062 switch (tag) { 39063 case 'iframe': 39064 case 'object': 39065 case 'embed': 39066 trapBubbledEvent(TOP_LOAD, domElement); 39067 break; 39068 39069 case 'video': 39070 case 'audio': 39071 // Create listener for each media event 39072 for (var i = 0; i < mediaEventTypes.length; i++) { 39073 trapBubbledEvent(mediaEventTypes[i], domElement); 39074 } 39075 39076 break; 39077 39078 case 'source': 39079 trapBubbledEvent(TOP_ERROR, domElement); 39080 break; 39081 39082 case 'img': 39083 case 'image': 39084 case 'link': 39085 trapBubbledEvent(TOP_ERROR, domElement); 39086 trapBubbledEvent(TOP_LOAD, domElement); 39087 break; 39088 39089 case 'form': 39090 trapBubbledEvent(TOP_RESET, domElement); 39091 trapBubbledEvent(TOP_SUBMIT, domElement); 39092 break; 39093 39094 case 'details': 39095 trapBubbledEvent(TOP_TOGGLE, domElement); 39096 break; 39097 39098 case 'input': 39099 initWrapperState(domElement, rawProps); 39100 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 39101 // to onChange. Even if there is no listener. 39102 39103 ensureListeningTo(rootContainerElement, 'onChange'); 39104 break; 39105 39106 case 'option': 39107 validateProps(domElement, rawProps); 39108 break; 39109 39110 case 'select': 39111 initWrapperState$1(domElement, rawProps); 39112 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 39113 // to onChange. Even if there is no listener. 39114 39115 ensureListeningTo(rootContainerElement, 'onChange'); 39116 break; 39117 39118 case 'textarea': 39119 initWrapperState$2(domElement, rawProps); 39120 trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening 39121 // to onChange. Even if there is no listener. 39122 39123 ensureListeningTo(rootContainerElement, 'onChange'); 39124 break; 39125 } 39126 39127 assertValidProps(tag, rawProps); 39128 39129 { 39130 extraAttributeNames = new Set(); 39131 var attributes = domElement.attributes; 39132 39133 for (var _i = 0; _i < attributes.length; _i++) { 39134 var name = attributes[_i].name.toLowerCase(); 39135 39136 switch (name) { 39137 // Built-in SSR attribute is whitelisted 39138 case 'data-reactroot': 39139 break; 39140 // Controlled attributes are not validated 39141 // TODO: Only ignore them on controlled tags. 39142 39143 case 'value': 39144 break; 39145 39146 case 'checked': 39147 break; 39148 39149 case 'selected': 39150 break; 39151 39152 default: 39153 // Intentionally use the original name. 39154 // See discussion in https://github.com/facebook/react/pull/10676. 39155 extraAttributeNames.add(attributes[_i].name); 39156 } 39157 } 39158 } 39159 39160 var updatePayload = null; 39161 39162 for (var propKey in rawProps) { 39163 if (!rawProps.hasOwnProperty(propKey)) { 39164 continue; 39165 } 39166 39167 var nextProp = rawProps[propKey]; 39168 39169 if (propKey === CHILDREN) { 39170 // For text content children we compare against textContent. This 39171 // might match additional HTML that is hidden when we read it using 39172 // textContent. E.g. "foo" will match "f<span>oo</span>" but that still 39173 // satisfies our requirement. Our requirement is not to produce perfect 39174 // HTML and attributes. Ideally we should preserve structure but it's 39175 // ok not to if the visible content is still enough to indicate what 39176 // even listeners these nodes might be wired up to. 39177 // TODO: Warn if there is more than a single textNode as a child. 39178 // TODO: Should we use domElement.firstChild.nodeValue to compare? 39179 if (typeof nextProp === 'string') { 39180 if (domElement.textContent !== nextProp) { 39181 if ( !suppressHydrationWarning) { 39182 warnForTextDifference(domElement.textContent, nextProp); 39183 } 39184 39185 updatePayload = [CHILDREN, nextProp]; 39186 } 39187 } else if (typeof nextProp === 'number') { 39188 if (domElement.textContent !== '' + nextProp) { 39189 if ( !suppressHydrationWarning) { 39190 warnForTextDifference(domElement.textContent, nextProp); 39191 } 39192 39193 updatePayload = [CHILDREN, '' + nextProp]; 39194 } 39195 } 39196 } else if (registrationNameModules.hasOwnProperty(propKey)) { 39197 if (nextProp != null) { 39198 if ( typeof nextProp !== 'function') { 39199 warnForInvalidEventListener(propKey, nextProp); 39200 } 39201 39202 ensureListeningTo(rootContainerElement, propKey); 39203 } 39204 } else if ( // Convince Flow we've calculated it (it's DEV-only in this method.) 39205 typeof isCustomComponentTag === 'boolean') { 39206 // Validate that the properties correspond to their expected values. 39207 var serverValue = void 0; 39208 var propertyInfo = getPropertyInfo(propKey); 39209 39210 if (suppressHydrationWarning) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated 39211 // TODO: Only ignore them on controlled tags. 39212 propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 39213 var serverHTML = domElement.innerHTML; 39214 var nextHtml = nextProp ? nextProp[HTML$1] : undefined; 39215 var expectedHTML = normalizeHTML(domElement, nextHtml != null ? nextHtml : ''); 39216 39217 if (expectedHTML !== serverHTML) { 39218 warnForPropDifference(propKey, serverHTML, expectedHTML); 39219 } 39220 } else if (propKey === STYLE) { 39221 // $FlowFixMe - Should be inferred as not undefined. 39222 extraAttributeNames.delete(propKey); 39223 39224 if (canDiffStyleForHydrationWarning) { 39225 var expectedStyle = createDangerousStringForStyles(nextProp); 39226 serverValue = domElement.getAttribute('style'); 39227 39228 if (expectedStyle !== serverValue) { 39229 warnForPropDifference(propKey, serverValue, expectedStyle); 39230 } 39231 } 39232 } else if (isCustomComponentTag) { 39233 // $FlowFixMe - Should be inferred as not undefined. 39234 extraAttributeNames.delete(propKey.toLowerCase()); 39235 serverValue = getValueForAttribute(domElement, propKey, nextProp); 39236 39237 if (nextProp !== serverValue) { 39238 warnForPropDifference(propKey, serverValue, nextProp); 39239 } 39240 } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) { 39241 var isMismatchDueToBadCasing = false; 39242 39243 if (propertyInfo !== null) { 39244 // $FlowFixMe - Should be inferred as not undefined. 39245 extraAttributeNames.delete(propertyInfo.attributeName); 39246 serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo); 39247 } else { 39248 var ownNamespace = parentNamespace; 39249 39250 if (ownNamespace === HTML_NAMESPACE$1) { 39251 ownNamespace = getIntrinsicNamespace(tag); 39252 } 39253 39254 if (ownNamespace === HTML_NAMESPACE$1) { 39255 // $FlowFixMe - Should be inferred as not undefined. 39256 extraAttributeNames.delete(propKey.toLowerCase()); 39257 } else { 39258 var standardName = getPossibleStandardName(propKey); 39259 39260 if (standardName !== null && standardName !== propKey) { 39261 // If an SVG prop is supplied with bad casing, it will 39262 // be successfully parsed from HTML, but will produce a mismatch 39263 // (and would be incorrectly rendered on the client). 39264 // However, we already warn about bad casing elsewhere. 39265 // So we'll skip the misleading extra mismatch warning in this case. 39266 isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined. 39267 39268 extraAttributeNames.delete(standardName); 39269 } // $FlowFixMe - Should be inferred as not undefined. 39270 39271 39272 extraAttributeNames.delete(propKey); 39273 } 39274 39275 serverValue = getValueForAttribute(domElement, propKey, nextProp); 39276 } 39277 39278 if (nextProp !== serverValue && !isMismatchDueToBadCasing) { 39279 warnForPropDifference(propKey, serverValue, nextProp); 39280 } 39281 } 39282 } 39283 } 39284 39285 { 39286 // $FlowFixMe - Should be inferred as not undefined. 39287 if (extraAttributeNames.size > 0 && !suppressHydrationWarning) { 39288 // $FlowFixMe - Should be inferred as not undefined. 39289 warnForExtraAttributes(extraAttributeNames); 39290 } 39291 } 39292 39293 switch (tag) { 39294 case 'input': 39295 // TODO: Make sure we check if this is still unmounted or do any clean 39296 // up necessary since we never stop tracking anymore. 39297 track(domElement); 39298 postMountWrapper(domElement, rawProps, true); 39299 break; 39300 39301 case 'textarea': 39302 // TODO: Make sure we check if this is still unmounted or do any clean 39303 // up necessary since we never stop tracking anymore. 39304 track(domElement); 39305 postMountWrapper$3(domElement); 39306 break; 39307 39308 case 'select': 39309 case 'option': 39310 // For input and textarea we current always set the value property at 39311 // post mount to force it to diverge from attributes. However, for 39312 // option and select we don't quite do the same thing and select 39313 // is not resilient to the DOM state changing so we don't do that here. 39314 // TODO: Consider not doing this for input and textarea. 39315 break; 39316 39317 default: 39318 if (typeof rawProps.onClick === 'function') { 39319 // TODO: This cast may not be sound for SVG, MathML or custom elements. 39320 trapClickOnNonInteractiveElement(domElement); 39321 } 39322 39323 break; 39324 } 39325 39326 return updatePayload; 39327} 39328function diffHydratedText(textNode, text) { 39329 var isDifferent = textNode.nodeValue !== text; 39330 return isDifferent; 39331} 39332function warnForUnmatchedText(textNode, text) { 39333 { 39334 warnForTextDifference(textNode.nodeValue, text); 39335 } 39336} 39337function warnForDeletedHydratableElement(parentNode, child) { 39338 { 39339 if (didWarnInvalidHydration) { 39340 return; 39341 } 39342 39343 didWarnInvalidHydration = true; 39344 39345 error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase()); 39346 } 39347} 39348function warnForDeletedHydratableText(parentNode, child) { 39349 { 39350 if (didWarnInvalidHydration) { 39351 return; 39352 } 39353 39354 didWarnInvalidHydration = true; 39355 39356 error('Did not expect server HTML to contain the text node "%s" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase()); 39357 } 39358} 39359function warnForInsertedHydratedElement(parentNode, tag, props) { 39360 { 39361 if (didWarnInvalidHydration) { 39362 return; 39363 } 39364 39365 didWarnInvalidHydration = true; 39366 39367 error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase()); 39368 } 39369} 39370function warnForInsertedHydratedText(parentNode, text) { 39371 { 39372 if (text === '') { 39373 // We expect to insert empty text nodes since they're not represented in 39374 // the HTML. 39375 // TODO: Remove this special case if we can just avoid inserting empty 39376 // text nodes. 39377 return; 39378 } 39379 39380 if (didWarnInvalidHydration) { 39381 return; 39382 } 39383 39384 didWarnInvalidHydration = true; 39385 39386 error('Expected server HTML to contain a matching text node for "%s" in <%s>.', text, parentNode.nodeName.toLowerCase()); 39387 } 39388} 39389function restoreControlledState$3(domElement, tag, props) { 39390 switch (tag) { 39391 case 'input': 39392 restoreControlledState(domElement, props); 39393 return; 39394 39395 case 'textarea': 39396 restoreControlledState$2(domElement, props); 39397 return; 39398 39399 case 'select': 39400 restoreControlledState$1(domElement, props); 39401 return; 39402 } 39403} 39404 39405function getActiveElement(doc) { 39406 doc = doc || (typeof document !== 'undefined' ? document : undefined); 39407 39408 if (typeof doc === 'undefined') { 39409 return null; 39410 } 39411 39412 try { 39413 return doc.activeElement || doc.body; 39414 } catch (e) { 39415 return doc.body; 39416 } 39417} 39418 39419/** 39420 * Given any node return the first leaf node without children. 39421 * 39422 * @param {DOMElement|DOMTextNode} node 39423 * @return {DOMElement|DOMTextNode} 39424 */ 39425 39426function getLeafNode(node) { 39427 while (node && node.firstChild) { 39428 node = node.firstChild; 39429 } 39430 39431 return node; 39432} 39433/** 39434 * Get the next sibling within a container. This will walk up the 39435 * DOM if a node's siblings have been exhausted. 39436 * 39437 * @param {DOMElement|DOMTextNode} node 39438 * @return {?DOMElement|DOMTextNode} 39439 */ 39440 39441 39442function getSiblingNode(node) { 39443 while (node) { 39444 if (node.nextSibling) { 39445 return node.nextSibling; 39446 } 39447 39448 node = node.parentNode; 39449 } 39450} 39451/** 39452 * Get object describing the nodes which contain characters at offset. 39453 * 39454 * @param {DOMElement|DOMTextNode} root 39455 * @param {number} offset 39456 * @return {?object} 39457 */ 39458 39459 39460function getNodeForCharacterOffset(root, offset) { 39461 var node = getLeafNode(root); 39462 var nodeStart = 0; 39463 var nodeEnd = 0; 39464 39465 while (node) { 39466 if (node.nodeType === TEXT_NODE) { 39467 nodeEnd = nodeStart + node.textContent.length; 39468 39469 if (nodeStart <= offset && nodeEnd >= offset) { 39470 return { 39471 node: node, 39472 offset: offset - nodeStart 39473 }; 39474 } 39475 39476 nodeStart = nodeEnd; 39477 } 39478 39479 node = getLeafNode(getSiblingNode(node)); 39480 } 39481} 39482 39483/** 39484 * @param {DOMElement} outerNode 39485 * @return {?object} 39486 */ 39487 39488function getOffsets(outerNode) { 39489 var ownerDocument = outerNode.ownerDocument; 39490 var win = ownerDocument && ownerDocument.defaultView || window; 39491 var selection = win.getSelection && win.getSelection(); 39492 39493 if (!selection || selection.rangeCount === 0) { 39494 return null; 39495 } 39496 39497 var anchorNode = selection.anchorNode, 39498 anchorOffset = selection.anchorOffset, 39499 focusNode = selection.focusNode, 39500 focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the 39501 // up/down buttons on an <input type="number">. Anonymous divs do not seem to 39502 // expose properties, triggering a "Permission denied error" if any of its 39503 // properties are accessed. The only seemingly possible way to avoid erroring 39504 // is to access a property that typically works for non-anonymous divs and 39505 // catch any error that may otherwise arise. See 39506 // https://bugzilla.mozilla.org/show_bug.cgi?id=208427 39507 39508 try { 39509 /* eslint-disable no-unused-expressions */ 39510 anchorNode.nodeType; 39511 focusNode.nodeType; 39512 /* eslint-enable no-unused-expressions */ 39513 } catch (e) { 39514 return null; 39515 } 39516 39517 return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset); 39518} 39519/** 39520 * Returns {start, end} where `start` is the character/codepoint index of 39521 * (anchorNode, anchorOffset) within the textContent of `outerNode`, and 39522 * `end` is the index of (focusNode, focusOffset). 39523 * 39524 * Returns null if you pass in garbage input but we should probably just crash. 39525 * 39526 * Exported only for testing. 39527 */ 39528 39529function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) { 39530 var length = 0; 39531 var start = -1; 39532 var end = -1; 39533 var indexWithinAnchor = 0; 39534 var indexWithinFocus = 0; 39535 var node = outerNode; 39536 var parentNode = null; 39537 39538 outer: while (true) { 39539 var next = null; 39540 39541 while (true) { 39542 if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) { 39543 start = length + anchorOffset; 39544 } 39545 39546 if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) { 39547 end = length + focusOffset; 39548 } 39549 39550 if (node.nodeType === TEXT_NODE) { 39551 length += node.nodeValue.length; 39552 } 39553 39554 if ((next = node.firstChild) === null) { 39555 break; 39556 } // Moving from `node` to its first child `next`. 39557 39558 39559 parentNode = node; 39560 node = next; 39561 } 39562 39563 while (true) { 39564 if (node === outerNode) { 39565 // If `outerNode` has children, this is always the second time visiting 39566 // it. If it has no children, this is still the first loop, and the only 39567 // valid selection is anchorNode and focusNode both equal to this node 39568 // and both offsets 0, in which case we will have handled above. 39569 break outer; 39570 } 39571 39572 if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) { 39573 start = length; 39574 } 39575 39576 if (parentNode === focusNode && ++indexWithinFocus === focusOffset) { 39577 end = length; 39578 } 39579 39580 if ((next = node.nextSibling) !== null) { 39581 break; 39582 } 39583 39584 node = parentNode; 39585 parentNode = node.parentNode; 39586 } // Moving from `node` to its next sibling `next`. 39587 39588 39589 node = next; 39590 } 39591 39592 if (start === -1 || end === -1) { 39593 // This should never happen. (Would happen if the anchor/focus nodes aren't 39594 // actually inside the passed-in node.) 39595 return null; 39596 } 39597 39598 return { 39599 start: start, 39600 end: end 39601 }; 39602} 39603/** 39604 * In modern non-IE browsers, we can support both forward and backward 39605 * selections. 39606 * 39607 * Note: IE10+ supports the Selection object, but it does not support 39608 * the `extend` method, which means that even in modern IE, it's not possible 39609 * to programmatically create a backward selection. Thus, for all IE 39610 * versions, we use the old IE API to create our selections. 39611 * 39612 * @param {DOMElement|DOMTextNode} node 39613 * @param {object} offsets 39614 */ 39615 39616function setOffsets(node, offsets) { 39617 var doc = node.ownerDocument || document; 39618 var win = doc && doc.defaultView || window; // Edge fails with "Object expected" in some scenarios. 39619 // (For instance: TinyMCE editor used in a list component that supports pasting to add more, 39620 // fails when pasting 100+ items) 39621 39622 if (!win.getSelection) { 39623 return; 39624 } 39625 39626 var selection = win.getSelection(); 39627 var length = node.textContent.length; 39628 var start = Math.min(offsets.start, length); 39629 var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method. 39630 // Flip backward selections, so we can set with a single range. 39631 39632 if (!selection.extend && start > end) { 39633 var temp = end; 39634 end = start; 39635 start = temp; 39636 } 39637 39638 var startMarker = getNodeForCharacterOffset(node, start); 39639 var endMarker = getNodeForCharacterOffset(node, end); 39640 39641 if (startMarker && endMarker) { 39642 if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) { 39643 return; 39644 } 39645 39646 var range = doc.createRange(); 39647 range.setStart(startMarker.node, startMarker.offset); 39648 selection.removeAllRanges(); 39649 39650 if (start > end) { 39651 selection.addRange(range); 39652 selection.extend(endMarker.node, endMarker.offset); 39653 } else { 39654 range.setEnd(endMarker.node, endMarker.offset); 39655 selection.addRange(range); 39656 } 39657 } 39658} 39659 39660function isTextNode(node) { 39661 return node && node.nodeType === TEXT_NODE; 39662} 39663 39664function containsNode(outerNode, innerNode) { 39665 if (!outerNode || !innerNode) { 39666 return false; 39667 } else if (outerNode === innerNode) { 39668 return true; 39669 } else if (isTextNode(outerNode)) { 39670 return false; 39671 } else if (isTextNode(innerNode)) { 39672 return containsNode(outerNode, innerNode.parentNode); 39673 } else if ('contains' in outerNode) { 39674 return outerNode.contains(innerNode); 39675 } else if (outerNode.compareDocumentPosition) { 39676 return !!(outerNode.compareDocumentPosition(innerNode) & 16); 39677 } else { 39678 return false; 39679 } 39680} 39681 39682function isInDocument(node) { 39683 return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node); 39684} 39685 39686function isSameOriginFrame(iframe) { 39687 try { 39688 // Accessing the contentDocument of a HTMLIframeElement can cause the browser 39689 // to throw, e.g. if it has a cross-origin src attribute. 39690 // Safari will show an error in the console when the access results in "Blocked a frame with origin". e.g: 39691 // iframe.contentDocument.defaultView; 39692 // A safety way is to access one of the cross origin properties: Window or Location 39693 // Which might result in "SecurityError" DOM Exception and it is compatible to Safari. 39694 // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl 39695 return typeof iframe.contentWindow.location.href === 'string'; 39696 } catch (err) { 39697 return false; 39698 } 39699} 39700 39701function getActiveElementDeep() { 39702 var win = window; 39703 var element = getActiveElement(); 39704 39705 while (element instanceof win.HTMLIFrameElement) { 39706 if (isSameOriginFrame(element)) { 39707 win = element.contentWindow; 39708 } else { 39709 return element; 39710 } 39711 39712 element = getActiveElement(win.document); 39713 } 39714 39715 return element; 39716} 39717/** 39718 * @ReactInputSelection: React input selection module. Based on Selection.js, 39719 * but modified to be suitable for react and has a couple of bug fixes (doesn't 39720 * assume buttons have range selections allowed). 39721 * Input selection module for React. 39722 */ 39723 39724/** 39725 * @hasSelectionCapabilities: we get the element types that support selection 39726 * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart` 39727 * and `selectionEnd` rows. 39728 */ 39729 39730 39731function hasSelectionCapabilities(elem) { 39732 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 39733 return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true'); 39734} 39735function getSelectionInformation() { 39736 var focusedElem = getActiveElementDeep(); 39737 return { 39738 // Used by Flare 39739 activeElementDetached: null, 39740 focusedElem: focusedElem, 39741 selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null 39742 }; 39743} 39744/** 39745 * @restoreSelection: If any selection information was potentially lost, 39746 * restore it. This is useful when performing operations that could remove dom 39747 * nodes and place them back in, resulting in focus being lost. 39748 */ 39749 39750function restoreSelection(priorSelectionInformation) { 39751 var curFocusedElem = getActiveElementDeep(); 39752 var priorFocusedElem = priorSelectionInformation.focusedElem; 39753 var priorSelectionRange = priorSelectionInformation.selectionRange; 39754 39755 if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) { 39756 if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) { 39757 setSelection(priorFocusedElem, priorSelectionRange); 39758 } // Focusing a node can change the scroll position, which is undesirable 39759 39760 39761 var ancestors = []; 39762 var ancestor = priorFocusedElem; 39763 39764 while (ancestor = ancestor.parentNode) { 39765 if (ancestor.nodeType === ELEMENT_NODE) { 39766 ancestors.push({ 39767 element: ancestor, 39768 left: ancestor.scrollLeft, 39769 top: ancestor.scrollTop 39770 }); 39771 } 39772 } 39773 39774 if (typeof priorFocusedElem.focus === 'function') { 39775 priorFocusedElem.focus(); 39776 } 39777 39778 for (var i = 0; i < ancestors.length; i++) { 39779 var info = ancestors[i]; 39780 info.element.scrollLeft = info.left; 39781 info.element.scrollTop = info.top; 39782 } 39783 } 39784} 39785/** 39786 * @getSelection: Gets the selection bounds of a focused textarea, input or 39787 * contentEditable node. 39788 * -@input: Look up selection bounds of this input 39789 * -@return {start: selectionStart, end: selectionEnd} 39790 */ 39791 39792function getSelection(input) { 39793 var selection; 39794 39795 if ('selectionStart' in input) { 39796 // Modern browser with input or textarea. 39797 selection = { 39798 start: input.selectionStart, 39799 end: input.selectionEnd 39800 }; 39801 } else { 39802 // Content editable or old IE textarea. 39803 selection = getOffsets(input); 39804 } 39805 39806 return selection || { 39807 start: 0, 39808 end: 0 39809 }; 39810} 39811/** 39812 * @setSelection: Sets the selection bounds of a textarea or input and focuses 39813 * the input. 39814 * -@input Set selection bounds of this input or textarea 39815 * -@offsets Object of same form that is returned from get* 39816 */ 39817 39818function setSelection(input, offsets) { 39819 var start = offsets.start, 39820 end = offsets.end; 39821 39822 if (end === undefined) { 39823 end = start; 39824 } 39825 39826 if ('selectionStart' in input) { 39827 input.selectionStart = start; 39828 input.selectionEnd = Math.min(end, input.value.length); 39829 } else { 39830 setOffsets(input, offsets); 39831 } 39832} 39833 39834var validateDOMNesting = function () {}; 39835 39836var updatedAncestorInfo = function () {}; 39837 39838{ 39839 // This validation code was written based on the HTML5 parsing spec: 39840 // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope 39841 // 39842 // Note: this does not catch all invalid nesting, nor does it try to (as it's 39843 // not clear what practical benefit doing so provides); instead, we warn only 39844 // for cases where the parser will give a parse tree differing from what React 39845 // intended. For example, <b><div></div></b> is invalid but we don't warn 39846 // because it still parses correctly; we do warn for other cases like nested 39847 // <p> tags where the beginning of the second element implicitly closes the 39848 // first, causing a confusing mess. 39849 // https://html.spec.whatwg.org/multipage/syntax.html#special 39850 var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope 39851 39852 var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point 39853 // TODO: Distinguish by namespace here -- for <title>, including it here 39854 // errs on the side of fewer warnings 39855 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope 39856 39857 var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags 39858 39859 var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt']; 39860 var emptyAncestorInfo = { 39861 current: null, 39862 formTag: null, 39863 aTagInScope: null, 39864 buttonTagInScope: null, 39865 nobrTagInScope: null, 39866 pTagInButtonScope: null, 39867 listItemTagAutoclosing: null, 39868 dlItemTagAutoclosing: null 39869 }; 39870 39871 updatedAncestorInfo = function (oldInfo, tag) { 39872 var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo); 39873 39874 var info = { 39875 tag: tag 39876 }; 39877 39878 if (inScopeTags.indexOf(tag) !== -1) { 39879 ancestorInfo.aTagInScope = null; 39880 ancestorInfo.buttonTagInScope = null; 39881 ancestorInfo.nobrTagInScope = null; 39882 } 39883 39884 if (buttonScopeTags.indexOf(tag) !== -1) { 39885 ancestorInfo.pTagInButtonScope = null; 39886 } // See rules for 'li', 'dd', 'dt' start tags in 39887 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody 39888 39889 39890 if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') { 39891 ancestorInfo.listItemTagAutoclosing = null; 39892 ancestorInfo.dlItemTagAutoclosing = null; 39893 } 39894 39895 ancestorInfo.current = info; 39896 39897 if (tag === 'form') { 39898 ancestorInfo.formTag = info; 39899 } 39900 39901 if (tag === 'a') { 39902 ancestorInfo.aTagInScope = info; 39903 } 39904 39905 if (tag === 'button') { 39906 ancestorInfo.buttonTagInScope = info; 39907 } 39908 39909 if (tag === 'nobr') { 39910 ancestorInfo.nobrTagInScope = info; 39911 } 39912 39913 if (tag === 'p') { 39914 ancestorInfo.pTagInButtonScope = info; 39915 } 39916 39917 if (tag === 'li') { 39918 ancestorInfo.listItemTagAutoclosing = info; 39919 } 39920 39921 if (tag === 'dd' || tag === 'dt') { 39922 ancestorInfo.dlItemTagAutoclosing = info; 39923 } 39924 39925 return ancestorInfo; 39926 }; 39927 /** 39928 * Returns whether 39929 */ 39930 39931 39932 var isTagValidWithParent = function (tag, parentTag) { 39933 // First, let's check if we're in an unusual parsing mode... 39934 switch (parentTag) { 39935 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect 39936 case 'select': 39937 return tag === 'option' || tag === 'optgroup' || tag === '#text'; 39938 39939 case 'optgroup': 39940 return tag === 'option' || tag === '#text'; 39941 // Strictly speaking, seeing an <option> doesn't mean we're in a <select> 39942 // but 39943 39944 case 'option': 39945 return tag === '#text'; 39946 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd 39947 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption 39948 // No special behavior since these rules fall back to "in body" mode for 39949 // all except special table nodes which cause bad parsing behavior anyway. 39950 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr 39951 39952 case 'tr': 39953 return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template'; 39954 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody 39955 39956 case 'tbody': 39957 case 'thead': 39958 case 'tfoot': 39959 return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template'; 39960 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup 39961 39962 case 'colgroup': 39963 return tag === 'col' || tag === 'template'; 39964 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable 39965 39966 case 'table': 39967 return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template'; 39968 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead 39969 39970 case 'head': 39971 return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template'; 39972 // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element 39973 39974 case 'html': 39975 return tag === 'head' || tag === 'body' || tag === 'frameset'; 39976 39977 case 'frameset': 39978 return tag === 'frame'; 39979 39980 case '#document': 39981 return tag === 'html'; 39982 } // Probably in the "in body" parsing mode, so we outlaw only tag combos 39983 // where the parsing rules cause implicit opens or closes to be added. 39984 // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody 39985 39986 39987 switch (tag) { 39988 case 'h1': 39989 case 'h2': 39990 case 'h3': 39991 case 'h4': 39992 case 'h5': 39993 case 'h6': 39994 return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6'; 39995 39996 case 'rp': 39997 case 'rt': 39998 return impliedEndTags.indexOf(parentTag) === -1; 39999 40000 case 'body': 40001 case 'caption': 40002 case 'col': 40003 case 'colgroup': 40004 case 'frameset': 40005 case 'frame': 40006 case 'head': 40007 case 'html': 40008 case 'tbody': 40009 case 'td': 40010 case 'tfoot': 40011 case 'th': 40012 case 'thead': 40013 case 'tr': 40014 // These tags are only valid with a few parents that have special child 40015 // parsing rules -- if we're down here, then none of those matched and 40016 // so we allow it only if we don't know what the parent is, as all other 40017 // cases are invalid. 40018 return parentTag == null; 40019 } 40020 40021 return true; 40022 }; 40023 /** 40024 * Returns whether 40025 */ 40026 40027 40028 var findInvalidAncestorForTag = function (tag, ancestorInfo) { 40029 switch (tag) { 40030 case 'address': 40031 case 'article': 40032 case 'aside': 40033 case 'blockquote': 40034 case 'center': 40035 case 'details': 40036 case 'dialog': 40037 case 'dir': 40038 case 'div': 40039 case 'dl': 40040 case 'fieldset': 40041 case 'figcaption': 40042 case 'figure': 40043 case 'footer': 40044 case 'header': 40045 case 'hgroup': 40046 case 'main': 40047 case 'menu': 40048 case 'nav': 40049 case 'ol': 40050 case 'p': 40051 case 'section': 40052 case 'summary': 40053 case 'ul': 40054 case 'pre': 40055 case 'listing': 40056 case 'table': 40057 case 'hr': 40058 case 'xmp': 40059 case 'h1': 40060 case 'h2': 40061 case 'h3': 40062 case 'h4': 40063 case 'h5': 40064 case 'h6': 40065 return ancestorInfo.pTagInButtonScope; 40066 40067 case 'form': 40068 return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; 40069 40070 case 'li': 40071 return ancestorInfo.listItemTagAutoclosing; 40072 40073 case 'dd': 40074 case 'dt': 40075 return ancestorInfo.dlItemTagAutoclosing; 40076 40077 case 'button': 40078 return ancestorInfo.buttonTagInScope; 40079 40080 case 'a': 40081 // Spec says something about storing a list of markers, but it sounds 40082 // equivalent to this check. 40083 return ancestorInfo.aTagInScope; 40084 40085 case 'nobr': 40086 return ancestorInfo.nobrTagInScope; 40087 } 40088 40089 return null; 40090 }; 40091 40092 var didWarn$1 = {}; 40093 40094 validateDOMNesting = function (childTag, childText, ancestorInfo) { 40095 ancestorInfo = ancestorInfo || emptyAncestorInfo; 40096 var parentInfo = ancestorInfo.current; 40097 var parentTag = parentInfo && parentInfo.tag; 40098 40099 if (childText != null) { 40100 if (childTag != null) { 40101 error('validateDOMNesting: when childText is passed, childTag should be null'); 40102 } 40103 40104 childTag = '#text'; 40105 } 40106 40107 var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo; 40108 var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo); 40109 var invalidParentOrAncestor = invalidParent || invalidAncestor; 40110 40111 if (!invalidParentOrAncestor) { 40112 return; 40113 } 40114 40115 var ancestorTag = invalidParentOrAncestor.tag; 40116 var addendum = getCurrentFiberStackInDev(); 40117 var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum; 40118 40119 if (didWarn$1[warnKey]) { 40120 return; 40121 } 40122 40123 didWarn$1[warnKey] = true; 40124 var tagDisplayName = childTag; 40125 var whitespaceInfo = ''; 40126 40127 if (childTag === '#text') { 40128 if (/\S/.test(childText)) { 40129 tagDisplayName = 'Text nodes'; 40130 } else { 40131 tagDisplayName = 'Whitespace text nodes'; 40132 whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.'; 40133 } 40134 } else { 40135 tagDisplayName = '<' + childTag + '>'; 40136 } 40137 40138 if (invalidParent) { 40139 var info = ''; 40140 40141 if (ancestorTag === 'table' && childTag === 'tr') { 40142 info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.'; 40143 } 40144 40145 error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info); 40146 } else { 40147 error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag); 40148 } 40149 }; 40150} 40151 40152var SUPPRESS_HYDRATION_WARNING$1; 40153 40154{ 40155 SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning'; 40156} 40157 40158var SUSPENSE_START_DATA = '$'; 40159var SUSPENSE_END_DATA = '/$'; 40160var SUSPENSE_PENDING_START_DATA = '$?'; 40161var SUSPENSE_FALLBACK_START_DATA = '$!'; 40162var STYLE$1 = 'style'; 40163var eventsEnabled = null; 40164var selectionInformation = null; 40165 40166function shouldAutoFocusHostComponent(type, props) { 40167 switch (type) { 40168 case 'button': 40169 case 'input': 40170 case 'select': 40171 case 'textarea': 40172 return !!props.autoFocus; 40173 } 40174 40175 return false; 40176} 40177function getRootHostContext(rootContainerInstance) { 40178 var type; 40179 var namespace; 40180 var nodeType = rootContainerInstance.nodeType; 40181 40182 switch (nodeType) { 40183 case DOCUMENT_NODE: 40184 case DOCUMENT_FRAGMENT_NODE: 40185 { 40186 type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment'; 40187 var root = rootContainerInstance.documentElement; 40188 namespace = root ? root.namespaceURI : getChildNamespace(null, ''); 40189 break; 40190 } 40191 40192 default: 40193 { 40194 var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance; 40195 var ownNamespace = container.namespaceURI || null; 40196 type = container.tagName; 40197 namespace = getChildNamespace(ownNamespace, type); 40198 break; 40199 } 40200 } 40201 40202 { 40203 var validatedTag = type.toLowerCase(); 40204 var ancestorInfo = updatedAncestorInfo(null, validatedTag); 40205 return { 40206 namespace: namespace, 40207 ancestorInfo: ancestorInfo 40208 }; 40209 } 40210} 40211function getChildHostContext(parentHostContext, type, rootContainerInstance) { 40212 { 40213 var parentHostContextDev = parentHostContext; 40214 var namespace = getChildNamespace(parentHostContextDev.namespace, type); 40215 var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type); 40216 return { 40217 namespace: namespace, 40218 ancestorInfo: ancestorInfo 40219 }; 40220 } 40221} 40222function getPublicInstance(instance) { 40223 return instance; 40224} 40225function prepareForCommit(containerInfo) { 40226 eventsEnabled = isEnabled(); 40227 selectionInformation = getSelectionInformation(); 40228 setEnabled(false); 40229} 40230function resetAfterCommit(containerInfo) { 40231 restoreSelection(selectionInformation); 40232 setEnabled(eventsEnabled); 40233 eventsEnabled = null; 40234 40235 selectionInformation = null; 40236} 40237function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) { 40238 var parentNamespace; 40239 40240 { 40241 // TODO: take namespace into account when validating. 40242 var hostContextDev = hostContext; 40243 validateDOMNesting(type, null, hostContextDev.ancestorInfo); 40244 40245 if (typeof props.children === 'string' || typeof props.children === 'number') { 40246 var string = '' + props.children; 40247 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 40248 validateDOMNesting(null, string, ownAncestorInfo); 40249 } 40250 40251 parentNamespace = hostContextDev.namespace; 40252 } 40253 40254 var domElement = createElement(type, props, rootContainerInstance, parentNamespace); 40255 precacheFiberNode(internalInstanceHandle, domElement); 40256 updateFiberProps(domElement, props); 40257 return domElement; 40258} 40259function appendInitialChild(parentInstance, child) { 40260 parentInstance.appendChild(child); 40261} 40262function finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) { 40263 setInitialProperties(domElement, type, props, rootContainerInstance); 40264 return shouldAutoFocusHostComponent(type, props); 40265} 40266function prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) { 40267 { 40268 var hostContextDev = hostContext; 40269 40270 if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) { 40271 var string = '' + newProps.children; 40272 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 40273 validateDOMNesting(null, string, ownAncestorInfo); 40274 } 40275 } 40276 40277 return diffProperties(domElement, type, oldProps, newProps, rootContainerInstance); 40278} 40279function shouldSetTextContent(type, props) { 40280 return type === 'textarea' || type === 'option' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null; 40281} 40282function shouldDeprioritizeSubtree(type, props) { 40283 return !!props.hidden; 40284} 40285function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { 40286 { 40287 var hostContextDev = hostContext; 40288 validateDOMNesting(null, text, hostContextDev.ancestorInfo); 40289 } 40290 40291 var textNode = createTextNode(text, rootContainerInstance); 40292 precacheFiberNode(internalInstanceHandle, textNode); 40293 return textNode; 40294} 40295// if a component just imports ReactDOM (e.g. for findDOMNode). 40296// Some environments might not have setTimeout or clearTimeout. 40297 40298var scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined; 40299var cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined; 40300var noTimeout = -1; // ------------------- 40301function commitMount(domElement, type, newProps, internalInstanceHandle) { 40302 // Despite the naming that might imply otherwise, this method only 40303 // fires if there is an `Update` effect scheduled during mounting. 40304 // This happens if `finalizeInitialChildren` returns `true` (which it 40305 // does to implement the `autoFocus` attribute on the client). But 40306 // there are also other cases when this might happen (such as patching 40307 // up text content during hydration mismatch). So we'll check this again. 40308 if (shouldAutoFocusHostComponent(type, newProps)) { 40309 domElement.focus(); 40310 } 40311} 40312function commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) { 40313 // Update the props handle so that we know which props are the ones with 40314 // with current event handlers. 40315 updateFiberProps(domElement, newProps); // Apply the diff to the DOM node. 40316 40317 updateProperties(domElement, updatePayload, type, oldProps, newProps); 40318} 40319function resetTextContent(domElement) { 40320 setTextContent(domElement, ''); 40321} 40322function commitTextUpdate(textInstance, oldText, newText) { 40323 textInstance.nodeValue = newText; 40324} 40325function appendChild(parentInstance, child) { 40326 parentInstance.appendChild(child); 40327} 40328function appendChildToContainer(container, child) { 40329 var parentNode; 40330 40331 if (container.nodeType === COMMENT_NODE) { 40332 parentNode = container.parentNode; 40333 parentNode.insertBefore(child, container); 40334 } else { 40335 parentNode = container; 40336 parentNode.appendChild(child); 40337 } // This container might be used for a portal. 40338 // If something inside a portal is clicked, that click should bubble 40339 // through the React tree. However, on Mobile Safari the click would 40340 // never bubble through the *DOM* tree unless an ancestor with onclick 40341 // event exists. So we wouldn't see it and dispatch it. 40342 // This is why we ensure that non React root containers have inline onclick 40343 // defined. 40344 // https://github.com/facebook/react/issues/11918 40345 40346 40347 var reactRootContainer = container._reactRootContainer; 40348 40349 if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) { 40350 // TODO: This cast may not be sound for SVG, MathML or custom elements. 40351 trapClickOnNonInteractiveElement(parentNode); 40352 } 40353} 40354function insertBefore(parentInstance, child, beforeChild) { 40355 parentInstance.insertBefore(child, beforeChild); 40356} 40357function insertInContainerBefore(container, child, beforeChild) { 40358 if (container.nodeType === COMMENT_NODE) { 40359 container.parentNode.insertBefore(child, beforeChild); 40360 } else { 40361 container.insertBefore(child, beforeChild); 40362 } 40363} 40364function removeChild(parentInstance, child) { 40365 parentInstance.removeChild(child); 40366} 40367function removeChildFromContainer(container, child) { 40368 if (container.nodeType === COMMENT_NODE) { 40369 container.parentNode.removeChild(child); 40370 } else { 40371 container.removeChild(child); 40372 } 40373} 40374 40375function hideInstance(instance) { 40376 // pass host context to this method? 40377 40378 40379 instance = instance; 40380 var style = instance.style; 40381 40382 if (typeof style.setProperty === 'function') { 40383 style.setProperty('display', 'none', 'important'); 40384 } else { 40385 style.display = 'none'; 40386 } 40387} 40388function hideTextInstance(textInstance) { 40389 textInstance.nodeValue = ''; 40390} 40391function unhideInstance(instance, props) { 40392 instance = instance; 40393 var styleProp = props[STYLE$1]; 40394 var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null; 40395 instance.style.display = dangerousStyleValue('display', display); 40396} 40397function unhideTextInstance(textInstance, text) { 40398 textInstance.nodeValue = text; 40399} // ------------------- 40400function canHydrateInstance(instance, type, props) { 40401 if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) { 40402 return null; 40403 } // This has now been refined to an element node. 40404 40405 40406 return instance; 40407} 40408function canHydrateTextInstance(instance, text) { 40409 if (text === '' || instance.nodeType !== TEXT_NODE) { 40410 // Empty strings are not parsed by HTML so there won't be a correct match here. 40411 return null; 40412 } // This has now been refined to a text node. 40413 40414 40415 return instance; 40416} 40417function isSuspenseInstancePending(instance) { 40418 return instance.data === SUSPENSE_PENDING_START_DATA; 40419} 40420function isSuspenseInstanceFallback(instance) { 40421 return instance.data === SUSPENSE_FALLBACK_START_DATA; 40422} 40423 40424function getNextHydratable(node) { 40425 // Skip non-hydratable nodes. 40426 for (; node != null; node = node.nextSibling) { 40427 var nodeType = node.nodeType; 40428 40429 if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) { 40430 break; 40431 } 40432 } 40433 40434 return node; 40435} 40436 40437function getNextHydratableSibling(instance) { 40438 return getNextHydratable(instance.nextSibling); 40439} 40440function getFirstHydratableChild(parentInstance) { 40441 return getNextHydratable(parentInstance.firstChild); 40442} 40443function hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle) { 40444 precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events 40445 // get attached. 40446 40447 updateFiberProps(instance, props); 40448 var parentNamespace; 40449 40450 { 40451 var hostContextDev = hostContext; 40452 parentNamespace = hostContextDev.namespace; 40453 } 40454 40455 return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance); 40456} 40457function hydrateTextInstance(textInstance, text, internalInstanceHandle) { 40458 precacheFiberNode(internalInstanceHandle, textInstance); 40459 return diffHydratedText(textInstance, text); 40460} 40461function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { 40462 var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary. 40463 // There might be nested nodes so we need to keep track of how 40464 // deep we are and only break out when we're back on top. 40465 40466 var depth = 0; 40467 40468 while (node) { 40469 if (node.nodeType === COMMENT_NODE) { 40470 var data = node.data; 40471 40472 if (data === SUSPENSE_END_DATA) { 40473 if (depth === 0) { 40474 return getNextHydratableSibling(node); 40475 } else { 40476 depth--; 40477 } 40478 } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { 40479 depth++; 40480 } 40481 } 40482 40483 node = node.nextSibling; 40484 } // TODO: Warn, we didn't find the end comment boundary. 40485 40486 40487 return null; 40488} // Returns the SuspenseInstance if this node is a direct child of a 40489// SuspenseInstance. I.e. if its previous sibling is a Comment with 40490// SUSPENSE_x_START_DATA. Otherwise, null. 40491 40492function getParentSuspenseInstance(targetInstance) { 40493 var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary. 40494 // There might be nested nodes so we need to keep track of how 40495 // deep we are and only break out when we're back on top. 40496 40497 var depth = 0; 40498 40499 while (node) { 40500 if (node.nodeType === COMMENT_NODE) { 40501 var data = node.data; 40502 40503 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { 40504 if (depth === 0) { 40505 return node; 40506 } else { 40507 depth--; 40508 } 40509 } else if (data === SUSPENSE_END_DATA) { 40510 depth++; 40511 } 40512 } 40513 40514 node = node.previousSibling; 40515 } 40516 40517 return null; 40518} 40519function commitHydratedContainer(container) { 40520 // Retry if any event replaying was blocked on this. 40521 retryIfBlockedOn(container); 40522} 40523function commitHydratedSuspenseInstance(suspenseInstance) { 40524 // Retry if any event replaying was blocked on this. 40525 retryIfBlockedOn(suspenseInstance); 40526} 40527function didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text) { 40528 { 40529 warnForUnmatchedText(textInstance, text); 40530 } 40531} 40532function didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text) { 40533 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 40534 warnForUnmatchedText(textInstance, text); 40535 } 40536} 40537function didNotHydrateContainerInstance(parentContainer, instance) { 40538 { 40539 if (instance.nodeType === ELEMENT_NODE) { 40540 warnForDeletedHydratableElement(parentContainer, instance); 40541 } else if (instance.nodeType === COMMENT_NODE) ; else { 40542 warnForDeletedHydratableText(parentContainer, instance); 40543 } 40544 } 40545} 40546function didNotHydrateInstance(parentType, parentProps, parentInstance, instance) { 40547 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 40548 if (instance.nodeType === ELEMENT_NODE) { 40549 warnForDeletedHydratableElement(parentInstance, instance); 40550 } else if (instance.nodeType === COMMENT_NODE) ; else { 40551 warnForDeletedHydratableText(parentInstance, instance); 40552 } 40553 } 40554} 40555function didNotFindHydratableContainerInstance(parentContainer, type, props) { 40556 { 40557 warnForInsertedHydratedElement(parentContainer, type); 40558 } 40559} 40560function didNotFindHydratableContainerTextInstance(parentContainer, text) { 40561 { 40562 warnForInsertedHydratedText(parentContainer, text); 40563 } 40564} 40565function didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props) { 40566 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 40567 warnForInsertedHydratedElement(parentInstance, type); 40568 } 40569} 40570function didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text) { 40571 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) { 40572 warnForInsertedHydratedText(parentInstance, text); 40573 } 40574} 40575function didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance) { 40576 if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) ; 40577} 40578 40579var randomKey = Math.random().toString(36).slice(2); 40580var internalInstanceKey = '__reactInternalInstance$' + randomKey; 40581var internalEventHandlersKey = '__reactEventHandlers$' + randomKey; 40582var internalContainerInstanceKey = '__reactContainere$' + randomKey; 40583function precacheFiberNode(hostInst, node) { 40584 node[internalInstanceKey] = hostInst; 40585} 40586function markContainerAsRoot(hostRoot, node) { 40587 node[internalContainerInstanceKey] = hostRoot; 40588} 40589function unmarkContainerAsRoot(node) { 40590 node[internalContainerInstanceKey] = null; 40591} 40592function isContainerMarkedAsRoot(node) { 40593 return !!node[internalContainerInstanceKey]; 40594} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor. 40595// If the target node is part of a hydrated or not yet rendered subtree, then 40596// this may also return a SuspenseComponent or HostRoot to indicate that. 40597// Conceptually the HostRoot fiber is a child of the Container node. So if you 40598// pass the Container node as the targetNode, you will not actually get the 40599// HostRoot back. To get to the HostRoot, you need to pass a child of it. 40600// The same thing applies to Suspense boundaries. 40601 40602function getClosestInstanceFromNode(targetNode) { 40603 var targetInst = targetNode[internalInstanceKey]; 40604 40605 if (targetInst) { 40606 // Don't return HostRoot or SuspenseComponent here. 40607 return targetInst; 40608 } // If the direct event target isn't a React owned DOM node, we need to look 40609 // to see if one of its parents is a React owned DOM node. 40610 40611 40612 var parentNode = targetNode.parentNode; 40613 40614 while (parentNode) { 40615 // We'll check if this is a container root that could include 40616 // React nodes in the future. We need to check this first because 40617 // if we're a child of a dehydrated container, we need to first 40618 // find that inner container before moving on to finding the parent 40619 // instance. Note that we don't check this field on the targetNode 40620 // itself because the fibers are conceptually between the container 40621 // node and the first child. It isn't surrounding the container node. 40622 // If it's not a container, we check if it's an instance. 40623 targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]; 40624 40625 if (targetInst) { 40626 // Since this wasn't the direct target of the event, we might have 40627 // stepped past dehydrated DOM nodes to get here. However they could 40628 // also have been non-React nodes. We need to answer which one. 40629 // If we the instance doesn't have any children, then there can't be 40630 // a nested suspense boundary within it. So we can use this as a fast 40631 // bailout. Most of the time, when people add non-React children to 40632 // the tree, it is using a ref to a child-less DOM node. 40633 // Normally we'd only need to check one of the fibers because if it 40634 // has ever gone from having children to deleting them or vice versa 40635 // it would have deleted the dehydrated boundary nested inside already. 40636 // However, since the HostRoot starts out with an alternate it might 40637 // have one on the alternate so we need to check in case this was a 40638 // root. 40639 var alternate = targetInst.alternate; 40640 40641 if (targetInst.child !== null || alternate !== null && alternate.child !== null) { 40642 // Next we need to figure out if the node that skipped past is 40643 // nested within a dehydrated boundary and if so, which one. 40644 var suspenseInstance = getParentSuspenseInstance(targetNode); 40645 40646 while (suspenseInstance !== null) { 40647 // We found a suspense instance. That means that we haven't 40648 // hydrated it yet. Even though we leave the comments in the 40649 // DOM after hydrating, and there are boundaries in the DOM 40650 // that could already be hydrated, we wouldn't have found them 40651 // through this pass since if the target is hydrated it would 40652 // have had an internalInstanceKey on it. 40653 // Let's get the fiber associated with the SuspenseComponent 40654 // as the deepest instance. 40655 var targetSuspenseInst = suspenseInstance[internalInstanceKey]; 40656 40657 if (targetSuspenseInst) { 40658 return targetSuspenseInst; 40659 } // If we don't find a Fiber on the comment, it might be because 40660 // we haven't gotten to hydrate it yet. There might still be a 40661 // parent boundary that hasn't above this one so we need to find 40662 // the outer most that is known. 40663 40664 40665 suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent 40666 // host component also hasn't hydrated yet. We can return it 40667 // below since it will bail out on the isMounted check later. 40668 } 40669 } 40670 40671 return targetInst; 40672 } 40673 40674 targetNode = parentNode; 40675 parentNode = targetNode.parentNode; 40676 } 40677 40678 return null; 40679} 40680/** 40681 * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent 40682 * instance, or null if the node was not rendered by this React. 40683 */ 40684 40685function getInstanceFromNode$1(node) { 40686 var inst = node[internalInstanceKey] || node[internalContainerInstanceKey]; 40687 40688 if (inst) { 40689 if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) { 40690 return inst; 40691 } else { 40692 return null; 40693 } 40694 } 40695 40696 return null; 40697} 40698/** 40699 * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding 40700 * DOM node. 40701 */ 40702 40703function getNodeFromInstance$1(inst) { 40704 if (inst.tag === HostComponent || inst.tag === HostText) { 40705 // In Fiber this, is just the state node right now. We assume it will be 40706 // a host component or host text. 40707 return inst.stateNode; 40708 } // Without this first invariant, passing a non-DOM-component triggers the next 40709 // invariant for a missing parent, which is super confusing. 40710 40711 40712 { 40713 { 40714 throw Error( "getNodeFromInstance: Invalid argument." ); 40715 } 40716 } 40717} 40718function getFiberCurrentPropsFromNode$1(node) { 40719 return node[internalEventHandlersKey] || null; 40720} 40721function updateFiberProps(node, props) { 40722 node[internalEventHandlersKey] = props; 40723} 40724 40725function getParent(inst) { 40726 do { 40727 inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. 40728 // That is depending on if we want nested subtrees (layers) to bubble 40729 // events to their parent. We could also go through parentNode on the 40730 // host node but that wouldn't work for React Native and doesn't let us 40731 // do the portal feature. 40732 } while (inst && inst.tag !== HostComponent); 40733 40734 if (inst) { 40735 return inst; 40736 } 40737 40738 return null; 40739} 40740/** 40741 * Return the lowest common ancestor of A and B, or null if they are in 40742 * different trees. 40743 */ 40744 40745 40746function getLowestCommonAncestor(instA, instB) { 40747 var depthA = 0; 40748 40749 for (var tempA = instA; tempA; tempA = getParent(tempA)) { 40750 depthA++; 40751 } 40752 40753 var depthB = 0; 40754 40755 for (var tempB = instB; tempB; tempB = getParent(tempB)) { 40756 depthB++; 40757 } // If A is deeper, crawl up. 40758 40759 40760 while (depthA - depthB > 0) { 40761 instA = getParent(instA); 40762 depthA--; 40763 } // If B is deeper, crawl up. 40764 40765 40766 while (depthB - depthA > 0) { 40767 instB = getParent(instB); 40768 depthB--; 40769 } // Walk in lockstep until we find a match. 40770 40771 40772 var depth = depthA; 40773 40774 while (depth--) { 40775 if (instA === instB || instA === instB.alternate) { 40776 return instA; 40777 } 40778 40779 instA = getParent(instA); 40780 instB = getParent(instB); 40781 } 40782 40783 return null; 40784} 40785/** 40786 * Simulates the traversal of a two-phase, capture/bubble event dispatch. 40787 */ 40788 40789function traverseTwoPhase(inst, fn, arg) { 40790 var path = []; 40791 40792 while (inst) { 40793 path.push(inst); 40794 inst = getParent(inst); 40795 } 40796 40797 var i; 40798 40799 for (i = path.length; i-- > 0;) { 40800 fn(path[i], 'captured', arg); 40801 } 40802 40803 for (i = 0; i < path.length; i++) { 40804 fn(path[i], 'bubbled', arg); 40805 } 40806} 40807/** 40808 * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that 40809 * should would receive a `mouseEnter` or `mouseLeave` event. 40810 * 40811 * Does not invoke the callback on the nearest common ancestor because nothing 40812 * "entered" or "left" that element. 40813 */ 40814 40815function traverseEnterLeave(from, to, fn, argFrom, argTo) { 40816 var common = from && to ? getLowestCommonAncestor(from, to) : null; 40817 var pathFrom = []; 40818 40819 while (true) { 40820 if (!from) { 40821 break; 40822 } 40823 40824 if (from === common) { 40825 break; 40826 } 40827 40828 var alternate = from.alternate; 40829 40830 if (alternate !== null && alternate === common) { 40831 break; 40832 } 40833 40834 pathFrom.push(from); 40835 from = getParent(from); 40836 } 40837 40838 var pathTo = []; 40839 40840 while (true) { 40841 if (!to) { 40842 break; 40843 } 40844 40845 if (to === common) { 40846 break; 40847 } 40848 40849 var _alternate = to.alternate; 40850 40851 if (_alternate !== null && _alternate === common) { 40852 break; 40853 } 40854 40855 pathTo.push(to); 40856 to = getParent(to); 40857 } 40858 40859 for (var i = 0; i < pathFrom.length; i++) { 40860 fn(pathFrom[i], 'bubbled', argFrom); 40861 } 40862 40863 for (var _i = pathTo.length; _i-- > 0;) { 40864 fn(pathTo[_i], 'captured', argTo); 40865 } 40866} 40867 40868function isInteractive(tag) { 40869 return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'; 40870} 40871 40872function shouldPreventMouseEvent(name, type, props) { 40873 switch (name) { 40874 case 'onClick': 40875 case 'onClickCapture': 40876 case 'onDoubleClick': 40877 case 'onDoubleClickCapture': 40878 case 'onMouseDown': 40879 case 'onMouseDownCapture': 40880 case 'onMouseMove': 40881 case 'onMouseMoveCapture': 40882 case 'onMouseUp': 40883 case 'onMouseUpCapture': 40884 case 'onMouseEnter': 40885 return !!(props.disabled && isInteractive(type)); 40886 40887 default: 40888 return false; 40889 } 40890} 40891/** 40892 * @param {object} inst The instance, which is the source of events. 40893 * @param {string} registrationName Name of listener (e.g. `onClick`). 40894 * @return {?function} The stored callback. 40895 */ 40896 40897 40898function getListener(inst, registrationName) { 40899 var listener; // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not 40900 // live here; needs to be moved to a better place soon 40901 40902 var stateNode = inst.stateNode; 40903 40904 if (!stateNode) { 40905 // Work in progress (ex: onload events in incremental mode). 40906 return null; 40907 } 40908 40909 var props = getFiberCurrentPropsFromNode(stateNode); 40910 40911 if (!props) { 40912 // Work in progress. 40913 return null; 40914 } 40915 40916 listener = props[registrationName]; 40917 40918 if (shouldPreventMouseEvent(registrationName, inst.type, props)) { 40919 return null; 40920 } 40921 40922 if (!(!listener || typeof listener === 'function')) { 40923 { 40924 throw Error( "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type." ); 40925 } 40926 } 40927 40928 return listener; 40929} 40930 40931/** 40932 * Some event types have a notion of different registration names for different 40933 * "phases" of propagation. This finds listeners by a given phase. 40934 */ 40935function listenerAtPhase(inst, event, propagationPhase) { 40936 var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; 40937 return getListener(inst, registrationName); 40938} 40939/** 40940 * A small set of propagation patterns, each of which will accept a small amount 40941 * of information, and generate a set of "dispatch ready event objects" - which 40942 * are sets of events that have already been annotated with a set of dispatched 40943 * listener functions/ids. The API is designed this way to discourage these 40944 * propagation strategies from actually executing the dispatches, since we 40945 * always want to collect the entire set of dispatches before executing even a 40946 * single one. 40947 */ 40948 40949/** 40950 * Tags a `SyntheticEvent` with dispatched listeners. Creating this function 40951 * here, allows us to not have to bind or create functions for each event. 40952 * Mutating the event's members allows us to not have to create a wrapping 40953 * "dispatch" object that pairs the event with the listener. 40954 */ 40955 40956 40957function accumulateDirectionalDispatches(inst, phase, event) { 40958 { 40959 if (!inst) { 40960 error('Dispatching inst must not be null'); 40961 } 40962 } 40963 40964 var listener = listenerAtPhase(inst, event, phase); 40965 40966 if (listener) { 40967 event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); 40968 event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); 40969 } 40970} 40971/** 40972 * Collect dispatches (must be entirely collected before dispatching - see unit 40973 * tests). Lazily allocate the array to conserve memory. We must loop through 40974 * each event and perform the traversal for each one. We cannot perform a 40975 * single traversal for the entire collection of events because each event may 40976 * have a different target. 40977 */ 40978 40979 40980function accumulateTwoPhaseDispatchesSingle(event) { 40981 if (event && event.dispatchConfig.phasedRegistrationNames) { 40982 traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); 40983 } 40984} 40985/** 40986 * Accumulates without regard to direction, does not look for phased 40987 * registration names. Same as `accumulateDirectDispatchesSingle` but without 40988 * requiring that the `dispatchMarker` be the same as the dispatched ID. 40989 */ 40990 40991 40992function accumulateDispatches(inst, ignoredDirection, event) { 40993 if (inst && event && event.dispatchConfig.registrationName) { 40994 var registrationName = event.dispatchConfig.registrationName; 40995 var listener = getListener(inst, registrationName); 40996 40997 if (listener) { 40998 event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); 40999 event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); 41000 } 41001 } 41002} 41003/** 41004 * Accumulates dispatches on an `SyntheticEvent`, but only for the 41005 * `dispatchMarker`. 41006 * @param {SyntheticEvent} event 41007 */ 41008 41009 41010function accumulateDirectDispatchesSingle(event) { 41011 if (event && event.dispatchConfig.registrationName) { 41012 accumulateDispatches(event._targetInst, null, event); 41013 } 41014} 41015 41016function accumulateTwoPhaseDispatches(events) { 41017 forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); 41018} 41019function accumulateEnterLeaveDispatches(leave, enter, from, to) { 41020 traverseEnterLeave(from, to, accumulateDispatches, leave, enter); 41021} 41022function accumulateDirectDispatches(events) { 41023 forEachAccumulated(events, accumulateDirectDispatchesSingle); 41024} 41025 41026/** 41027 * These variables store information about text content of a target node, 41028 * allowing comparison of content before and after a given event. 41029 * 41030 * Identify the node where selection currently begins, then observe 41031 * both its text content and its current position in the DOM. Since the 41032 * browser may natively replace the target node during composition, we can 41033 * use its position to find its replacement. 41034 * 41035 * 41036 */ 41037var root = null; 41038var startText = null; 41039var fallbackText = null; 41040function initialize(nativeEventTarget) { 41041 root = nativeEventTarget; 41042 startText = getText(); 41043 return true; 41044} 41045function reset() { 41046 root = null; 41047 startText = null; 41048 fallbackText = null; 41049} 41050function getData() { 41051 if (fallbackText) { 41052 return fallbackText; 41053 } 41054 41055 var start; 41056 var startValue = startText; 41057 var startLength = startValue.length; 41058 var end; 41059 var endValue = getText(); 41060 var endLength = endValue.length; 41061 41062 for (start = 0; start < startLength; start++) { 41063 if (startValue[start] !== endValue[start]) { 41064 break; 41065 } 41066 } 41067 41068 var minEnd = startLength - start; 41069 41070 for (end = 1; end <= minEnd; end++) { 41071 if (startValue[startLength - end] !== endValue[endLength - end]) { 41072 break; 41073 } 41074 } 41075 41076 var sliceTail = end > 1 ? 1 - end : undefined; 41077 fallbackText = endValue.slice(start, sliceTail); 41078 return fallbackText; 41079} 41080function getText() { 41081 if ('value' in root) { 41082 return root.value; 41083 } 41084 41085 return root.textContent; 41086} 41087 41088var EVENT_POOL_SIZE = 10; 41089/** 41090 * @interface Event 41091 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 41092 */ 41093 41094var EventInterface = { 41095 type: null, 41096 target: null, 41097 // currentTarget is set when dispatching; no use in copying it here 41098 currentTarget: function () { 41099 return null; 41100 }, 41101 eventPhase: null, 41102 bubbles: null, 41103 cancelable: null, 41104 timeStamp: function (event) { 41105 return event.timeStamp || Date.now(); 41106 }, 41107 defaultPrevented: null, 41108 isTrusted: null 41109}; 41110 41111function functionThatReturnsTrue() { 41112 return true; 41113} 41114 41115function functionThatReturnsFalse() { 41116 return false; 41117} 41118/** 41119 * Synthetic events are dispatched by event plugins, typically in response to a 41120 * top-level event delegation handler. 41121 * 41122 * These systems should generally use pooling to reduce the frequency of garbage 41123 * collection. The system should check `isPersistent` to determine whether the 41124 * event should be released into the pool after being dispatched. Users that 41125 * need a persisted event should invoke `persist`. 41126 * 41127 * Synthetic events (and subclasses) implement the DOM Level 3 Events API by 41128 * normalizing browser quirks. Subclasses do not necessarily have to implement a 41129 * DOM interface; custom application-specific events can also subclass this. 41130 * 41131 * @param {object} dispatchConfig Configuration used to dispatch this event. 41132 * @param {*} targetInst Marker identifying the event target. 41133 * @param {object} nativeEvent Native browser event. 41134 * @param {DOMEventTarget} nativeEventTarget Target node. 41135 */ 41136 41137 41138function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { 41139 { 41140 // these have a getter/setter for warnings 41141 delete this.nativeEvent; 41142 delete this.preventDefault; 41143 delete this.stopPropagation; 41144 delete this.isDefaultPrevented; 41145 delete this.isPropagationStopped; 41146 } 41147 41148 this.dispatchConfig = dispatchConfig; 41149 this._targetInst = targetInst; 41150 this.nativeEvent = nativeEvent; 41151 var Interface = this.constructor.Interface; 41152 41153 for (var propName in Interface) { 41154 if (!Interface.hasOwnProperty(propName)) { 41155 continue; 41156 } 41157 41158 { 41159 delete this[propName]; // this has a getter/setter for warnings 41160 } 41161 41162 var normalize = Interface[propName]; 41163 41164 if (normalize) { 41165 this[propName] = normalize(nativeEvent); 41166 } else { 41167 if (propName === 'target') { 41168 this.target = nativeEventTarget; 41169 } else { 41170 this[propName] = nativeEvent[propName]; 41171 } 41172 } 41173 } 41174 41175 var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; 41176 41177 if (defaultPrevented) { 41178 this.isDefaultPrevented = functionThatReturnsTrue; 41179 } else { 41180 this.isDefaultPrevented = functionThatReturnsFalse; 41181 } 41182 41183 this.isPropagationStopped = functionThatReturnsFalse; 41184 return this; 41185} 41186 41187_assign(SyntheticEvent.prototype, { 41188 preventDefault: function () { 41189 this.defaultPrevented = true; 41190 var event = this.nativeEvent; 41191 41192 if (!event) { 41193 return; 41194 } 41195 41196 if (event.preventDefault) { 41197 event.preventDefault(); 41198 } else if (typeof event.returnValue !== 'unknown') { 41199 event.returnValue = false; 41200 } 41201 41202 this.isDefaultPrevented = functionThatReturnsTrue; 41203 }, 41204 stopPropagation: function () { 41205 var event = this.nativeEvent; 41206 41207 if (!event) { 41208 return; 41209 } 41210 41211 if (event.stopPropagation) { 41212 event.stopPropagation(); 41213 } else if (typeof event.cancelBubble !== 'unknown') { 41214 // The ChangeEventPlugin registers a "propertychange" event for 41215 // IE. This event does not support bubbling or cancelling, and 41216 // any references to cancelBubble throw "Member not found". A 41217 // typeof check of "unknown" circumvents this issue (and is also 41218 // IE specific). 41219 event.cancelBubble = true; 41220 } 41221 41222 this.isPropagationStopped = functionThatReturnsTrue; 41223 }, 41224 41225 /** 41226 * We release all dispatched `SyntheticEvent`s after each event loop, adding 41227 * them back into the pool. This allows a way to hold onto a reference that 41228 * won't be added back into the pool. 41229 */ 41230 persist: function () { 41231 this.isPersistent = functionThatReturnsTrue; 41232 }, 41233 41234 /** 41235 * Checks if this event should be released back into the pool. 41236 * 41237 * @return {boolean} True if this should not be released, false otherwise. 41238 */ 41239 isPersistent: functionThatReturnsFalse, 41240 41241 /** 41242 * `PooledClass` looks for `destructor` on each instance it releases. 41243 */ 41244 destructor: function () { 41245 var Interface = this.constructor.Interface; 41246 41247 for (var propName in Interface) { 41248 { 41249 Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); 41250 } 41251 } 41252 41253 this.dispatchConfig = null; 41254 this._targetInst = null; 41255 this.nativeEvent = null; 41256 this.isDefaultPrevented = functionThatReturnsFalse; 41257 this.isPropagationStopped = functionThatReturnsFalse; 41258 this._dispatchListeners = null; 41259 this._dispatchInstances = null; 41260 41261 { 41262 Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); 41263 Object.defineProperty(this, 'isDefaultPrevented', getPooledWarningPropertyDefinition('isDefaultPrevented', functionThatReturnsFalse)); 41264 Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse)); 41265 Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {})); 41266 Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', function () {})); 41267 } 41268 } 41269}); 41270 41271SyntheticEvent.Interface = EventInterface; 41272/** 41273 * Helper to reduce boilerplate when creating subclasses. 41274 */ 41275 41276SyntheticEvent.extend = function (Interface) { 41277 var Super = this; 41278 41279 var E = function () {}; 41280 41281 E.prototype = Super.prototype; 41282 var prototype = new E(); 41283 41284 function Class() { 41285 return Super.apply(this, arguments); 41286 } 41287 41288 _assign(prototype, Class.prototype); 41289 41290 Class.prototype = prototype; 41291 Class.prototype.constructor = Class; 41292 Class.Interface = _assign({}, Super.Interface, Interface); 41293 Class.extend = Super.extend; 41294 addEventPoolingTo(Class); 41295 return Class; 41296}; 41297 41298addEventPoolingTo(SyntheticEvent); 41299/** 41300 * Helper to nullify syntheticEvent instance properties when destructing 41301 * 41302 * @param {String} propName 41303 * @param {?object} getVal 41304 * @return {object} defineProperty object 41305 */ 41306 41307function getPooledWarningPropertyDefinition(propName, getVal) { 41308 var isFunction = typeof getVal === 'function'; 41309 return { 41310 configurable: true, 41311 set: set, 41312 get: get 41313 }; 41314 41315 function set(val) { 41316 var action = isFunction ? 'setting the method' : 'setting the property'; 41317 warn(action, 'This is effectively a no-op'); 41318 return val; 41319 } 41320 41321 function get() { 41322 var action = isFunction ? 'accessing the method' : 'accessing the property'; 41323 var result = isFunction ? 'This is a no-op function' : 'This is set to null'; 41324 warn(action, result); 41325 return getVal; 41326 } 41327 41328 function warn(action, result) { 41329 { 41330 error("This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result); 41331 } 41332 } 41333} 41334 41335function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { 41336 var EventConstructor = this; 41337 41338 if (EventConstructor.eventPool.length) { 41339 var instance = EventConstructor.eventPool.pop(); 41340 EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); 41341 return instance; 41342 } 41343 41344 return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst); 41345} 41346 41347function releasePooledEvent(event) { 41348 var EventConstructor = this; 41349 41350 if (!(event instanceof EventConstructor)) { 41351 { 41352 throw Error( "Trying to release an event instance into a pool of a different type." ); 41353 } 41354 } 41355 41356 event.destructor(); 41357 41358 if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) { 41359 EventConstructor.eventPool.push(event); 41360 } 41361} 41362 41363function addEventPoolingTo(EventConstructor) { 41364 EventConstructor.eventPool = []; 41365 EventConstructor.getPooled = getPooledEvent; 41366 EventConstructor.release = releasePooledEvent; 41367} 41368 41369/** 41370 * @interface Event 41371 * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents 41372 */ 41373 41374var SyntheticCompositionEvent = SyntheticEvent.extend({ 41375 data: null 41376}); 41377 41378/** 41379 * @interface Event 41380 * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 41381 * /#events-inputevents 41382 */ 41383 41384var SyntheticInputEvent = SyntheticEvent.extend({ 41385 data: null 41386}); 41387 41388var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space 41389 41390var START_KEYCODE = 229; 41391var canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window; 41392var documentMode = null; 41393 41394if (canUseDOM && 'documentMode' in document) { 41395 documentMode = document.documentMode; 41396} // Webkit offers a very useful `textInput` event that can be used to 41397// directly represent `beforeInput`. The IE `textinput` event is not as 41398// useful, so we don't use it. 41399 41400 41401var canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied 41402// by the native compositionend event may be incorrect. Japanese ideographic 41403// spaces, for instance (\u3000) are not recorded correctly. 41404 41405var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); 41406var SPACEBAR_CODE = 32; 41407var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names. 41408 41409var eventTypes = { 41410 beforeInput: { 41411 phasedRegistrationNames: { 41412 bubbled: 'onBeforeInput', 41413 captured: 'onBeforeInputCapture' 41414 }, 41415 dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE] 41416 }, 41417 compositionEnd: { 41418 phasedRegistrationNames: { 41419 bubbled: 'onCompositionEnd', 41420 captured: 'onCompositionEndCapture' 41421 }, 41422 dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 41423 }, 41424 compositionStart: { 41425 phasedRegistrationNames: { 41426 bubbled: 'onCompositionStart', 41427 captured: 'onCompositionStartCapture' 41428 }, 41429 dependencies: [TOP_BLUR, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 41430 }, 41431 compositionUpdate: { 41432 phasedRegistrationNames: { 41433 bubbled: 'onCompositionUpdate', 41434 captured: 'onCompositionUpdateCapture' 41435 }, 41436 dependencies: [TOP_BLUR, TOP_COMPOSITION_UPDATE, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN] 41437 } 41438}; // Track whether we've ever handled a keypress on the space key. 41439 41440var hasSpaceKeypress = false; 41441/** 41442 * Return whether a native keypress event is assumed to be a command. 41443 * This is required because Firefox fires `keypress` events for key commands 41444 * (cut, copy, select-all, etc.) even though no character is inserted. 41445 */ 41446 41447function isKeypressCommand(nativeEvent) { 41448 return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. 41449 !(nativeEvent.ctrlKey && nativeEvent.altKey); 41450} 41451/** 41452 * Translate native top level events into event types. 41453 * 41454 * @param {string} topLevelType 41455 * @return {object} 41456 */ 41457 41458 41459function getCompositionEventType(topLevelType) { 41460 switch (topLevelType) { 41461 case TOP_COMPOSITION_START: 41462 return eventTypes.compositionStart; 41463 41464 case TOP_COMPOSITION_END: 41465 return eventTypes.compositionEnd; 41466 41467 case TOP_COMPOSITION_UPDATE: 41468 return eventTypes.compositionUpdate; 41469 } 41470} 41471/** 41472 * Does our fallback best-guess model think this event signifies that 41473 * composition has begun? 41474 * 41475 * @param {string} topLevelType 41476 * @param {object} nativeEvent 41477 * @return {boolean} 41478 */ 41479 41480 41481function isFallbackCompositionStart(topLevelType, nativeEvent) { 41482 return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE; 41483} 41484/** 41485 * Does our fallback mode think that this event is the end of composition? 41486 * 41487 * @param {string} topLevelType 41488 * @param {object} nativeEvent 41489 * @return {boolean} 41490 */ 41491 41492 41493function isFallbackCompositionEnd(topLevelType, nativeEvent) { 41494 switch (topLevelType) { 41495 case TOP_KEY_UP: 41496 // Command keys insert or clear IME input. 41497 return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; 41498 41499 case TOP_KEY_DOWN: 41500 // Expect IME keyCode on each keydown. If we get any other 41501 // code we must have exited earlier. 41502 return nativeEvent.keyCode !== START_KEYCODE; 41503 41504 case TOP_KEY_PRESS: 41505 case TOP_MOUSE_DOWN: 41506 case TOP_BLUR: 41507 // Events are not possible without cancelling IME. 41508 return true; 41509 41510 default: 41511 return false; 41512 } 41513} 41514/** 41515 * Google Input Tools provides composition data via a CustomEvent, 41516 * with the `data` property populated in the `detail` object. If this 41517 * is available on the event object, use it. If not, this is a plain 41518 * composition event and we have nothing special to extract. 41519 * 41520 * @param {object} nativeEvent 41521 * @return {?string} 41522 */ 41523 41524 41525function getDataFromCustomEvent(nativeEvent) { 41526 var detail = nativeEvent.detail; 41527 41528 if (typeof detail === 'object' && 'data' in detail) { 41529 return detail.data; 41530 } 41531 41532 return null; 41533} 41534/** 41535 * Check if a composition event was triggered by Korean IME. 41536 * Our fallback mode does not work well with IE's Korean IME, 41537 * so just use native composition events when Korean IME is used. 41538 * Although CompositionEvent.locale property is deprecated, 41539 * it is available in IE, where our fallback mode is enabled. 41540 * 41541 * @param {object} nativeEvent 41542 * @return {boolean} 41543 */ 41544 41545 41546function isUsingKoreanIME(nativeEvent) { 41547 return nativeEvent.locale === 'ko'; 41548} // Track the current IME composition status, if any. 41549 41550 41551var isComposing = false; 41552/** 41553 * @return {?object} A SyntheticCompositionEvent. 41554 */ 41555 41556function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { 41557 var eventType; 41558 var fallbackData; 41559 41560 if (canUseCompositionEvent) { 41561 eventType = getCompositionEventType(topLevelType); 41562 } else if (!isComposing) { 41563 if (isFallbackCompositionStart(topLevelType, nativeEvent)) { 41564 eventType = eventTypes.compositionStart; 41565 } 41566 } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { 41567 eventType = eventTypes.compositionEnd; 41568 } 41569 41570 if (!eventType) { 41571 return null; 41572 } 41573 41574 if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) { 41575 // The current composition is stored statically and must not be 41576 // overwritten while composition continues. 41577 if (!isComposing && eventType === eventTypes.compositionStart) { 41578 isComposing = initialize(nativeEventTarget); 41579 } else if (eventType === eventTypes.compositionEnd) { 41580 if (isComposing) { 41581 fallbackData = getData(); 41582 } 41583 } 41584 } 41585 41586 var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); 41587 41588 if (fallbackData) { 41589 // Inject data generated from fallback path into the synthetic event. 41590 // This matches the property of native CompositionEventInterface. 41591 event.data = fallbackData; 41592 } else { 41593 var customData = getDataFromCustomEvent(nativeEvent); 41594 41595 if (customData !== null) { 41596 event.data = customData; 41597 } 41598 } 41599 41600 accumulateTwoPhaseDispatches(event); 41601 return event; 41602} 41603/** 41604 * @param {TopLevelType} topLevelType Number from `TopLevelType`. 41605 * @param {object} nativeEvent Native browser event. 41606 * @return {?string} The string corresponding to this `beforeInput` event. 41607 */ 41608 41609 41610function getNativeBeforeInputChars(topLevelType, nativeEvent) { 41611 switch (topLevelType) { 41612 case TOP_COMPOSITION_END: 41613 return getDataFromCustomEvent(nativeEvent); 41614 41615 case TOP_KEY_PRESS: 41616 /** 41617 * If native `textInput` events are available, our goal is to make 41618 * use of them. However, there is a special case: the spacebar key. 41619 * In Webkit, preventing default on a spacebar `textInput` event 41620 * cancels character insertion, but it *also* causes the browser 41621 * to fall back to its default spacebar behavior of scrolling the 41622 * page. 41623 * 41624 * Tracking at: 41625 * https://code.google.com/p/chromium/issues/detail?id=355103 41626 * 41627 * To avoid this issue, use the keypress event as if no `textInput` 41628 * event is available. 41629 */ 41630 var which = nativeEvent.which; 41631 41632 if (which !== SPACEBAR_CODE) { 41633 return null; 41634 } 41635 41636 hasSpaceKeypress = true; 41637 return SPACEBAR_CHAR; 41638 41639 case TOP_TEXT_INPUT: 41640 // Record the characters to be added to the DOM. 41641 var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled 41642 // it at the keypress level and bail immediately. Android Chrome 41643 // doesn't give us keycodes, so we need to ignore it. 41644 41645 if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { 41646 return null; 41647 } 41648 41649 return chars; 41650 41651 default: 41652 // For other native event types, do nothing. 41653 return null; 41654 } 41655} 41656/** 41657 * For browsers that do not provide the `textInput` event, extract the 41658 * appropriate string to use for SyntheticInputEvent. 41659 * 41660 * @param {number} topLevelType Number from `TopLevelEventTypes`. 41661 * @param {object} nativeEvent Native browser event. 41662 * @return {?string} The fallback string for this `beforeInput` event. 41663 */ 41664 41665 41666function getFallbackBeforeInputChars(topLevelType, nativeEvent) { 41667 // If we are currently composing (IME) and using a fallback to do so, 41668 // try to extract the composed characters from the fallback object. 41669 // If composition event is available, we extract a string only at 41670 // compositionevent, otherwise extract it at fallback events. 41671 if (isComposing) { 41672 if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) { 41673 var chars = getData(); 41674 reset(); 41675 isComposing = false; 41676 return chars; 41677 } 41678 41679 return null; 41680 } 41681 41682 switch (topLevelType) { 41683 case TOP_PASTE: 41684 // If a paste event occurs after a keypress, throw out the input 41685 // chars. Paste events should not lead to BeforeInput events. 41686 return null; 41687 41688 case TOP_KEY_PRESS: 41689 /** 41690 * As of v27, Firefox may fire keypress events even when no character 41691 * will be inserted. A few possibilities: 41692 * 41693 * - `which` is `0`. Arrow keys, Esc key, etc. 41694 * 41695 * - `which` is the pressed key code, but no char is available. 41696 * Ex: 'AltGr + d` in Polish. There is no modified character for 41697 * this key combination and no character is inserted into the 41698 * document, but FF fires the keypress for char code `100` anyway. 41699 * No `input` event will occur. 41700 * 41701 * - `which` is the pressed key code, but a command combination is 41702 * being used. Ex: `Cmd+C`. No character is inserted, and no 41703 * `input` event will occur. 41704 */ 41705 if (!isKeypressCommand(nativeEvent)) { 41706 // IE fires the `keypress` event when a user types an emoji via 41707 // Touch keyboard of Windows. In such a case, the `char` property 41708 // holds an emoji character like `\uD83D\uDE0A`. Because its length 41709 // is 2, the property `which` does not represent an emoji correctly. 41710 // In such a case, we directly return the `char` property instead of 41711 // using `which`. 41712 if (nativeEvent.char && nativeEvent.char.length > 1) { 41713 return nativeEvent.char; 41714 } else if (nativeEvent.which) { 41715 return String.fromCharCode(nativeEvent.which); 41716 } 41717 } 41718 41719 return null; 41720 41721 case TOP_COMPOSITION_END: 41722 return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data; 41723 41724 default: 41725 return null; 41726 } 41727} 41728/** 41729 * Extract a SyntheticInputEvent for `beforeInput`, based on either native 41730 * `textInput` or fallback behavior. 41731 * 41732 * @return {?object} A SyntheticInputEvent. 41733 */ 41734 41735 41736function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { 41737 var chars; 41738 41739 if (canUseTextInputEvent) { 41740 chars = getNativeBeforeInputChars(topLevelType, nativeEvent); 41741 } else { 41742 chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); 41743 } // If no characters are being inserted, no BeforeInput event should 41744 // be fired. 41745 41746 41747 if (!chars) { 41748 return null; 41749 } 41750 41751 var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); 41752 event.data = chars; 41753 accumulateTwoPhaseDispatches(event); 41754 return event; 41755} 41756/** 41757 * Create an `onBeforeInput` event to match 41758 * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. 41759 * 41760 * This event plugin is based on the native `textInput` event 41761 * available in Chrome, Safari, Opera, and IE. This event fires after 41762 * `onKeyPress` and `onCompositionEnd`, but before `onInput`. 41763 * 41764 * `beforeInput` is spec'd but not implemented in any browsers, and 41765 * the `input` event does not provide any useful information about what has 41766 * actually been added, contrary to the spec. Thus, `textInput` is the best 41767 * available event to identify the characters that have actually been inserted 41768 * into the target node. 41769 * 41770 * This plugin is also responsible for emitting `composition` events, thus 41771 * allowing us to share composition fallback code for both `beforeInput` and 41772 * `composition` event types. 41773 */ 41774 41775 41776var BeforeInputEventPlugin = { 41777 eventTypes: eventTypes, 41778 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 41779 var composition = extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget); 41780 var beforeInput = extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget); 41781 41782 if (composition === null) { 41783 return beforeInput; 41784 } 41785 41786 if (beforeInput === null) { 41787 return composition; 41788 } 41789 41790 return [composition, beforeInput]; 41791 } 41792}; 41793 41794/** 41795 * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary 41796 */ 41797var supportedInputTypes = { 41798 color: true, 41799 date: true, 41800 datetime: true, 41801 'datetime-local': true, 41802 email: true, 41803 month: true, 41804 number: true, 41805 password: true, 41806 range: true, 41807 search: true, 41808 tel: true, 41809 text: true, 41810 time: true, 41811 url: true, 41812 week: true 41813}; 41814 41815function isTextInputElement(elem) { 41816 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 41817 41818 if (nodeName === 'input') { 41819 return !!supportedInputTypes[elem.type]; 41820 } 41821 41822 if (nodeName === 'textarea') { 41823 return true; 41824 } 41825 41826 return false; 41827} 41828 41829var eventTypes$1 = { 41830 change: { 41831 phasedRegistrationNames: { 41832 bubbled: 'onChange', 41833 captured: 'onChangeCapture' 41834 }, 41835 dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE] 41836 } 41837}; 41838 41839function createAndAccumulateChangeEvent(inst, nativeEvent, target) { 41840 var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target); 41841 event.type = 'change'; // Flag this event loop as needing state restore. 41842 41843 enqueueStateRestore(target); 41844 accumulateTwoPhaseDispatches(event); 41845 return event; 41846} 41847/** 41848 * For IE shims 41849 */ 41850 41851 41852var activeElement = null; 41853var activeElementInst = null; 41854/** 41855 * SECTION: handle `change` event 41856 */ 41857 41858function shouldUseChangeEvent(elem) { 41859 var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); 41860 return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; 41861} 41862 41863function manualDispatchChangeEvent(nativeEvent) { 41864 var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the 41865 // other events and have it go through ReactBrowserEventEmitter. Since it 41866 // doesn't, we manually listen for the events and so we have to enqueue and 41867 // process the abstract event manually. 41868 // 41869 // Batching is necessary here in order to ensure that all event handlers run 41870 // before the next rerender (including event handlers attached to ancestor 41871 // elements instead of directly on the input). Without this, controlled 41872 // components don't work properly in conjunction with event bubbling because 41873 // the component is rerendered and the value reverted before all the event 41874 // handlers can run. See https://github.com/facebook/react/issues/708. 41875 41876 batchedUpdates(runEventInBatch, event); 41877} 41878 41879function runEventInBatch(event) { 41880 runEventsInBatch(event); 41881} 41882 41883function getInstIfValueChanged(targetInst) { 41884 var targetNode = getNodeFromInstance$1(targetInst); 41885 41886 if (updateValueIfChanged(targetNode)) { 41887 return targetInst; 41888 } 41889} 41890 41891function getTargetInstForChangeEvent(topLevelType, targetInst) { 41892 if (topLevelType === TOP_CHANGE) { 41893 return targetInst; 41894 } 41895} 41896/** 41897 * SECTION: handle `input` event 41898 */ 41899 41900 41901var isInputEventSupported = false; 41902 41903if (canUseDOM) { 41904 // IE9 claims to support the input event but fails to trigger it when 41905 // deleting text, so we ignore its input events. 41906 isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9); 41907} 41908/** 41909 * (For IE <=9) Starts tracking propertychange events on the passed-in element 41910 * and override the value property so that we can distinguish user events from 41911 * value changes in JS. 41912 */ 41913 41914 41915function startWatchingForValueChange(target, targetInst) { 41916 activeElement = target; 41917 activeElementInst = targetInst; 41918 activeElement.attachEvent('onpropertychange', handlePropertyChange); 41919} 41920/** 41921 * (For IE <=9) Removes the event listeners from the currently-tracked element, 41922 * if any exists. 41923 */ 41924 41925 41926function stopWatchingForValueChange() { 41927 if (!activeElement) { 41928 return; 41929 } 41930 41931 activeElement.detachEvent('onpropertychange', handlePropertyChange); 41932 activeElement = null; 41933 activeElementInst = null; 41934} 41935/** 41936 * (For IE <=9) Handles a propertychange event, sending a `change` event if 41937 * the value of the active element has changed. 41938 */ 41939 41940 41941function handlePropertyChange(nativeEvent) { 41942 if (nativeEvent.propertyName !== 'value') { 41943 return; 41944 } 41945 41946 if (getInstIfValueChanged(activeElementInst)) { 41947 manualDispatchChangeEvent(nativeEvent); 41948 } 41949} 41950 41951function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { 41952 if (topLevelType === TOP_FOCUS) { 41953 // In IE9, propertychange fires for most input events but is buggy and 41954 // doesn't fire when text is deleted, but conveniently, selectionchange 41955 // appears to fire in all of the remaining cases so we catch those and 41956 // forward the event if the value has changed 41957 // In either case, we don't want to call the event handler if the value 41958 // is changed from JS so we redefine a setter for `.value` that updates 41959 // our activeElementValue variable, allowing us to ignore those changes 41960 // 41961 // stopWatching() should be a noop here but we call it just in case we 41962 // missed a blur event somehow. 41963 stopWatchingForValueChange(); 41964 startWatchingForValueChange(target, targetInst); 41965 } else if (topLevelType === TOP_BLUR) { 41966 stopWatchingForValueChange(); 41967 } 41968} // For IE8 and IE9. 41969 41970 41971function getTargetInstForInputEventPolyfill(topLevelType, targetInst) { 41972 if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) { 41973 // On the selectionchange event, the target is just document which isn't 41974 // helpful for us so just check activeElement instead. 41975 // 41976 // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire 41977 // propertychange on the first input event after setting `value` from a 41978 // script and fires only keydown, keypress, keyup. Catching keyup usually 41979 // gets it and catching keydown lets us fire an event for the first 41980 // keystroke if user does a key repeat (it'll be a little delayed: right 41981 // before the second keystroke). Other input methods (e.g., paste) seem to 41982 // fire selectionchange normally. 41983 return getInstIfValueChanged(activeElementInst); 41984 } 41985} 41986/** 41987 * SECTION: handle `click` event 41988 */ 41989 41990 41991function shouldUseClickEvent(elem) { 41992 // Use the `click` event to detect changes to checkbox and radio inputs. 41993 // This approach works across all browsers, whereas `change` does not fire 41994 // until `blur` in IE8. 41995 var nodeName = elem.nodeName; 41996 return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); 41997} 41998 41999function getTargetInstForClickEvent(topLevelType, targetInst) { 42000 if (topLevelType === TOP_CLICK) { 42001 return getInstIfValueChanged(targetInst); 42002 } 42003} 42004 42005function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) { 42006 if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) { 42007 return getInstIfValueChanged(targetInst); 42008 } 42009} 42010 42011function handleControlledInputBlur(node) { 42012 var state = node._wrapperState; 42013 42014 if (!state || !state.controlled || node.type !== 'number') { 42015 return; 42016 } 42017 42018 { 42019 // If controlled, assign the value attribute to the current value on blur 42020 setDefaultValue(node, 'number', node.value); 42021 } 42022} 42023/** 42024 * This plugin creates an `onChange` event that normalizes change events 42025 * across form elements. This event fires at a time when it's possible to 42026 * change the element's value without seeing a flicker. 42027 * 42028 * Supported elements are: 42029 * - input (see `isTextInputElement`) 42030 * - textarea 42031 * - select 42032 */ 42033 42034 42035var ChangeEventPlugin = { 42036 eventTypes: eventTypes$1, 42037 _isInputEventSupported: isInputEventSupported, 42038 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 42039 var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; 42040 var getTargetInstFunc, handleEventFunc; 42041 42042 if (shouldUseChangeEvent(targetNode)) { 42043 getTargetInstFunc = getTargetInstForChangeEvent; 42044 } else if (isTextInputElement(targetNode)) { 42045 if (isInputEventSupported) { 42046 getTargetInstFunc = getTargetInstForInputOrChangeEvent; 42047 } else { 42048 getTargetInstFunc = getTargetInstForInputEventPolyfill; 42049 handleEventFunc = handleEventsForInputEventPolyfill; 42050 } 42051 } else if (shouldUseClickEvent(targetNode)) { 42052 getTargetInstFunc = getTargetInstForClickEvent; 42053 } 42054 42055 if (getTargetInstFunc) { 42056 var inst = getTargetInstFunc(topLevelType, targetInst); 42057 42058 if (inst) { 42059 var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget); 42060 return event; 42061 } 42062 } 42063 42064 if (handleEventFunc) { 42065 handleEventFunc(topLevelType, targetNode, targetInst); 42066 } // When blurring, set the value attribute for number inputs 42067 42068 42069 if (topLevelType === TOP_BLUR) { 42070 handleControlledInputBlur(targetNode); 42071 } 42072 } 42073}; 42074 42075var SyntheticUIEvent = SyntheticEvent.extend({ 42076 view: null, 42077 detail: null 42078}); 42079 42080/** 42081 * Translation from modifier key to the associated property in the event. 42082 * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers 42083 */ 42084var modifierKeyToProp = { 42085 Alt: 'altKey', 42086 Control: 'ctrlKey', 42087 Meta: 'metaKey', 42088 Shift: 'shiftKey' 42089}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support 42090// getModifierState. If getModifierState is not supported, we map it to a set of 42091// modifier keys exposed by the event. In this case, Lock-keys are not supported. 42092 42093function modifierStateGetter(keyArg) { 42094 var syntheticEvent = this; 42095 var nativeEvent = syntheticEvent.nativeEvent; 42096 42097 if (nativeEvent.getModifierState) { 42098 return nativeEvent.getModifierState(keyArg); 42099 } 42100 42101 var keyProp = modifierKeyToProp[keyArg]; 42102 return keyProp ? !!nativeEvent[keyProp] : false; 42103} 42104 42105function getEventModifierState(nativeEvent) { 42106 return modifierStateGetter; 42107} 42108 42109var previousScreenX = 0; 42110var previousScreenY = 0; // Use flags to signal movementX/Y has already been set 42111 42112var isMovementXSet = false; 42113var isMovementYSet = false; 42114/** 42115 * @interface MouseEvent 42116 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 42117 */ 42118 42119var SyntheticMouseEvent = SyntheticUIEvent.extend({ 42120 screenX: null, 42121 screenY: null, 42122 clientX: null, 42123 clientY: null, 42124 pageX: null, 42125 pageY: null, 42126 ctrlKey: null, 42127 shiftKey: null, 42128 altKey: null, 42129 metaKey: null, 42130 getModifierState: getEventModifierState, 42131 button: null, 42132 buttons: null, 42133 relatedTarget: function (event) { 42134 return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); 42135 }, 42136 movementX: function (event) { 42137 if ('movementX' in event) { 42138 return event.movementX; 42139 } 42140 42141 var screenX = previousScreenX; 42142 previousScreenX = event.screenX; 42143 42144 if (!isMovementXSet) { 42145 isMovementXSet = true; 42146 return 0; 42147 } 42148 42149 return event.type === 'mousemove' ? event.screenX - screenX : 0; 42150 }, 42151 movementY: function (event) { 42152 if ('movementY' in event) { 42153 return event.movementY; 42154 } 42155 42156 var screenY = previousScreenY; 42157 previousScreenY = event.screenY; 42158 42159 if (!isMovementYSet) { 42160 isMovementYSet = true; 42161 return 0; 42162 } 42163 42164 return event.type === 'mousemove' ? event.screenY - screenY : 0; 42165 } 42166}); 42167 42168/** 42169 * @interface PointerEvent 42170 * @see http://www.w3.org/TR/pointerevents/ 42171 */ 42172 42173var SyntheticPointerEvent = SyntheticMouseEvent.extend({ 42174 pointerId: null, 42175 width: null, 42176 height: null, 42177 pressure: null, 42178 tangentialPressure: null, 42179 tiltX: null, 42180 tiltY: null, 42181 twist: null, 42182 pointerType: null, 42183 isPrimary: null 42184}); 42185 42186var eventTypes$2 = { 42187 mouseEnter: { 42188 registrationName: 'onMouseEnter', 42189 dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] 42190 }, 42191 mouseLeave: { 42192 registrationName: 'onMouseLeave', 42193 dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] 42194 }, 42195 pointerEnter: { 42196 registrationName: 'onPointerEnter', 42197 dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] 42198 }, 42199 pointerLeave: { 42200 registrationName: 'onPointerLeave', 42201 dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] 42202 } 42203}; 42204var EnterLeaveEventPlugin = { 42205 eventTypes: eventTypes$2, 42206 42207 /** 42208 * For almost every interaction we care about, there will be both a top-level 42209 * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that 42210 * we do not extract duplicate events. However, moving the mouse into the 42211 * browser from outside will not fire a `mouseout` event. In this case, we use 42212 * the `mouseover` top-level event. 42213 */ 42214 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 42215 var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER; 42216 var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT; 42217 42218 if (isOverEvent && (eventSystemFlags & IS_REPLAYED) === 0 && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { 42219 // If this is an over event with a target, then we've already dispatched 42220 // the event in the out event of the other target. If this is replayed, 42221 // then it's because we couldn't dispatch against this target previously 42222 // so we have to do it now instead. 42223 return null; 42224 } 42225 42226 if (!isOutEvent && !isOverEvent) { 42227 // Must not be a mouse or pointer in or out - ignoring. 42228 return null; 42229 } 42230 42231 var win; 42232 42233 if (nativeEventTarget.window === nativeEventTarget) { 42234 // `nativeEventTarget` is probably a window object. 42235 win = nativeEventTarget; 42236 } else { 42237 // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. 42238 var doc = nativeEventTarget.ownerDocument; 42239 42240 if (doc) { 42241 win = doc.defaultView || doc.parentWindow; 42242 } else { 42243 win = window; 42244 } 42245 } 42246 42247 var from; 42248 var to; 42249 42250 if (isOutEvent) { 42251 from = targetInst; 42252 var related = nativeEvent.relatedTarget || nativeEvent.toElement; 42253 to = related ? getClosestInstanceFromNode(related) : null; 42254 42255 if (to !== null) { 42256 var nearestMounted = getNearestMountedFiber(to); 42257 42258 if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) { 42259 to = null; 42260 } 42261 } 42262 } else { 42263 // Moving to a node from outside the window. 42264 from = null; 42265 to = targetInst; 42266 } 42267 42268 if (from === to) { 42269 // Nothing pertains to our managed components. 42270 return null; 42271 } 42272 42273 var eventInterface, leaveEventType, enterEventType, eventTypePrefix; 42274 42275 if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) { 42276 eventInterface = SyntheticMouseEvent; 42277 leaveEventType = eventTypes$2.mouseLeave; 42278 enterEventType = eventTypes$2.mouseEnter; 42279 eventTypePrefix = 'mouse'; 42280 } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) { 42281 eventInterface = SyntheticPointerEvent; 42282 leaveEventType = eventTypes$2.pointerLeave; 42283 enterEventType = eventTypes$2.pointerEnter; 42284 eventTypePrefix = 'pointer'; 42285 } 42286 42287 var fromNode = from == null ? win : getNodeFromInstance$1(from); 42288 var toNode = to == null ? win : getNodeFromInstance$1(to); 42289 var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget); 42290 leave.type = eventTypePrefix + 'leave'; 42291 leave.target = fromNode; 42292 leave.relatedTarget = toNode; 42293 var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget); 42294 enter.type = eventTypePrefix + 'enter'; 42295 enter.target = toNode; 42296 enter.relatedTarget = fromNode; 42297 accumulateEnterLeaveDispatches(leave, enter, from, to); // If we are not processing the first ancestor, then we 42298 // should not process the same nativeEvent again, as we 42299 // will have already processed it in the first ancestor. 42300 42301 if ((eventSystemFlags & IS_FIRST_ANCESTOR) === 0) { 42302 return [leave]; 42303 } 42304 42305 return [leave, enter]; 42306 } 42307}; 42308 42309/** 42310 * inlined Object.is polyfill to avoid requiring consumers ship their own 42311 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is 42312 */ 42313function is(x, y) { 42314 return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare 42315 ; 42316} 42317 42318var objectIs = typeof Object.is === 'function' ? Object.is : is; 42319 42320var hasOwnProperty$2 = Object.prototype.hasOwnProperty; 42321/** 42322 * Performs equality by iterating through keys on an object and returning false 42323 * when any key has values which are not strictly equal between the arguments. 42324 * Returns true when the values of all keys are strictly equal. 42325 */ 42326 42327function shallowEqual(objA, objB) { 42328 if (objectIs(objA, objB)) { 42329 return true; 42330 } 42331 42332 if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { 42333 return false; 42334 } 42335 42336 var keysA = Object.keys(objA); 42337 var keysB = Object.keys(objB); 42338 42339 if (keysA.length !== keysB.length) { 42340 return false; 42341 } // Test for A's keys different from B. 42342 42343 42344 for (var i = 0; i < keysA.length; i++) { 42345 if (!hasOwnProperty$2.call(objB, keysA[i]) || !objectIs(objA[keysA[i]], objB[keysA[i]])) { 42346 return false; 42347 } 42348 } 42349 42350 return true; 42351} 42352 42353var skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11; 42354var eventTypes$3 = { 42355 select: { 42356 phasedRegistrationNames: { 42357 bubbled: 'onSelect', 42358 captured: 'onSelectCapture' 42359 }, 42360 dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE] 42361 } 42362}; 42363var activeElement$1 = null; 42364var activeElementInst$1 = null; 42365var lastSelection = null; 42366var mouseDown = false; 42367/** 42368 * Get an object which is a unique representation of the current selection. 42369 * 42370 * The return value will not be consistent across nodes or browsers, but 42371 * two identical selections on the same node will return identical objects. 42372 * 42373 * @param {DOMElement} node 42374 * @return {object} 42375 */ 42376 42377function getSelection$1(node) { 42378 if ('selectionStart' in node && hasSelectionCapabilities(node)) { 42379 return { 42380 start: node.selectionStart, 42381 end: node.selectionEnd 42382 }; 42383 } else { 42384 var win = node.ownerDocument && node.ownerDocument.defaultView || window; 42385 var selection = win.getSelection(); 42386 return { 42387 anchorNode: selection.anchorNode, 42388 anchorOffset: selection.anchorOffset, 42389 focusNode: selection.focusNode, 42390 focusOffset: selection.focusOffset 42391 }; 42392 } 42393} 42394/** 42395 * Get document associated with the event target. 42396 * 42397 * @param {object} nativeEventTarget 42398 * @return {Document} 42399 */ 42400 42401 42402function getEventTargetDocument(eventTarget) { 42403 return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument; 42404} 42405/** 42406 * Poll selection to see whether it's changed. 42407 * 42408 * @param {object} nativeEvent 42409 * @param {object} nativeEventTarget 42410 * @return {?SyntheticEvent} 42411 */ 42412 42413 42414function constructSelectEvent(nativeEvent, nativeEventTarget) { 42415 // Ensure we have the right element, and that the user is not dragging a 42416 // selection (this matches native `select` event behavior). In HTML5, select 42417 // fires only on input and textarea thus if there's no focused element we 42418 // won't dispatch. 42419 var doc = getEventTargetDocument(nativeEventTarget); 42420 42421 if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) { 42422 return null; 42423 } // Only fire when selection has actually changed. 42424 42425 42426 var currentSelection = getSelection$1(activeElement$1); 42427 42428 if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { 42429 lastSelection = currentSelection; 42430 var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget); 42431 syntheticEvent.type = 'select'; 42432 syntheticEvent.target = activeElement$1; 42433 accumulateTwoPhaseDispatches(syntheticEvent); 42434 return syntheticEvent; 42435 } 42436 42437 return null; 42438} 42439/** 42440 * This plugin creates an `onSelect` event that normalizes select events 42441 * across form elements. 42442 * 42443 * Supported elements are: 42444 * - input (see `isTextInputElement`) 42445 * - textarea 42446 * - contentEditable 42447 * 42448 * This differs from native browser implementations in the following ways: 42449 * - Fires on contentEditable fields as well as inputs. 42450 * - Fires for collapsed selection. 42451 * - Fires after user input. 42452 */ 42453 42454 42455var SelectEventPlugin = { 42456 eventTypes: eventTypes$3, 42457 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, container) { 42458 var containerOrDoc = container || getEventTargetDocument(nativeEventTarget); // Track whether all listeners exists for this plugin. If none exist, we do 42459 // not extract events. See #3639. 42460 42461 if (!containerOrDoc || !isListeningToAllDependencies('onSelect', containerOrDoc)) { 42462 return null; 42463 } 42464 42465 var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; 42466 42467 switch (topLevelType) { 42468 // Track the input node that has focus. 42469 case TOP_FOCUS: 42470 if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') { 42471 activeElement$1 = targetNode; 42472 activeElementInst$1 = targetInst; 42473 lastSelection = null; 42474 } 42475 42476 break; 42477 42478 case TOP_BLUR: 42479 activeElement$1 = null; 42480 activeElementInst$1 = null; 42481 lastSelection = null; 42482 break; 42483 // Don't fire the event while the user is dragging. This matches the 42484 // semantics of the native select event. 42485 42486 case TOP_MOUSE_DOWN: 42487 mouseDown = true; 42488 break; 42489 42490 case TOP_CONTEXT_MENU: 42491 case TOP_MOUSE_UP: 42492 case TOP_DRAG_END: 42493 mouseDown = false; 42494 return constructSelectEvent(nativeEvent, nativeEventTarget); 42495 // Chrome and IE fire non-standard event when selection is changed (and 42496 // sometimes when it hasn't). IE's event fires out of order with respect 42497 // to key and input events on deletion, so we discard it. 42498 // 42499 // Firefox doesn't support selectionchange, so check selection status 42500 // after each key entry. The selection changes after keydown and before 42501 // keyup, but we check on keydown as well in the case of holding down a 42502 // key, when multiple keydown events are fired but only one keyup is. 42503 // This is also our approach for IE handling, for the reason above. 42504 42505 case TOP_SELECTION_CHANGE: 42506 if (skipSelectionChangeEvent) { 42507 break; 42508 } 42509 42510 // falls through 42511 42512 case TOP_KEY_DOWN: 42513 case TOP_KEY_UP: 42514 return constructSelectEvent(nativeEvent, nativeEventTarget); 42515 } 42516 42517 return null; 42518 } 42519}; 42520 42521/** 42522 * @interface Event 42523 * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface 42524 * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent 42525 */ 42526 42527var SyntheticAnimationEvent = SyntheticEvent.extend({ 42528 animationName: null, 42529 elapsedTime: null, 42530 pseudoElement: null 42531}); 42532 42533/** 42534 * @interface Event 42535 * @see http://www.w3.org/TR/clipboard-apis/ 42536 */ 42537 42538var SyntheticClipboardEvent = SyntheticEvent.extend({ 42539 clipboardData: function (event) { 42540 return 'clipboardData' in event ? event.clipboardData : window.clipboardData; 42541 } 42542}); 42543 42544/** 42545 * @interface FocusEvent 42546 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 42547 */ 42548 42549var SyntheticFocusEvent = SyntheticUIEvent.extend({ 42550 relatedTarget: null 42551}); 42552 42553/** 42554 * `charCode` represents the actual "character code" and is safe to use with 42555 * `String.fromCharCode`. As such, only keys that correspond to printable 42556 * characters produce a valid `charCode`, the only exception to this is Enter. 42557 * The Tab-key is considered non-printable and does not have a `charCode`, 42558 * presumably because it does not produce a tab-character in browsers. 42559 * 42560 * @param {object} nativeEvent Native browser event. 42561 * @return {number} Normalized `charCode` property. 42562 */ 42563function getEventCharCode(nativeEvent) { 42564 var charCode; 42565 var keyCode = nativeEvent.keyCode; 42566 42567 if ('charCode' in nativeEvent) { 42568 charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`. 42569 42570 if (charCode === 0 && keyCode === 13) { 42571 charCode = 13; 42572 } 42573 } else { 42574 // IE8 does not implement `charCode`, but `keyCode` has the correct value. 42575 charCode = keyCode; 42576 } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux) 42577 // report Enter as charCode 10 when ctrl is pressed. 42578 42579 42580 if (charCode === 10) { 42581 charCode = 13; 42582 } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them. 42583 // Must not discard the (non-)printable Enter-key. 42584 42585 42586 if (charCode >= 32 || charCode === 13) { 42587 return charCode; 42588 } 42589 42590 return 0; 42591} 42592 42593/** 42594 * Normalization of deprecated HTML5 `key` values 42595 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names 42596 */ 42597 42598var normalizeKey = { 42599 Esc: 'Escape', 42600 Spacebar: ' ', 42601 Left: 'ArrowLeft', 42602 Up: 'ArrowUp', 42603 Right: 'ArrowRight', 42604 Down: 'ArrowDown', 42605 Del: 'Delete', 42606 Win: 'OS', 42607 Menu: 'ContextMenu', 42608 Apps: 'ContextMenu', 42609 Scroll: 'ScrollLock', 42610 MozPrintableKey: 'Unidentified' 42611}; 42612/** 42613 * Translation from legacy `keyCode` to HTML5 `key` 42614 * Only special keys supported, all others depend on keyboard layout or browser 42615 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names 42616 */ 42617 42618var translateToKey = { 42619 '8': 'Backspace', 42620 '9': 'Tab', 42621 '12': 'Clear', 42622 '13': 'Enter', 42623 '16': 'Shift', 42624 '17': 'Control', 42625 '18': 'Alt', 42626 '19': 'Pause', 42627 '20': 'CapsLock', 42628 '27': 'Escape', 42629 '32': ' ', 42630 '33': 'PageUp', 42631 '34': 'PageDown', 42632 '35': 'End', 42633 '36': 'Home', 42634 '37': 'ArrowLeft', 42635 '38': 'ArrowUp', 42636 '39': 'ArrowRight', 42637 '40': 'ArrowDown', 42638 '45': 'Insert', 42639 '46': 'Delete', 42640 '112': 'F1', 42641 '113': 'F2', 42642 '114': 'F3', 42643 '115': 'F4', 42644 '116': 'F5', 42645 '117': 'F6', 42646 '118': 'F7', 42647 '119': 'F8', 42648 '120': 'F9', 42649 '121': 'F10', 42650 '122': 'F11', 42651 '123': 'F12', 42652 '144': 'NumLock', 42653 '145': 'ScrollLock', 42654 '224': 'Meta' 42655}; 42656/** 42657 * @param {object} nativeEvent Native browser event. 42658 * @return {string} Normalized `key` property. 42659 */ 42660 42661function getEventKey(nativeEvent) { 42662 if (nativeEvent.key) { 42663 // Normalize inconsistent values reported by browsers due to 42664 // implementations of a working draft specification. 42665 // FireFox implements `key` but returns `MozPrintableKey` for all 42666 // printable characters (normalized to `Unidentified`), ignore it. 42667 var key = normalizeKey[nativeEvent.key] || nativeEvent.key; 42668 42669 if (key !== 'Unidentified') { 42670 return key; 42671 } 42672 } // Browser does not implement `key`, polyfill as much of it as we can. 42673 42674 42675 if (nativeEvent.type === 'keypress') { 42676 var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can 42677 // thus be captured by `keypress`, no other non-printable key should. 42678 42679 return charCode === 13 ? 'Enter' : String.fromCharCode(charCode); 42680 } 42681 42682 if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') { 42683 // While user keyboard layout determines the actual meaning of each 42684 // `keyCode` value, almost all function keys have a universal value. 42685 return translateToKey[nativeEvent.keyCode] || 'Unidentified'; 42686 } 42687 42688 return ''; 42689} 42690 42691/** 42692 * @interface KeyboardEvent 42693 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 42694 */ 42695 42696var SyntheticKeyboardEvent = SyntheticUIEvent.extend({ 42697 key: getEventKey, 42698 location: null, 42699 ctrlKey: null, 42700 shiftKey: null, 42701 altKey: null, 42702 metaKey: null, 42703 repeat: null, 42704 locale: null, 42705 getModifierState: getEventModifierState, 42706 // Legacy Interface 42707 charCode: function (event) { 42708 // `charCode` is the result of a KeyPress event and represents the value of 42709 // the actual printable character. 42710 // KeyPress is deprecated, but its replacement is not yet final and not 42711 // implemented in any major browser. Only KeyPress has charCode. 42712 if (event.type === 'keypress') { 42713 return getEventCharCode(event); 42714 } 42715 42716 return 0; 42717 }, 42718 keyCode: function (event) { 42719 // `keyCode` is the result of a KeyDown/Up event and represents the value of 42720 // physical keyboard key. 42721 // The actual meaning of the value depends on the users' keyboard layout 42722 // which cannot be detected. Assuming that it is a US keyboard layout 42723 // provides a surprisingly accurate mapping for US and European users. 42724 // Due to this, it is left to the user to implement at this time. 42725 if (event.type === 'keydown' || event.type === 'keyup') { 42726 return event.keyCode; 42727 } 42728 42729 return 0; 42730 }, 42731 which: function (event) { 42732 // `which` is an alias for either `keyCode` or `charCode` depending on the 42733 // type of the event. 42734 if (event.type === 'keypress') { 42735 return getEventCharCode(event); 42736 } 42737 42738 if (event.type === 'keydown' || event.type === 'keyup') { 42739 return event.keyCode; 42740 } 42741 42742 return 0; 42743 } 42744}); 42745 42746/** 42747 * @interface DragEvent 42748 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 42749 */ 42750 42751var SyntheticDragEvent = SyntheticMouseEvent.extend({ 42752 dataTransfer: null 42753}); 42754 42755/** 42756 * @interface TouchEvent 42757 * @see http://www.w3.org/TR/touch-events/ 42758 */ 42759 42760var SyntheticTouchEvent = SyntheticUIEvent.extend({ 42761 touches: null, 42762 targetTouches: null, 42763 changedTouches: null, 42764 altKey: null, 42765 metaKey: null, 42766 ctrlKey: null, 42767 shiftKey: null, 42768 getModifierState: getEventModifierState 42769}); 42770 42771/** 42772 * @interface Event 42773 * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events- 42774 * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent 42775 */ 42776 42777var SyntheticTransitionEvent = SyntheticEvent.extend({ 42778 propertyName: null, 42779 elapsedTime: null, 42780 pseudoElement: null 42781}); 42782 42783/** 42784 * @interface WheelEvent 42785 * @see http://www.w3.org/TR/DOM-Level-3-Events/ 42786 */ 42787 42788var SyntheticWheelEvent = SyntheticMouseEvent.extend({ 42789 deltaX: function (event) { 42790 return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). 42791 'wheelDeltaX' in event ? -event.wheelDeltaX : 0; 42792 }, 42793 deltaY: function (event) { 42794 return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive). 42795 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive). 42796 'wheelDelta' in event ? -event.wheelDelta : 0; 42797 }, 42798 deltaZ: null, 42799 // Browsers without "deltaMode" is reporting in raw wheel delta where one 42800 // notch on the scroll is always +/- 120, roughly equivalent to pixels. 42801 // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or 42802 // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size. 42803 deltaMode: null 42804}); 42805 42806var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING]; 42807var SimpleEventPlugin = { 42808 // simpleEventPluginEventTypes gets populated from 42809 // the DOMEventProperties module. 42810 eventTypes: simpleEventPluginEventTypes, 42811 extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) { 42812 var dispatchConfig = topLevelEventsToDispatchConfig.get(topLevelType); 42813 42814 if (!dispatchConfig) { 42815 return null; 42816 } 42817 42818 var EventConstructor; 42819 42820 switch (topLevelType) { 42821 case TOP_KEY_PRESS: 42822 // Firefox creates a keypress event for function keys too. This removes 42823 // the unwanted keypress events. Enter is however both printable and 42824 // non-printable. One would expect Tab to be as well (but it isn't). 42825 if (getEventCharCode(nativeEvent) === 0) { 42826 return null; 42827 } 42828 42829 /* falls through */ 42830 42831 case TOP_KEY_DOWN: 42832 case TOP_KEY_UP: 42833 EventConstructor = SyntheticKeyboardEvent; 42834 break; 42835 42836 case TOP_BLUR: 42837 case TOP_FOCUS: 42838 EventConstructor = SyntheticFocusEvent; 42839 break; 42840 42841 case TOP_CLICK: 42842 // Firefox creates a click event on right mouse clicks. This removes the 42843 // unwanted click events. 42844 if (nativeEvent.button === 2) { 42845 return null; 42846 } 42847 42848 /* falls through */ 42849 42850 case TOP_AUX_CLICK: 42851 case TOP_DOUBLE_CLICK: 42852 case TOP_MOUSE_DOWN: 42853 case TOP_MOUSE_MOVE: 42854 case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events 42855 42856 /* falls through */ 42857 42858 case TOP_MOUSE_OUT: 42859 case TOP_MOUSE_OVER: 42860 case TOP_CONTEXT_MENU: 42861 EventConstructor = SyntheticMouseEvent; 42862 break; 42863 42864 case TOP_DRAG: 42865 case TOP_DRAG_END: 42866 case TOP_DRAG_ENTER: 42867 case TOP_DRAG_EXIT: 42868 case TOP_DRAG_LEAVE: 42869 case TOP_DRAG_OVER: 42870 case TOP_DRAG_START: 42871 case TOP_DROP: 42872 EventConstructor = SyntheticDragEvent; 42873 break; 42874 42875 case TOP_TOUCH_CANCEL: 42876 case TOP_TOUCH_END: 42877 case TOP_TOUCH_MOVE: 42878 case TOP_TOUCH_START: 42879 EventConstructor = SyntheticTouchEvent; 42880 break; 42881 42882 case TOP_ANIMATION_END: 42883 case TOP_ANIMATION_ITERATION: 42884 case TOP_ANIMATION_START: 42885 EventConstructor = SyntheticAnimationEvent; 42886 break; 42887 42888 case TOP_TRANSITION_END: 42889 EventConstructor = SyntheticTransitionEvent; 42890 break; 42891 42892 case TOP_SCROLL: 42893 EventConstructor = SyntheticUIEvent; 42894 break; 42895 42896 case TOP_WHEEL: 42897 EventConstructor = SyntheticWheelEvent; 42898 break; 42899 42900 case TOP_COPY: 42901 case TOP_CUT: 42902 case TOP_PASTE: 42903 EventConstructor = SyntheticClipboardEvent; 42904 break; 42905 42906 case TOP_GOT_POINTER_CAPTURE: 42907 case TOP_LOST_POINTER_CAPTURE: 42908 case TOP_POINTER_CANCEL: 42909 case TOP_POINTER_DOWN: 42910 case TOP_POINTER_MOVE: 42911 case TOP_POINTER_OUT: 42912 case TOP_POINTER_OVER: 42913 case TOP_POINTER_UP: 42914 EventConstructor = SyntheticPointerEvent; 42915 break; 42916 42917 default: 42918 { 42919 if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) { 42920 error('SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType); 42921 } 42922 } // HTML Events 42923 // @see http://www.w3.org/TR/html5/index.html#events-0 42924 42925 42926 EventConstructor = SyntheticEvent; 42927 break; 42928 } 42929 42930 var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget); 42931 accumulateTwoPhaseDispatches(event); 42932 return event; 42933 } 42934}; 42935 42936/** 42937 * Specifies a deterministic ordering of `EventPlugin`s. A convenient way to 42938 * reason about plugins, without having to package every one of them. This 42939 * is better than having plugins be ordered in the same order that they 42940 * are injected because that ordering would be influenced by the packaging order. 42941 * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that 42942 * preventing default on events is convenient in `SimpleEventPlugin` handlers. 42943 */ 42944 42945var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin']; 42946/** 42947 * Inject modules for resolving DOM hierarchy and plugin ordering. 42948 */ 42949 42950injectEventPluginOrder(DOMEventPluginOrder); 42951setComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1); 42952/** 42953 * Some important event plugins included by default (without having to require 42954 * them). 42955 */ 42956 42957injectEventPluginsByName({ 42958 SimpleEventPlugin: SimpleEventPlugin, 42959 EnterLeaveEventPlugin: EnterLeaveEventPlugin, 42960 ChangeEventPlugin: ChangeEventPlugin, 42961 SelectEventPlugin: SelectEventPlugin, 42962 BeforeInputEventPlugin: BeforeInputEventPlugin 42963}); 42964 42965// Prefix measurements so that it's possible to filter them. 42966// Longer prefixes are hard to read in DevTools. 42967var reactEmoji = "\u269B"; 42968var warningEmoji = "\u26D4"; 42969var supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; // Keep track of current fiber so that we know the path to unwind on pause. 42970// TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them? 42971 42972var currentFiber = null; // If we're in the middle of user code, which fiber and method is it? 42973// Reusing `currentFiber` would be confusing for this because user code fiber 42974// can change during commit phase too, but we don't need to unwind it (since 42975// lifecycles in the commit phase don't resemble a tree). 42976 42977var currentPhase = null; 42978var currentPhaseFiber = null; // Did lifecycle hook schedule an update? This is often a performance problem, 42979// so we will keep track of it, and include it in the report. 42980// Track commits caused by cascading updates. 42981 42982var isCommitting = false; 42983var hasScheduledUpdateInCurrentCommit = false; 42984var hasScheduledUpdateInCurrentPhase = false; 42985var commitCountInCurrentWorkLoop = 0; 42986var effectCountInCurrentCommit = 0; 42987// to avoid stretch the commit phase with measurement overhead. 42988 42989var labelsInCurrentCommit = new Set(); 42990 42991var formatMarkName = function (markName) { 42992 return reactEmoji + " " + markName; 42993}; 42994 42995var formatLabel = function (label, warning) { 42996 var prefix = warning ? warningEmoji + " " : reactEmoji + " "; 42997 var suffix = warning ? " Warning: " + warning : ''; 42998 return "" + prefix + label + suffix; 42999}; 43000 43001var beginMark = function (markName) { 43002 performance.mark(formatMarkName(markName)); 43003}; 43004 43005var clearMark = function (markName) { 43006 performance.clearMarks(formatMarkName(markName)); 43007}; 43008 43009var endMark = function (label, markName, warning) { 43010 var formattedMarkName = formatMarkName(markName); 43011 var formattedLabel = formatLabel(label, warning); 43012 43013 try { 43014 performance.measure(formattedLabel, formattedMarkName); 43015 } catch (err) {} // If previous mark was missing for some reason, this will throw. 43016 // This could only happen if React crashed in an unexpected place earlier. 43017 // Don't pile on with more errors. 43018 // Clear marks immediately to avoid growing buffer. 43019 43020 43021 performance.clearMarks(formattedMarkName); 43022 performance.clearMeasures(formattedLabel); 43023}; 43024 43025var getFiberMarkName = function (label, debugID) { 43026 return label + " (#" + debugID + ")"; 43027}; 43028 43029var getFiberLabel = function (componentName, isMounted, phase) { 43030 if (phase === null) { 43031 // These are composite component total time measurements. 43032 return componentName + " [" + (isMounted ? 'update' : 'mount') + "]"; 43033 } else { 43034 // Composite component methods. 43035 return componentName + "." + phase; 43036 } 43037}; 43038 43039var beginFiberMark = function (fiber, phase) { 43040 var componentName = getComponentName(fiber.type) || 'Unknown'; 43041 var debugID = fiber._debugID; 43042 var isMounted = fiber.alternate !== null; 43043 var label = getFiberLabel(componentName, isMounted, phase); 43044 43045 if (isCommitting && labelsInCurrentCommit.has(label)) { 43046 // During the commit phase, we don't show duplicate labels because 43047 // there is a fixed overhead for every measurement, and we don't 43048 // want to stretch the commit phase beyond necessary. 43049 return false; 43050 } 43051 43052 labelsInCurrentCommit.add(label); 43053 var markName = getFiberMarkName(label, debugID); 43054 beginMark(markName); 43055 return true; 43056}; 43057 43058var clearFiberMark = function (fiber, phase) { 43059 var componentName = getComponentName(fiber.type) || 'Unknown'; 43060 var debugID = fiber._debugID; 43061 var isMounted = fiber.alternate !== null; 43062 var label = getFiberLabel(componentName, isMounted, phase); 43063 var markName = getFiberMarkName(label, debugID); 43064 clearMark(markName); 43065}; 43066 43067var endFiberMark = function (fiber, phase, warning) { 43068 var componentName = getComponentName(fiber.type) || 'Unknown'; 43069 var debugID = fiber._debugID; 43070 var isMounted = fiber.alternate !== null; 43071 var label = getFiberLabel(componentName, isMounted, phase); 43072 var markName = getFiberMarkName(label, debugID); 43073 endMark(label, markName, warning); 43074}; 43075 43076var shouldIgnoreFiber = function (fiber) { 43077 // Host components should be skipped in the timeline. 43078 // We could check typeof fiber.type, but does this work with RN? 43079 switch (fiber.tag) { 43080 case HostRoot: 43081 case HostComponent: 43082 case HostText: 43083 case HostPortal: 43084 case Fragment: 43085 case ContextProvider: 43086 case ContextConsumer: 43087 case Mode: 43088 return true; 43089 43090 default: 43091 return false; 43092 } 43093}; 43094 43095var clearPendingPhaseMeasurement = function () { 43096 if (currentPhase !== null && currentPhaseFiber !== null) { 43097 clearFiberMark(currentPhaseFiber, currentPhase); 43098 } 43099 43100 currentPhaseFiber = null; 43101 currentPhase = null; 43102 hasScheduledUpdateInCurrentPhase = false; 43103}; 43104 43105var pauseTimers = function () { 43106 // Stops all currently active measurements so that they can be resumed 43107 // if we continue in a later deferred loop from the same unit of work. 43108 var fiber = currentFiber; 43109 43110 while (fiber) { 43111 if (fiber._debugIsCurrentlyTiming) { 43112 endFiberMark(fiber, null, null); 43113 } 43114 43115 fiber = fiber.return; 43116 } 43117}; 43118 43119var resumeTimersRecursively = function (fiber) { 43120 if (fiber.return !== null) { 43121 resumeTimersRecursively(fiber.return); 43122 } 43123 43124 if (fiber._debugIsCurrentlyTiming) { 43125 beginFiberMark(fiber, null); 43126 } 43127}; 43128 43129var resumeTimers = function () { 43130 // Resumes all measurements that were active during the last deferred loop. 43131 if (currentFiber !== null) { 43132 resumeTimersRecursively(currentFiber); 43133 } 43134}; 43135 43136function recordEffect() { 43137 { 43138 effectCountInCurrentCommit++; 43139 } 43140} 43141function recordScheduleUpdate() { 43142 { 43143 if (isCommitting) { 43144 hasScheduledUpdateInCurrentCommit = true; 43145 } 43146 43147 if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') { 43148 hasScheduledUpdateInCurrentPhase = true; 43149 } 43150 } 43151} 43152function startWorkTimer(fiber) { 43153 { 43154 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 43155 return; 43156 } // If we pause, this is the fiber to unwind from. 43157 43158 43159 currentFiber = fiber; 43160 43161 if (!beginFiberMark(fiber, null)) { 43162 return; 43163 } 43164 43165 fiber._debugIsCurrentlyTiming = true; 43166 } 43167} 43168function cancelWorkTimer(fiber) { 43169 { 43170 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 43171 return; 43172 } // Remember we shouldn't complete measurement for this fiber. 43173 // Otherwise flamechart will be deep even for small updates. 43174 43175 43176 fiber._debugIsCurrentlyTiming = false; 43177 clearFiberMark(fiber, null); 43178 } 43179} 43180function stopWorkTimer(fiber) { 43181 { 43182 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 43183 return; 43184 } // If we pause, its parent is the fiber to unwind from. 43185 43186 43187 currentFiber = fiber.return; 43188 43189 if (!fiber._debugIsCurrentlyTiming) { 43190 return; 43191 } 43192 43193 fiber._debugIsCurrentlyTiming = false; 43194 endFiberMark(fiber, null, null); 43195 } 43196} 43197function stopFailedWorkTimer(fiber) { 43198 { 43199 if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { 43200 return; 43201 } // If we pause, its parent is the fiber to unwind from. 43202 43203 43204 currentFiber = fiber.return; 43205 43206 if (!fiber._debugIsCurrentlyTiming) { 43207 return; 43208 } 43209 43210 fiber._debugIsCurrentlyTiming = false; 43211 var warning = fiber.tag === SuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary'; 43212 endFiberMark(fiber, null, warning); 43213 } 43214} 43215function startPhaseTimer(fiber, phase) { 43216 { 43217 if (!supportsUserTiming) { 43218 return; 43219 } 43220 43221 clearPendingPhaseMeasurement(); 43222 43223 if (!beginFiberMark(fiber, phase)) { 43224 return; 43225 } 43226 43227 currentPhaseFiber = fiber; 43228 currentPhase = phase; 43229 } 43230} 43231function stopPhaseTimer() { 43232 { 43233 if (!supportsUserTiming) { 43234 return; 43235 } 43236 43237 if (currentPhase !== null && currentPhaseFiber !== null) { 43238 var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null; 43239 endFiberMark(currentPhaseFiber, currentPhase, warning); 43240 } 43241 43242 currentPhase = null; 43243 currentPhaseFiber = null; 43244 } 43245} 43246function startWorkLoopTimer(nextUnitOfWork) { 43247 { 43248 currentFiber = nextUnitOfWork; 43249 43250 if (!supportsUserTiming) { 43251 return; 43252 } 43253 43254 commitCountInCurrentWorkLoop = 0; // This is top level call. 43255 // Any other measurements are performed within. 43256 43257 beginMark('(React Tree Reconciliation)'); // Resume any measurements that were in progress during the last loop. 43258 43259 resumeTimers(); 43260 } 43261} 43262function stopWorkLoopTimer(interruptedBy, didCompleteRoot) { 43263 { 43264 if (!supportsUserTiming) { 43265 return; 43266 } 43267 43268 var warning = null; 43269 43270 if (interruptedBy !== null) { 43271 if (interruptedBy.tag === HostRoot) { 43272 warning = 'A top-level update interrupted the previous render'; 43273 } else { 43274 var componentName = getComponentName(interruptedBy.type) || 'Unknown'; 43275 warning = "An update to " + componentName + " interrupted the previous render"; 43276 } 43277 } else if (commitCountInCurrentWorkLoop > 1) { 43278 warning = 'There were cascading updates'; 43279 } 43280 43281 commitCountInCurrentWorkLoop = 0; 43282 var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; // Pause any measurements until the next loop. 43283 43284 pauseTimers(); 43285 endMark(label, '(React Tree Reconciliation)', warning); 43286 } 43287} 43288function startCommitTimer() { 43289 { 43290 if (!supportsUserTiming) { 43291 return; 43292 } 43293 43294 isCommitting = true; 43295 hasScheduledUpdateInCurrentCommit = false; 43296 labelsInCurrentCommit.clear(); 43297 beginMark('(Committing Changes)'); 43298 } 43299} 43300function stopCommitTimer() { 43301 { 43302 if (!supportsUserTiming) { 43303 return; 43304 } 43305 43306 var warning = null; 43307 43308 if (hasScheduledUpdateInCurrentCommit) { 43309 warning = 'Lifecycle hook scheduled a cascading update'; 43310 } else if (commitCountInCurrentWorkLoop > 0) { 43311 warning = 'Caused by a cascading update in earlier commit'; 43312 } 43313 43314 hasScheduledUpdateInCurrentCommit = false; 43315 commitCountInCurrentWorkLoop++; 43316 isCommitting = false; 43317 labelsInCurrentCommit.clear(); 43318 endMark('(Committing Changes)', '(Committing Changes)', warning); 43319 } 43320} 43321function startCommitSnapshotEffectsTimer() { 43322 { 43323 if (!supportsUserTiming) { 43324 return; 43325 } 43326 43327 effectCountInCurrentCommit = 0; 43328 beginMark('(Committing Snapshot Effects)'); 43329 } 43330} 43331function stopCommitSnapshotEffectsTimer() { 43332 { 43333 if (!supportsUserTiming) { 43334 return; 43335 } 43336 43337 var count = effectCountInCurrentCommit; 43338 effectCountInCurrentCommit = 0; 43339 endMark("(Committing Snapshot Effects: " + count + " Total)", '(Committing Snapshot Effects)', null); 43340 } 43341} 43342function startCommitHostEffectsTimer() { 43343 { 43344 if (!supportsUserTiming) { 43345 return; 43346 } 43347 43348 effectCountInCurrentCommit = 0; 43349 beginMark('(Committing Host Effects)'); 43350 } 43351} 43352function stopCommitHostEffectsTimer() { 43353 { 43354 if (!supportsUserTiming) { 43355 return; 43356 } 43357 43358 var count = effectCountInCurrentCommit; 43359 effectCountInCurrentCommit = 0; 43360 endMark("(Committing Host Effects: " + count + " Total)", '(Committing Host Effects)', null); 43361 } 43362} 43363function startCommitLifeCyclesTimer() { 43364 { 43365 if (!supportsUserTiming) { 43366 return; 43367 } 43368 43369 effectCountInCurrentCommit = 0; 43370 beginMark('(Calling Lifecycle Methods)'); 43371 } 43372} 43373function stopCommitLifeCyclesTimer() { 43374 { 43375 if (!supportsUserTiming) { 43376 return; 43377 } 43378 43379 var count = effectCountInCurrentCommit; 43380 effectCountInCurrentCommit = 0; 43381 endMark("(Calling Lifecycle Methods: " + count + " Total)", '(Calling Lifecycle Methods)', null); 43382 } 43383} 43384 43385var valueStack = []; 43386var fiberStack; 43387 43388{ 43389 fiberStack = []; 43390} 43391 43392var index = -1; 43393 43394function createCursor(defaultValue) { 43395 return { 43396 current: defaultValue 43397 }; 43398} 43399 43400function pop(cursor, fiber) { 43401 if (index < 0) { 43402 { 43403 error('Unexpected pop.'); 43404 } 43405 43406 return; 43407 } 43408 43409 { 43410 if (fiber !== fiberStack[index]) { 43411 error('Unexpected Fiber popped.'); 43412 } 43413 } 43414 43415 cursor.current = valueStack[index]; 43416 valueStack[index] = null; 43417 43418 { 43419 fiberStack[index] = null; 43420 } 43421 43422 index--; 43423} 43424 43425function push(cursor, value, fiber) { 43426 index++; 43427 valueStack[index] = cursor.current; 43428 43429 { 43430 fiberStack[index] = fiber; 43431 } 43432 43433 cursor.current = value; 43434} 43435 43436var warnedAboutMissingGetChildContext; 43437 43438{ 43439 warnedAboutMissingGetChildContext = {}; 43440} 43441 43442var emptyContextObject = {}; 43443 43444{ 43445 Object.freeze(emptyContextObject); 43446} // A cursor to the current merged context object on the stack. 43447 43448 43449var contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed. 43450 43451var didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack. 43452// We use this to get access to the parent context after we have already 43453// pushed the next context provider, and now need to merge their contexts. 43454 43455var previousContext = emptyContextObject; 43456 43457function getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) { 43458 { 43459 if (didPushOwnContextIfProvider && isContextProvider(Component)) { 43460 // If the fiber is a context provider itself, when we read its context 43461 // we may have already pushed its own child context on the stack. A context 43462 // provider should not "see" its own child context. Therefore we read the 43463 // previous (parent) context instead for a context provider. 43464 return previousContext; 43465 } 43466 43467 return contextStackCursor.current; 43468 } 43469} 43470 43471function cacheContext(workInProgress, unmaskedContext, maskedContext) { 43472 { 43473 var instance = workInProgress.stateNode; 43474 instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; 43475 instance.__reactInternalMemoizedMaskedChildContext = maskedContext; 43476 } 43477} 43478 43479function getMaskedContext(workInProgress, unmaskedContext) { 43480 { 43481 var type = workInProgress.type; 43482 var contextTypes = type.contextTypes; 43483 43484 if (!contextTypes) { 43485 return emptyContextObject; 43486 } // Avoid recreating masked context unless unmasked context has changed. 43487 // Failing to do this will result in unnecessary calls to componentWillReceiveProps. 43488 // This may trigger infinite loops if componentWillReceiveProps calls setState. 43489 43490 43491 var instance = workInProgress.stateNode; 43492 43493 if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) { 43494 return instance.__reactInternalMemoizedMaskedChildContext; 43495 } 43496 43497 var context = {}; 43498 43499 for (var key in contextTypes) { 43500 context[key] = unmaskedContext[key]; 43501 } 43502 43503 { 43504 var name = getComponentName(type) || 'Unknown'; 43505 checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev); 43506 } // Cache unmasked context so we can avoid recreating masked context unless necessary. 43507 // Context is created before the class component is instantiated so check for instance. 43508 43509 43510 if (instance) { 43511 cacheContext(workInProgress, unmaskedContext, context); 43512 } 43513 43514 return context; 43515 } 43516} 43517 43518function hasContextChanged() { 43519 { 43520 return didPerformWorkStackCursor.current; 43521 } 43522} 43523 43524function isContextProvider(type) { 43525 { 43526 var childContextTypes = type.childContextTypes; 43527 return childContextTypes !== null && childContextTypes !== undefined; 43528 } 43529} 43530 43531function popContext(fiber) { 43532 { 43533 pop(didPerformWorkStackCursor, fiber); 43534 pop(contextStackCursor, fiber); 43535 } 43536} 43537 43538function popTopLevelContextObject(fiber) { 43539 { 43540 pop(didPerformWorkStackCursor, fiber); 43541 pop(contextStackCursor, fiber); 43542 } 43543} 43544 43545function pushTopLevelContextObject(fiber, context, didChange) { 43546 { 43547 if (!(contextStackCursor.current === emptyContextObject)) { 43548 { 43549 throw Error( "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue." ); 43550 } 43551 } 43552 43553 push(contextStackCursor, context, fiber); 43554 push(didPerformWorkStackCursor, didChange, fiber); 43555 } 43556} 43557 43558function processChildContext(fiber, type, parentContext) { 43559 { 43560 var instance = fiber.stateNode; 43561 var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. 43562 // It has only been added in Fiber to match the (unintentional) behavior in Stack. 43563 43564 if (typeof instance.getChildContext !== 'function') { 43565 { 43566 var componentName = getComponentName(type) || 'Unknown'; 43567 43568 if (!warnedAboutMissingGetChildContext[componentName]) { 43569 warnedAboutMissingGetChildContext[componentName] = true; 43570 43571 error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName); 43572 } 43573 } 43574 43575 return parentContext; 43576 } 43577 43578 var childContext; 43579 startPhaseTimer(fiber, 'getChildContext'); 43580 childContext = instance.getChildContext(); 43581 stopPhaseTimer(); 43582 43583 for (var contextKey in childContext) { 43584 if (!(contextKey in childContextTypes)) { 43585 { 43586 throw Error( (getComponentName(type) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes." ); 43587 } 43588 } 43589 } 43590 43591 { 43592 var name = getComponentName(type) || 'Unknown'; 43593 checkPropTypes(childContextTypes, childContext, 'child context', name, // In practice, there is one case in which we won't get a stack. It's when 43594 // somebody calls unstable_renderSubtreeIntoContainer() and we process 43595 // context from the parent component instance. The stack will be missing 43596 // because it's outside of the reconciliation, and so the pointer has not 43597 // been set. This is rare and doesn't matter. We'll also remove that API. 43598 getCurrentFiberStackInDev); 43599 } 43600 43601 return _assign({}, parentContext, {}, childContext); 43602 } 43603} 43604 43605function pushContextProvider(workInProgress) { 43606 { 43607 var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity. 43608 // If the instance does not exist yet, we will push null at first, 43609 // and replace it on the stack later when invalidating the context. 43610 43611 var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later. 43612 // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates. 43613 43614 previousContext = contextStackCursor.current; 43615 push(contextStackCursor, memoizedMergedChildContext, workInProgress); 43616 push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); 43617 return true; 43618 } 43619} 43620 43621function invalidateContextProvider(workInProgress, type, didChange) { 43622 { 43623 var instance = workInProgress.stateNode; 43624 43625 if (!instance) { 43626 { 43627 throw Error( "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue." ); 43628 } 43629 } 43630 43631 if (didChange) { 43632 // Merge parent and own context. 43633 // Skip this if we're not updating due to sCU. 43634 // This avoids unnecessarily recomputing memoized values. 43635 var mergedContext = processChildContext(workInProgress, type, previousContext); 43636 instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one. 43637 // It is important to unwind the context in the reverse order. 43638 43639 pop(didPerformWorkStackCursor, workInProgress); 43640 pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed. 43641 43642 push(contextStackCursor, mergedContext, workInProgress); 43643 push(didPerformWorkStackCursor, didChange, workInProgress); 43644 } else { 43645 pop(didPerformWorkStackCursor, workInProgress); 43646 push(didPerformWorkStackCursor, didChange, workInProgress); 43647 } 43648 } 43649} 43650 43651function findCurrentUnmaskedContext(fiber) { 43652 { 43653 // Currently this is only used with renderSubtreeIntoContainer; not sure if it 43654 // makes sense elsewhere 43655 if (!(isFiberMounted(fiber) && fiber.tag === ClassComponent)) { 43656 { 43657 throw Error( "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue." ); 43658 } 43659 } 43660 43661 var node = fiber; 43662 43663 do { 43664 switch (node.tag) { 43665 case HostRoot: 43666 return node.stateNode.context; 43667 43668 case ClassComponent: 43669 { 43670 var Component = node.type; 43671 43672 if (isContextProvider(Component)) { 43673 return node.stateNode.__reactInternalMemoizedMergedChildContext; 43674 } 43675 43676 break; 43677 } 43678 } 43679 43680 node = node.return; 43681 } while (node !== null); 43682 43683 { 43684 { 43685 throw Error( "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue." ); 43686 } 43687 } 43688 } 43689} 43690 43691var LegacyRoot = 0; 43692var BlockingRoot = 1; 43693var ConcurrentRoot = 2; 43694 43695var Scheduler_runWithPriority = Scheduler.unstable_runWithPriority, 43696 Scheduler_scheduleCallback = Scheduler.unstable_scheduleCallback, 43697 Scheduler_cancelCallback = Scheduler.unstable_cancelCallback, 43698 Scheduler_shouldYield = Scheduler.unstable_shouldYield, 43699 Scheduler_requestPaint = Scheduler.unstable_requestPaint, 43700 Scheduler_now = Scheduler.unstable_now, 43701 Scheduler_getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, 43702 Scheduler_ImmediatePriority = Scheduler.unstable_ImmediatePriority, 43703 Scheduler_UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, 43704 Scheduler_NormalPriority = Scheduler.unstable_NormalPriority, 43705 Scheduler_LowPriority = Scheduler.unstable_LowPriority, 43706 Scheduler_IdlePriority = Scheduler.unstable_IdlePriority; 43707 43708{ 43709 // Provide explicit error message when production+profiling bundle of e.g. 43710 // react-dom is used with production (non-profiling) bundle of 43711 // scheduler/tracing 43712 if (!(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null)) { 43713 { 43714 throw Error( "It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling" ); 43715 } 43716 } 43717} 43718 43719var fakeCallbackNode = {}; // Except for NoPriority, these correspond to Scheduler priorities. We use 43720// ascending numbers so we can compare them like numbers. They start at 90 to 43721// avoid clashing with Scheduler's priorities. 43722 43723var ImmediatePriority = 99; 43724var UserBlockingPriority$1 = 98; 43725var NormalPriority = 97; 43726var LowPriority = 96; 43727var IdlePriority = 95; // NoPriority is the absence of priority. Also React-only. 43728 43729var NoPriority = 90; 43730var shouldYield = Scheduler_shouldYield; 43731var requestPaint = // Fall back gracefully if we're running an older version of Scheduler. 43732Scheduler_requestPaint !== undefined ? Scheduler_requestPaint : function () {}; 43733var syncQueue = null; 43734var immediateQueueCallbackNode = null; 43735var isFlushingSyncQueue = false; 43736var initialTimeMs = Scheduler_now(); // If the initial timestamp is reasonably small, use Scheduler's `now` directly. 43737// This will be the case for modern browsers that support `performance.now`. In 43738// older browsers, Scheduler falls back to `Date.now`, which returns a Unix 43739// timestamp. In that case, subtract the module initialization time to simulate 43740// the behavior of performance.now and keep our times small enough to fit 43741// within 32 bits. 43742// TODO: Consider lifting this into Scheduler. 43743 43744var now = initialTimeMs < 10000 ? Scheduler_now : function () { 43745 return Scheduler_now() - initialTimeMs; 43746}; 43747function getCurrentPriorityLevel() { 43748 switch (Scheduler_getCurrentPriorityLevel()) { 43749 case Scheduler_ImmediatePriority: 43750 return ImmediatePriority; 43751 43752 case Scheduler_UserBlockingPriority: 43753 return UserBlockingPriority$1; 43754 43755 case Scheduler_NormalPriority: 43756 return NormalPriority; 43757 43758 case Scheduler_LowPriority: 43759 return LowPriority; 43760 43761 case Scheduler_IdlePriority: 43762 return IdlePriority; 43763 43764 default: 43765 { 43766 { 43767 throw Error( "Unknown priority level." ); 43768 } 43769 } 43770 43771 } 43772} 43773 43774function reactPriorityToSchedulerPriority(reactPriorityLevel) { 43775 switch (reactPriorityLevel) { 43776 case ImmediatePriority: 43777 return Scheduler_ImmediatePriority; 43778 43779 case UserBlockingPriority$1: 43780 return Scheduler_UserBlockingPriority; 43781 43782 case NormalPriority: 43783 return Scheduler_NormalPriority; 43784 43785 case LowPriority: 43786 return Scheduler_LowPriority; 43787 43788 case IdlePriority: 43789 return Scheduler_IdlePriority; 43790 43791 default: 43792 { 43793 { 43794 throw Error( "Unknown priority level." ); 43795 } 43796 } 43797 43798 } 43799} 43800 43801function runWithPriority$1(reactPriorityLevel, fn) { 43802 var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel); 43803 return Scheduler_runWithPriority(priorityLevel, fn); 43804} 43805function scheduleCallback(reactPriorityLevel, callback, options) { 43806 var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel); 43807 return Scheduler_scheduleCallback(priorityLevel, callback, options); 43808} 43809function scheduleSyncCallback(callback) { 43810 // Push this callback into an internal queue. We'll flush these either in 43811 // the next tick, or earlier if something calls `flushSyncCallbackQueue`. 43812 if (syncQueue === null) { 43813 syncQueue = [callback]; // Flush the queue in the next tick, at the earliest. 43814 43815 immediateQueueCallbackNode = Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueueImpl); 43816 } else { 43817 // Push onto existing queue. Don't need to schedule a callback because 43818 // we already scheduled one when we created the queue. 43819 syncQueue.push(callback); 43820 } 43821 43822 return fakeCallbackNode; 43823} 43824function cancelCallback(callbackNode) { 43825 if (callbackNode !== fakeCallbackNode) { 43826 Scheduler_cancelCallback(callbackNode); 43827 } 43828} 43829function flushSyncCallbackQueue() { 43830 if (immediateQueueCallbackNode !== null) { 43831 var node = immediateQueueCallbackNode; 43832 immediateQueueCallbackNode = null; 43833 Scheduler_cancelCallback(node); 43834 } 43835 43836 flushSyncCallbackQueueImpl(); 43837} 43838 43839function flushSyncCallbackQueueImpl() { 43840 if (!isFlushingSyncQueue && syncQueue !== null) { 43841 // Prevent re-entrancy. 43842 isFlushingSyncQueue = true; 43843 var i = 0; 43844 43845 try { 43846 var _isSync = true; 43847 var queue = syncQueue; 43848 runWithPriority$1(ImmediatePriority, function () { 43849 for (; i < queue.length; i++) { 43850 var callback = queue[i]; 43851 43852 do { 43853 callback = callback(_isSync); 43854 } while (callback !== null); 43855 } 43856 }); 43857 syncQueue = null; 43858 } catch (error) { 43859 // If something throws, leave the remaining callbacks on the queue. 43860 if (syncQueue !== null) { 43861 syncQueue = syncQueue.slice(i + 1); 43862 } // Resume flushing in the next tick 43863 43864 43865 Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueue); 43866 throw error; 43867 } finally { 43868 isFlushingSyncQueue = false; 43869 } 43870 } 43871} 43872 43873var NoMode = 0; 43874var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root 43875// tag instead 43876 43877var BlockingMode = 2; 43878var ConcurrentMode = 4; 43879var ProfileMode = 8; 43880 43881// Max 31 bit integer. The max integer size in V8 for 32-bit systems. 43882// Math.pow(2, 30) - 1 43883// 0b111111111111111111111111111111 43884var MAX_SIGNED_31_BIT_INT = 1073741823; 43885 43886var NoWork = 0; // TODO: Think of a better name for Never. The key difference with Idle is that 43887// Never work can be committed in an inconsistent state without tearing the UI. 43888// The main example is offscreen content, like a hidden subtree. So one possible 43889// name is Offscreen. However, it also includes dehydrated Suspense boundaries, 43890// which are inconsistent in the sense that they haven't finished yet, but 43891// aren't visibly inconsistent because the server rendered HTML matches what the 43892// hydrated tree would look like. 43893 43894var Never = 1; // Idle is slightly higher priority than Never. It must completely finish in 43895// order to be consistent. 43896 43897var Idle = 2; // Continuous Hydration is slightly higher than Idle and is used to increase 43898// priority of hover targets. 43899 43900var ContinuousHydration = 3; 43901var Sync = MAX_SIGNED_31_BIT_INT; 43902var Batched = Sync - 1; 43903var UNIT_SIZE = 10; 43904var MAGIC_NUMBER_OFFSET = Batched - 1; // 1 unit of expiration time represents 10ms. 43905 43906function msToExpirationTime(ms) { 43907 // Always subtract from the offset so that we don't clash with the magic number for NoWork. 43908 return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0); 43909} 43910function expirationTimeToMs(expirationTime) { 43911 return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE; 43912} 43913 43914function ceiling(num, precision) { 43915 return ((num / precision | 0) + 1) * precision; 43916} 43917 43918function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) { 43919 return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE); 43920} // TODO: This corresponds to Scheduler's NormalPriority, not LowPriority. Update 43921// the names to reflect. 43922 43923 43924var LOW_PRIORITY_EXPIRATION = 5000; 43925var LOW_PRIORITY_BATCH_SIZE = 250; 43926function computeAsyncExpiration(currentTime) { 43927 return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE); 43928} 43929function computeSuspenseExpiration(currentTime, timeoutMs) { 43930 // TODO: Should we warn if timeoutMs is lower than the normal pri expiration time? 43931 return computeExpirationBucket(currentTime, timeoutMs, LOW_PRIORITY_BATCH_SIZE); 43932} // We intentionally set a higher expiration time for interactive updates in 43933// dev than in production. 43934// 43935// If the main thread is being blocked so long that you hit the expiration, 43936// it's a problem that could be solved with better scheduling. 43937// 43938// People will be more likely to notice this and fix it with the long 43939// expiration time in development. 43940// 43941// In production we opt for better UX at the risk of masking scheduling 43942// problems, by expiring fast. 43943 43944var HIGH_PRIORITY_EXPIRATION = 500 ; 43945var HIGH_PRIORITY_BATCH_SIZE = 100; 43946function computeInteractiveExpiration(currentTime) { 43947 return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE); 43948} 43949function inferPriorityFromExpirationTime(currentTime, expirationTime) { 43950 if (expirationTime === Sync) { 43951 return ImmediatePriority; 43952 } 43953 43954 if (expirationTime === Never || expirationTime === Idle) { 43955 return IdlePriority; 43956 } 43957 43958 var msUntil = expirationTimeToMs(expirationTime) - expirationTimeToMs(currentTime); 43959 43960 if (msUntil <= 0) { 43961 return ImmediatePriority; 43962 } 43963 43964 if (msUntil <= HIGH_PRIORITY_EXPIRATION + HIGH_PRIORITY_BATCH_SIZE) { 43965 return UserBlockingPriority$1; 43966 } 43967 43968 if (msUntil <= LOW_PRIORITY_EXPIRATION + LOW_PRIORITY_BATCH_SIZE) { 43969 return NormalPriority; 43970 } // TODO: Handle LowPriority 43971 // Assume anything lower has idle priority 43972 43973 43974 return IdlePriority; 43975} 43976 43977var ReactStrictModeWarnings = { 43978 recordUnsafeLifecycleWarnings: function (fiber, instance) {}, 43979 flushPendingUnsafeLifecycleWarnings: function () {}, 43980 recordLegacyContextWarning: function (fiber, instance) {}, 43981 flushLegacyContextWarning: function () {}, 43982 discardPendingWarnings: function () {} 43983}; 43984 43985{ 43986 var findStrictRoot = function (fiber) { 43987 var maybeStrictRoot = null; 43988 var node = fiber; 43989 43990 while (node !== null) { 43991 if (node.mode & StrictMode) { 43992 maybeStrictRoot = node; 43993 } 43994 43995 node = node.return; 43996 } 43997 43998 return maybeStrictRoot; 43999 }; 44000 44001 var setToSortedString = function (set) { 44002 var array = []; 44003 set.forEach(function (value) { 44004 array.push(value); 44005 }); 44006 return array.sort().join(', '); 44007 }; 44008 44009 var pendingComponentWillMountWarnings = []; 44010 var pendingUNSAFE_ComponentWillMountWarnings = []; 44011 var pendingComponentWillReceivePropsWarnings = []; 44012 var pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 44013 var pendingComponentWillUpdateWarnings = []; 44014 var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about. 44015 44016 var didWarnAboutUnsafeLifecycles = new Set(); 44017 44018 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) { 44019 // Dedup strategy: Warn once per component. 44020 if (didWarnAboutUnsafeLifecycles.has(fiber.type)) { 44021 return; 44022 } 44023 44024 if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components. 44025 instance.componentWillMount.__suppressDeprecationWarning !== true) { 44026 pendingComponentWillMountWarnings.push(fiber); 44027 } 44028 44029 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillMount === 'function') { 44030 pendingUNSAFE_ComponentWillMountWarnings.push(fiber); 44031 } 44032 44033 if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { 44034 pendingComponentWillReceivePropsWarnings.push(fiber); 44035 } 44036 44037 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 44038 pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber); 44039 } 44040 44041 if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { 44042 pendingComponentWillUpdateWarnings.push(fiber); 44043 } 44044 44045 if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillUpdate === 'function') { 44046 pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber); 44047 } 44048 }; 44049 44050 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () { 44051 // We do an initial pass to gather component names 44052 var componentWillMountUniqueNames = new Set(); 44053 44054 if (pendingComponentWillMountWarnings.length > 0) { 44055 pendingComponentWillMountWarnings.forEach(function (fiber) { 44056 componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44057 didWarnAboutUnsafeLifecycles.add(fiber.type); 44058 }); 44059 pendingComponentWillMountWarnings = []; 44060 } 44061 44062 var UNSAFE_componentWillMountUniqueNames = new Set(); 44063 44064 if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) { 44065 pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) { 44066 UNSAFE_componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44067 didWarnAboutUnsafeLifecycles.add(fiber.type); 44068 }); 44069 pendingUNSAFE_ComponentWillMountWarnings = []; 44070 } 44071 44072 var componentWillReceivePropsUniqueNames = new Set(); 44073 44074 if (pendingComponentWillReceivePropsWarnings.length > 0) { 44075 pendingComponentWillReceivePropsWarnings.forEach(function (fiber) { 44076 componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44077 didWarnAboutUnsafeLifecycles.add(fiber.type); 44078 }); 44079 pendingComponentWillReceivePropsWarnings = []; 44080 } 44081 44082 var UNSAFE_componentWillReceivePropsUniqueNames = new Set(); 44083 44084 if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) { 44085 pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) { 44086 UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44087 didWarnAboutUnsafeLifecycles.add(fiber.type); 44088 }); 44089 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 44090 } 44091 44092 var componentWillUpdateUniqueNames = new Set(); 44093 44094 if (pendingComponentWillUpdateWarnings.length > 0) { 44095 pendingComponentWillUpdateWarnings.forEach(function (fiber) { 44096 componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44097 didWarnAboutUnsafeLifecycles.add(fiber.type); 44098 }); 44099 pendingComponentWillUpdateWarnings = []; 44100 } 44101 44102 var UNSAFE_componentWillUpdateUniqueNames = new Set(); 44103 44104 if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) { 44105 pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) { 44106 UNSAFE_componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component'); 44107 didWarnAboutUnsafeLifecycles.add(fiber.type); 44108 }); 44109 pendingUNSAFE_ComponentWillUpdateWarnings = []; 44110 } // Finally, we flush all the warnings 44111 // UNSAFE_ ones before the deprecated ones, since they'll be 'louder' 44112 44113 44114 if (UNSAFE_componentWillMountUniqueNames.size > 0) { 44115 var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames); 44116 44117 error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '\nPlease update the following components: %s', sortedNames); 44118 } 44119 44120 if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) { 44121 var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames); 44122 44123 error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, " + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '\nPlease update the following components: %s', _sortedNames); 44124 } 44125 44126 if (UNSAFE_componentWillUpdateUniqueNames.size > 0) { 44127 var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames); 44128 44129 error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '\nPlease update the following components: %s', _sortedNames2); 44130 } 44131 44132 if (componentWillMountUniqueNames.size > 0) { 44133 var _sortedNames3 = setToSortedString(componentWillMountUniqueNames); 44134 44135 warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames3); 44136 } 44137 44138 if (componentWillReceivePropsUniqueNames.size > 0) { 44139 var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames); 44140 44141 warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, refactor your " + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames4); 44142 } 44143 44144 if (componentWillUpdateUniqueNames.size > 0) { 44145 var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames); 44146 44147 warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames5); 44148 } 44149 }; 44150 44151 var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about. 44152 44153 var didWarnAboutLegacyContext = new Set(); 44154 44155 ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) { 44156 var strictRoot = findStrictRoot(fiber); 44157 44158 if (strictRoot === null) { 44159 error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.'); 44160 44161 return; 44162 } // Dedup strategy: Warn once per component. 44163 44164 44165 if (didWarnAboutLegacyContext.has(fiber.type)) { 44166 return; 44167 } 44168 44169 var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); 44170 44171 if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') { 44172 if (warningsForRoot === undefined) { 44173 warningsForRoot = []; 44174 pendingLegacyContextWarning.set(strictRoot, warningsForRoot); 44175 } 44176 44177 warningsForRoot.push(fiber); 44178 } 44179 }; 44180 44181 ReactStrictModeWarnings.flushLegacyContextWarning = function () { 44182 pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) { 44183 if (fiberArray.length === 0) { 44184 return; 44185 } 44186 44187 var firstFiber = fiberArray[0]; 44188 var uniqueNames = new Set(); 44189 fiberArray.forEach(function (fiber) { 44190 uniqueNames.add(getComponentName(fiber.type) || 'Component'); 44191 didWarnAboutLegacyContext.add(fiber.type); 44192 }); 44193 var sortedNames = setToSortedString(uniqueNames); 44194 var firstComponentStack = getStackByFiberInDevAndProd(firstFiber); 44195 44196 error('Legacy context API has been detected within a strict-mode tree.' + '\n\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here: https://fb.me/react-legacy-context' + '%s', sortedNames, firstComponentStack); 44197 }); 44198 }; 44199 44200 ReactStrictModeWarnings.discardPendingWarnings = function () { 44201 pendingComponentWillMountWarnings = []; 44202 pendingUNSAFE_ComponentWillMountWarnings = []; 44203 pendingComponentWillReceivePropsWarnings = []; 44204 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 44205 pendingComponentWillUpdateWarnings = []; 44206 pendingUNSAFE_ComponentWillUpdateWarnings = []; 44207 pendingLegacyContextWarning = new Map(); 44208 }; 44209} 44210 44211var resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below. 44212 44213var failedBoundaries = null; 44214var setRefreshHandler = function (handler) { 44215 { 44216 resolveFamily = handler; 44217 } 44218}; 44219function resolveFunctionForHotReloading(type) { 44220 { 44221 if (resolveFamily === null) { 44222 // Hot reloading is disabled. 44223 return type; 44224 } 44225 44226 var family = resolveFamily(type); 44227 44228 if (family === undefined) { 44229 return type; 44230 } // Use the latest known implementation. 44231 44232 44233 return family.current; 44234 } 44235} 44236function resolveClassForHotReloading(type) { 44237 // No implementation differences. 44238 return resolveFunctionForHotReloading(type); 44239} 44240function resolveForwardRefForHotReloading(type) { 44241 { 44242 if (resolveFamily === null) { 44243 // Hot reloading is disabled. 44244 return type; 44245 } 44246 44247 var family = resolveFamily(type); 44248 44249 if (family === undefined) { 44250 // Check if we're dealing with a real forwardRef. Don't want to crash early. 44251 if (type !== null && type !== undefined && typeof type.render === 'function') { 44252 // ForwardRef is special because its resolved .type is an object, 44253 // but it's possible that we only have its inner render function in the map. 44254 // If that inner render function is different, we'll build a new forwardRef type. 44255 var currentRender = resolveFunctionForHotReloading(type.render); 44256 44257 if (type.render !== currentRender) { 44258 var syntheticType = { 44259 $$typeof: REACT_FORWARD_REF_TYPE, 44260 render: currentRender 44261 }; 44262 44263 if (type.displayName !== undefined) { 44264 syntheticType.displayName = type.displayName; 44265 } 44266 44267 return syntheticType; 44268 } 44269 } 44270 44271 return type; 44272 } // Use the latest known implementation. 44273 44274 44275 return family.current; 44276 } 44277} 44278function isCompatibleFamilyForHotReloading(fiber, element) { 44279 { 44280 if (resolveFamily === null) { 44281 // Hot reloading is disabled. 44282 return false; 44283 } 44284 44285 var prevType = fiber.elementType; 44286 var nextType = element.type; // If we got here, we know types aren't === equal. 44287 44288 var needsCompareFamilies = false; 44289 var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null; 44290 44291 switch (fiber.tag) { 44292 case ClassComponent: 44293 { 44294 if (typeof nextType === 'function') { 44295 needsCompareFamilies = true; 44296 } 44297 44298 break; 44299 } 44300 44301 case FunctionComponent: 44302 { 44303 if (typeof nextType === 'function') { 44304 needsCompareFamilies = true; 44305 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 44306 // We don't know the inner type yet. 44307 // We're going to assume that the lazy inner type is stable, 44308 // and so it is sufficient to avoid reconciling it away. 44309 // We're not going to unwrap or actually use the new lazy type. 44310 needsCompareFamilies = true; 44311 } 44312 44313 break; 44314 } 44315 44316 case ForwardRef: 44317 { 44318 if ($$typeofNextType === REACT_FORWARD_REF_TYPE) { 44319 needsCompareFamilies = true; 44320 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 44321 needsCompareFamilies = true; 44322 } 44323 44324 break; 44325 } 44326 44327 case MemoComponent: 44328 case SimpleMemoComponent: 44329 { 44330 if ($$typeofNextType === REACT_MEMO_TYPE) { 44331 // TODO: if it was but can no longer be simple, 44332 // we shouldn't set this. 44333 needsCompareFamilies = true; 44334 } else if ($$typeofNextType === REACT_LAZY_TYPE) { 44335 needsCompareFamilies = true; 44336 } 44337 44338 break; 44339 } 44340 44341 default: 44342 return false; 44343 } // Check if both types have a family and it's the same one. 44344 44345 44346 if (needsCompareFamilies) { 44347 // Note: memo() and forwardRef() we'll compare outer rather than inner type. 44348 // This means both of them need to be registered to preserve state. 44349 // If we unwrapped and compared the inner types for wrappers instead, 44350 // then we would risk falsely saying two separate memo(Foo) 44351 // calls are equivalent because they wrap the same Foo function. 44352 var prevFamily = resolveFamily(prevType); 44353 44354 if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) { 44355 return true; 44356 } 44357 } 44358 44359 return false; 44360 } 44361} 44362function markFailedErrorBoundaryForHotReloading(fiber) { 44363 { 44364 if (resolveFamily === null) { 44365 // Hot reloading is disabled. 44366 return; 44367 } 44368 44369 if (typeof WeakSet !== 'function') { 44370 return; 44371 } 44372 44373 if (failedBoundaries === null) { 44374 failedBoundaries = new WeakSet(); 44375 } 44376 44377 failedBoundaries.add(fiber); 44378 } 44379} 44380var scheduleRefresh = function (root, update) { 44381 { 44382 if (resolveFamily === null) { 44383 // Hot reloading is disabled. 44384 return; 44385 } 44386 44387 var staleFamilies = update.staleFamilies, 44388 updatedFamilies = update.updatedFamilies; 44389 flushPassiveEffects(); 44390 flushSync(function () { 44391 scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies); 44392 }); 44393 } 44394}; 44395var scheduleRoot = function (root, element) { 44396 { 44397 if (root.context !== emptyContextObject) { 44398 // Super edge case: root has a legacy _renderSubtree context 44399 // but we don't know the parentComponent so we can't pass it. 44400 // Just ignore. We'll delete this with _renderSubtree code path later. 44401 return; 44402 } 44403 44404 flushPassiveEffects(); 44405 syncUpdates(function () { 44406 updateContainer(element, root, null, null); 44407 }); 44408 } 44409}; 44410 44411function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { 44412 { 44413 var alternate = fiber.alternate, 44414 child = fiber.child, 44415 sibling = fiber.sibling, 44416 tag = fiber.tag, 44417 type = fiber.type; 44418 var candidateType = null; 44419 44420 switch (tag) { 44421 case FunctionComponent: 44422 case SimpleMemoComponent: 44423 case ClassComponent: 44424 candidateType = type; 44425 break; 44426 44427 case ForwardRef: 44428 candidateType = type.render; 44429 break; 44430 } 44431 44432 if (resolveFamily === null) { 44433 throw new Error('Expected resolveFamily to be set during hot reload.'); 44434 } 44435 44436 var needsRender = false; 44437 var needsRemount = false; 44438 44439 if (candidateType !== null) { 44440 var family = resolveFamily(candidateType); 44441 44442 if (family !== undefined) { 44443 if (staleFamilies.has(family)) { 44444 needsRemount = true; 44445 } else if (updatedFamilies.has(family)) { 44446 if (tag === ClassComponent) { 44447 needsRemount = true; 44448 } else { 44449 needsRender = true; 44450 } 44451 } 44452 } 44453 } 44454 44455 if (failedBoundaries !== null) { 44456 if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) { 44457 needsRemount = true; 44458 } 44459 } 44460 44461 if (needsRemount) { 44462 fiber._debugNeedsRemount = true; 44463 } 44464 44465 if (needsRemount || needsRender) { 44466 scheduleWork(fiber, Sync); 44467 } 44468 44469 if (child !== null && !needsRemount) { 44470 scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies); 44471 } 44472 44473 if (sibling !== null) { 44474 scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies); 44475 } 44476 } 44477} 44478 44479var findHostInstancesForRefresh = function (root, families) { 44480 { 44481 var hostInstances = new Set(); 44482 var types = new Set(families.map(function (family) { 44483 return family.current; 44484 })); 44485 findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances); 44486 return hostInstances; 44487 } 44488}; 44489 44490function findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) { 44491 { 44492 var child = fiber.child, 44493 sibling = fiber.sibling, 44494 tag = fiber.tag, 44495 type = fiber.type; 44496 var candidateType = null; 44497 44498 switch (tag) { 44499 case FunctionComponent: 44500 case SimpleMemoComponent: 44501 case ClassComponent: 44502 candidateType = type; 44503 break; 44504 44505 case ForwardRef: 44506 candidateType = type.render; 44507 break; 44508 } 44509 44510 var didMatch = false; 44511 44512 if (candidateType !== null) { 44513 if (types.has(candidateType)) { 44514 didMatch = true; 44515 } 44516 } 44517 44518 if (didMatch) { 44519 // We have a match. This only drills down to the closest host components. 44520 // There's no need to search deeper because for the purpose of giving 44521 // visual feedback, "flashing" outermost parent rectangles is sufficient. 44522 findHostInstancesForFiberShallowly(fiber, hostInstances); 44523 } else { 44524 // If there's no match, maybe there will be one further down in the child tree. 44525 if (child !== null) { 44526 findHostInstancesForMatchingFibersRecursively(child, types, hostInstances); 44527 } 44528 } 44529 44530 if (sibling !== null) { 44531 findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances); 44532 } 44533 } 44534} 44535 44536function findHostInstancesForFiberShallowly(fiber, hostInstances) { 44537 { 44538 var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances); 44539 44540 if (foundHostInstances) { 44541 return; 44542 } // If we didn't find any host children, fallback to closest host parent. 44543 44544 44545 var node = fiber; 44546 44547 while (true) { 44548 switch (node.tag) { 44549 case HostComponent: 44550 hostInstances.add(node.stateNode); 44551 return; 44552 44553 case HostPortal: 44554 hostInstances.add(node.stateNode.containerInfo); 44555 return; 44556 44557 case HostRoot: 44558 hostInstances.add(node.stateNode.containerInfo); 44559 return; 44560 } 44561 44562 if (node.return === null) { 44563 throw new Error('Expected to reach root first.'); 44564 } 44565 44566 node = node.return; 44567 } 44568 } 44569} 44570 44571function findChildHostInstancesForFiberShallowly(fiber, hostInstances) { 44572 { 44573 var node = fiber; 44574 var foundHostInstances = false; 44575 44576 while (true) { 44577 if (node.tag === HostComponent) { 44578 // We got a match. 44579 foundHostInstances = true; 44580 hostInstances.add(node.stateNode); // There may still be more, so keep searching. 44581 } else if (node.child !== null) { 44582 node.child.return = node; 44583 node = node.child; 44584 continue; 44585 } 44586 44587 if (node === fiber) { 44588 return foundHostInstances; 44589 } 44590 44591 while (node.sibling === null) { 44592 if (node.return === null || node.return === fiber) { 44593 return foundHostInstances; 44594 } 44595 44596 node = node.return; 44597 } 44598 44599 node.sibling.return = node.return; 44600 node = node.sibling; 44601 } 44602 } 44603 44604 return false; 44605} 44606 44607function resolveDefaultProps(Component, baseProps) { 44608 if (Component && Component.defaultProps) { 44609 // Resolve default props. Taken from ReactElement 44610 var props = _assign({}, baseProps); 44611 44612 var defaultProps = Component.defaultProps; 44613 44614 for (var propName in defaultProps) { 44615 if (props[propName] === undefined) { 44616 props[propName] = defaultProps[propName]; 44617 } 44618 } 44619 44620 return props; 44621 } 44622 44623 return baseProps; 44624} 44625function readLazyComponentType(lazyComponent) { 44626 initializeLazyComponentType(lazyComponent); 44627 44628 if (lazyComponent._status !== Resolved) { 44629 throw lazyComponent._result; 44630 } 44631 44632 return lazyComponent._result; 44633} 44634 44635var valueCursor = createCursor(null); 44636var rendererSigil; 44637 44638{ 44639 // Use this to detect multiple renderers using the same context 44640 rendererSigil = {}; 44641} 44642 44643var currentlyRenderingFiber = null; 44644var lastContextDependency = null; 44645var lastContextWithAllBitsObserved = null; 44646var isDisallowedContextReadInDEV = false; 44647function resetContextDependencies() { 44648 // This is called right before React yields execution, to ensure `readContext` 44649 // cannot be called outside the render phase. 44650 currentlyRenderingFiber = null; 44651 lastContextDependency = null; 44652 lastContextWithAllBitsObserved = null; 44653 44654 { 44655 isDisallowedContextReadInDEV = false; 44656 } 44657} 44658function enterDisallowedContextReadInDEV() { 44659 { 44660 isDisallowedContextReadInDEV = true; 44661 } 44662} 44663function exitDisallowedContextReadInDEV() { 44664 { 44665 isDisallowedContextReadInDEV = false; 44666 } 44667} 44668function pushProvider(providerFiber, nextValue) { 44669 var context = providerFiber.type._context; 44670 44671 { 44672 push(valueCursor, context._currentValue, providerFiber); 44673 context._currentValue = nextValue; 44674 44675 { 44676 if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) { 44677 error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.'); 44678 } 44679 44680 context._currentRenderer = rendererSigil; 44681 } 44682 } 44683} 44684function popProvider(providerFiber) { 44685 var currentValue = valueCursor.current; 44686 pop(valueCursor, providerFiber); 44687 var context = providerFiber.type._context; 44688 44689 { 44690 context._currentValue = currentValue; 44691 } 44692} 44693function calculateChangedBits(context, newValue, oldValue) { 44694 if (objectIs(oldValue, newValue)) { 44695 // No change 44696 return 0; 44697 } else { 44698 var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; 44699 44700 { 44701 if ((changedBits & MAX_SIGNED_31_BIT_INT) !== changedBits) { 44702 error('calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits); 44703 } 44704 } 44705 44706 return changedBits | 0; 44707 } 44708} 44709function scheduleWorkOnParentPath(parent, renderExpirationTime) { 44710 // Update the child expiration time of all the ancestors, including 44711 // the alternates. 44712 var node = parent; 44713 44714 while (node !== null) { 44715 var alternate = node.alternate; 44716 44717 if (node.childExpirationTime < renderExpirationTime) { 44718 node.childExpirationTime = renderExpirationTime; 44719 44720 if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { 44721 alternate.childExpirationTime = renderExpirationTime; 44722 } 44723 } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { 44724 alternate.childExpirationTime = renderExpirationTime; 44725 } else { 44726 // Neither alternate was updated, which means the rest of the 44727 // ancestor path already has sufficient priority. 44728 break; 44729 } 44730 44731 node = node.return; 44732 } 44733} 44734function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { 44735 var fiber = workInProgress.child; 44736 44737 if (fiber !== null) { 44738 // Set the return pointer of the child to the work-in-progress fiber. 44739 fiber.return = workInProgress; 44740 } 44741 44742 while (fiber !== null) { 44743 var nextFiber = void 0; // Visit this fiber. 44744 44745 var list = fiber.dependencies; 44746 44747 if (list !== null) { 44748 nextFiber = fiber.child; 44749 var dependency = list.firstContext; 44750 44751 while (dependency !== null) { 44752 // Check if the context matches. 44753 if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) { 44754 // Match! Schedule an update on this fiber. 44755 if (fiber.tag === ClassComponent) { 44756 // Schedule a force update on the work-in-progress. 44757 var update = createUpdate(renderExpirationTime, null); 44758 update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the 44759 // update to the current fiber, too, which means it will persist even if 44760 // this render is thrown away. Since it's a race condition, not sure it's 44761 // worth fixing. 44762 44763 enqueueUpdate(fiber, update); 44764 } 44765 44766 if (fiber.expirationTime < renderExpirationTime) { 44767 fiber.expirationTime = renderExpirationTime; 44768 } 44769 44770 var alternate = fiber.alternate; 44771 44772 if (alternate !== null && alternate.expirationTime < renderExpirationTime) { 44773 alternate.expirationTime = renderExpirationTime; 44774 } 44775 44776 scheduleWorkOnParentPath(fiber.return, renderExpirationTime); // Mark the expiration time on the list, too. 44777 44778 if (list.expirationTime < renderExpirationTime) { 44779 list.expirationTime = renderExpirationTime; 44780 } // Since we already found a match, we can stop traversing the 44781 // dependency list. 44782 44783 44784 break; 44785 } 44786 44787 dependency = dependency.next; 44788 } 44789 } else if (fiber.tag === ContextProvider) { 44790 // Don't scan deeper if this is a matching provider 44791 nextFiber = fiber.type === workInProgress.type ? null : fiber.child; 44792 } else { 44793 // Traverse down. 44794 nextFiber = fiber.child; 44795 } 44796 44797 if (nextFiber !== null) { 44798 // Set the return pointer of the child to the work-in-progress fiber. 44799 nextFiber.return = fiber; 44800 } else { 44801 // No child. Traverse to next sibling. 44802 nextFiber = fiber; 44803 44804 while (nextFiber !== null) { 44805 if (nextFiber === workInProgress) { 44806 // We're back to the root of this subtree. Exit. 44807 nextFiber = null; 44808 break; 44809 } 44810 44811 var sibling = nextFiber.sibling; 44812 44813 if (sibling !== null) { 44814 // Set the return pointer of the sibling to the work-in-progress fiber. 44815 sibling.return = nextFiber.return; 44816 nextFiber = sibling; 44817 break; 44818 } // No more siblings. Traverse up. 44819 44820 44821 nextFiber = nextFiber.return; 44822 } 44823 } 44824 44825 fiber = nextFiber; 44826 } 44827} 44828function prepareToReadContext(workInProgress, renderExpirationTime) { 44829 currentlyRenderingFiber = workInProgress; 44830 lastContextDependency = null; 44831 lastContextWithAllBitsObserved = null; 44832 var dependencies = workInProgress.dependencies; 44833 44834 if (dependencies !== null) { 44835 var firstContext = dependencies.firstContext; 44836 44837 if (firstContext !== null) { 44838 if (dependencies.expirationTime >= renderExpirationTime) { 44839 // Context list has a pending update. Mark that this fiber performed work. 44840 markWorkInProgressReceivedUpdate(); 44841 } // Reset the work-in-progress list 44842 44843 44844 dependencies.firstContext = null; 44845 } 44846 } 44847} 44848function readContext(context, observedBits) { 44849 { 44850 // This warning would fire if you read context inside a Hook like useMemo. 44851 // Unlike the class check below, it's not enforced in production for perf. 44852 if (isDisallowedContextReadInDEV) { 44853 error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().'); 44854 } 44855 } 44856 44857 if (lastContextWithAllBitsObserved === context) ; else if (observedBits === false || observedBits === 0) ; else { 44858 var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types. 44859 44860 if (typeof observedBits !== 'number' || observedBits === MAX_SIGNED_31_BIT_INT) { 44861 // Observe all updates. 44862 lastContextWithAllBitsObserved = context; 44863 resolvedObservedBits = MAX_SIGNED_31_BIT_INT; 44864 } else { 44865 resolvedObservedBits = observedBits; 44866 } 44867 44868 var contextItem = { 44869 context: context, 44870 observedBits: resolvedObservedBits, 44871 next: null 44872 }; 44873 44874 if (lastContextDependency === null) { 44875 if (!(currentlyRenderingFiber !== null)) { 44876 { 44877 throw Error( "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." ); 44878 } 44879 } // This is the first dependency for this component. Create a new list. 44880 44881 44882 lastContextDependency = contextItem; 44883 currentlyRenderingFiber.dependencies = { 44884 expirationTime: NoWork, 44885 firstContext: contextItem, 44886 responders: null 44887 }; 44888 } else { 44889 // Append a new context item. 44890 lastContextDependency = lastContextDependency.next = contextItem; 44891 } 44892 } 44893 44894 return context._currentValue ; 44895} 44896 44897var UpdateState = 0; 44898var ReplaceState = 1; 44899var ForceUpdate = 2; 44900var CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`. 44901// It should only be read right after calling `processUpdateQueue`, via 44902// `checkHasForceUpdateAfterProcessing`. 44903 44904var hasForceUpdate = false; 44905var didWarnUpdateInsideUpdate; 44906var currentlyProcessingQueue; 44907 44908{ 44909 didWarnUpdateInsideUpdate = false; 44910 currentlyProcessingQueue = null; 44911} 44912 44913function initializeUpdateQueue(fiber) { 44914 var queue = { 44915 baseState: fiber.memoizedState, 44916 baseQueue: null, 44917 shared: { 44918 pending: null 44919 }, 44920 effects: null 44921 }; 44922 fiber.updateQueue = queue; 44923} 44924function cloneUpdateQueue(current, workInProgress) { 44925 // Clone the update queue from current. Unless it's already a clone. 44926 var queue = workInProgress.updateQueue; 44927 var currentQueue = current.updateQueue; 44928 44929 if (queue === currentQueue) { 44930 var clone = { 44931 baseState: currentQueue.baseState, 44932 baseQueue: currentQueue.baseQueue, 44933 shared: currentQueue.shared, 44934 effects: currentQueue.effects 44935 }; 44936 workInProgress.updateQueue = clone; 44937 } 44938} 44939function createUpdate(expirationTime, suspenseConfig) { 44940 var update = { 44941 expirationTime: expirationTime, 44942 suspenseConfig: suspenseConfig, 44943 tag: UpdateState, 44944 payload: null, 44945 callback: null, 44946 next: null 44947 }; 44948 update.next = update; 44949 44950 { 44951 update.priority = getCurrentPriorityLevel(); 44952 } 44953 44954 return update; 44955} 44956function enqueueUpdate(fiber, update) { 44957 var updateQueue = fiber.updateQueue; 44958 44959 if (updateQueue === null) { 44960 // Only occurs if the fiber has been unmounted. 44961 return; 44962 } 44963 44964 var sharedQueue = updateQueue.shared; 44965 var pending = sharedQueue.pending; 44966 44967 if (pending === null) { 44968 // This is the first update. Create a circular list. 44969 update.next = update; 44970 } else { 44971 update.next = pending.next; 44972 pending.next = update; 44973 } 44974 44975 sharedQueue.pending = update; 44976 44977 { 44978 if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) { 44979 error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.'); 44980 44981 didWarnUpdateInsideUpdate = true; 44982 } 44983 } 44984} 44985function enqueueCapturedUpdate(workInProgress, update) { 44986 var current = workInProgress.alternate; 44987 44988 if (current !== null) { 44989 // Ensure the work-in-progress queue is a clone 44990 cloneUpdateQueue(current, workInProgress); 44991 } // Captured updates go only on the work-in-progress queue. 44992 44993 44994 var queue = workInProgress.updateQueue; // Append the update to the end of the list. 44995 44996 var last = queue.baseQueue; 44997 44998 if (last === null) { 44999 queue.baseQueue = update.next = update; 45000 update.next = update; 45001 } else { 45002 update.next = last.next; 45003 last.next = update; 45004 } 45005} 45006 45007function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { 45008 switch (update.tag) { 45009 case ReplaceState: 45010 { 45011 var payload = update.payload; 45012 45013 if (typeof payload === 'function') { 45014 // Updater function 45015 { 45016 enterDisallowedContextReadInDEV(); 45017 45018 if ( workInProgress.mode & StrictMode) { 45019 payload.call(instance, prevState, nextProps); 45020 } 45021 } 45022 45023 var nextState = payload.call(instance, prevState, nextProps); 45024 45025 { 45026 exitDisallowedContextReadInDEV(); 45027 } 45028 45029 return nextState; 45030 } // State object 45031 45032 45033 return payload; 45034 } 45035 45036 case CaptureUpdate: 45037 { 45038 workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture; 45039 } 45040 // Intentional fallthrough 45041 45042 case UpdateState: 45043 { 45044 var _payload = update.payload; 45045 var partialState; 45046 45047 if (typeof _payload === 'function') { 45048 // Updater function 45049 { 45050 enterDisallowedContextReadInDEV(); 45051 45052 if ( workInProgress.mode & StrictMode) { 45053 _payload.call(instance, prevState, nextProps); 45054 } 45055 } 45056 45057 partialState = _payload.call(instance, prevState, nextProps); 45058 45059 { 45060 exitDisallowedContextReadInDEV(); 45061 } 45062 } else { 45063 // Partial state object 45064 partialState = _payload; 45065 } 45066 45067 if (partialState === null || partialState === undefined) { 45068 // Null and undefined are treated as no-ops. 45069 return prevState; 45070 } // Merge the partial state and the previous state. 45071 45072 45073 return _assign({}, prevState, partialState); 45074 } 45075 45076 case ForceUpdate: 45077 { 45078 hasForceUpdate = true; 45079 return prevState; 45080 } 45081 } 45082 45083 return prevState; 45084} 45085 45086function processUpdateQueue(workInProgress, props, instance, renderExpirationTime) { 45087 // This is always non-null on a ClassComponent or HostRoot 45088 var queue = workInProgress.updateQueue; 45089 hasForceUpdate = false; 45090 45091 { 45092 currentlyProcessingQueue = queue.shared; 45093 } // The last rebase update that is NOT part of the base state. 45094 45095 45096 var baseQueue = queue.baseQueue; // The last pending update that hasn't been processed yet. 45097 45098 var pendingQueue = queue.shared.pending; 45099 45100 if (pendingQueue !== null) { 45101 // We have new updates that haven't been processed yet. 45102 // We'll add them to the base queue. 45103 if (baseQueue !== null) { 45104 // Merge the pending queue and the base queue. 45105 var baseFirst = baseQueue.next; 45106 var pendingFirst = pendingQueue.next; 45107 baseQueue.next = pendingFirst; 45108 pendingQueue.next = baseFirst; 45109 } 45110 45111 baseQueue = pendingQueue; 45112 queue.shared.pending = null; // TODO: Pass `current` as argument 45113 45114 var current = workInProgress.alternate; 45115 45116 if (current !== null) { 45117 var currentQueue = current.updateQueue; 45118 45119 if (currentQueue !== null) { 45120 currentQueue.baseQueue = pendingQueue; 45121 } 45122 } 45123 } // These values may change as we process the queue. 45124 45125 45126 if (baseQueue !== null) { 45127 var first = baseQueue.next; // Iterate through the list of updates to compute the result. 45128 45129 var newState = queue.baseState; 45130 var newExpirationTime = NoWork; 45131 var newBaseState = null; 45132 var newBaseQueueFirst = null; 45133 var newBaseQueueLast = null; 45134 45135 if (first !== null) { 45136 var update = first; 45137 45138 do { 45139 var updateExpirationTime = update.expirationTime; 45140 45141 if (updateExpirationTime < renderExpirationTime) { 45142 // Priority is insufficient. Skip this update. If this is the first 45143 // skipped update, the previous update/state is the new base 45144 // update/state. 45145 var clone = { 45146 expirationTime: update.expirationTime, 45147 suspenseConfig: update.suspenseConfig, 45148 tag: update.tag, 45149 payload: update.payload, 45150 callback: update.callback, 45151 next: null 45152 }; 45153 45154 if (newBaseQueueLast === null) { 45155 newBaseQueueFirst = newBaseQueueLast = clone; 45156 newBaseState = newState; 45157 } else { 45158 newBaseQueueLast = newBaseQueueLast.next = clone; 45159 } // Update the remaining priority in the queue. 45160 45161 45162 if (updateExpirationTime > newExpirationTime) { 45163 newExpirationTime = updateExpirationTime; 45164 } 45165 } else { 45166 // This update does have sufficient priority. 45167 if (newBaseQueueLast !== null) { 45168 var _clone = { 45169 expirationTime: Sync, 45170 // This update is going to be committed so we never want uncommit it. 45171 suspenseConfig: update.suspenseConfig, 45172 tag: update.tag, 45173 payload: update.payload, 45174 callback: update.callback, 45175 next: null 45176 }; 45177 newBaseQueueLast = newBaseQueueLast.next = _clone; 45178 } // Mark the event time of this update as relevant to this render pass. 45179 // TODO: This should ideally use the true event time of this update rather than 45180 // its priority which is a derived and not reverseable value. 45181 // TODO: We should skip this update if it was already committed but currently 45182 // we have no way of detecting the difference between a committed and suspended 45183 // update here. 45184 45185 45186 markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update. 45187 45188 newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance); 45189 var callback = update.callback; 45190 45191 if (callback !== null) { 45192 workInProgress.effectTag |= Callback; 45193 var effects = queue.effects; 45194 45195 if (effects === null) { 45196 queue.effects = [update]; 45197 } else { 45198 effects.push(update); 45199 } 45200 } 45201 } 45202 45203 update = update.next; 45204 45205 if (update === null || update === first) { 45206 pendingQueue = queue.shared.pending; 45207 45208 if (pendingQueue === null) { 45209 break; 45210 } else { 45211 // An update was scheduled from inside a reducer. Add the new 45212 // pending updates to the end of the list and keep processing. 45213 update = baseQueue.next = pendingQueue.next; 45214 pendingQueue.next = first; 45215 queue.baseQueue = baseQueue = pendingQueue; 45216 queue.shared.pending = null; 45217 } 45218 } 45219 } while (true); 45220 } 45221 45222 if (newBaseQueueLast === null) { 45223 newBaseState = newState; 45224 } else { 45225 newBaseQueueLast.next = newBaseQueueFirst; 45226 } 45227 45228 queue.baseState = newBaseState; 45229 queue.baseQueue = newBaseQueueLast; // Set the remaining expiration time to be whatever is remaining in the queue. 45230 // This should be fine because the only two other things that contribute to 45231 // expiration time are props and context. We're already in the middle of the 45232 // begin phase by the time we start processing the queue, so we've already 45233 // dealt with the props. Context in components that specify 45234 // shouldComponentUpdate is tricky; but we'll have to account for 45235 // that regardless. 45236 45237 markUnprocessedUpdateTime(newExpirationTime); 45238 workInProgress.expirationTime = newExpirationTime; 45239 workInProgress.memoizedState = newState; 45240 } 45241 45242 { 45243 currentlyProcessingQueue = null; 45244 } 45245} 45246 45247function callCallback(callback, context) { 45248 if (!(typeof callback === 'function')) { 45249 { 45250 throw Error( "Invalid argument passed as callback. Expected a function. Instead received: " + callback ); 45251 } 45252 } 45253 45254 callback.call(context); 45255} 45256 45257function resetHasForceUpdateBeforeProcessing() { 45258 hasForceUpdate = false; 45259} 45260function checkHasForceUpdateAfterProcessing() { 45261 return hasForceUpdate; 45262} 45263function commitUpdateQueue(finishedWork, finishedQueue, instance) { 45264 // Commit the effects 45265 var effects = finishedQueue.effects; 45266 finishedQueue.effects = null; 45267 45268 if (effects !== null) { 45269 for (var i = 0; i < effects.length; i++) { 45270 var effect = effects[i]; 45271 var callback = effect.callback; 45272 45273 if (callback !== null) { 45274 effect.callback = null; 45275 callCallback(callback, instance); 45276 } 45277 } 45278 } 45279} 45280 45281var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; 45282function requestCurrentSuspenseConfig() { 45283 return ReactCurrentBatchConfig.suspense; 45284} 45285 45286var fakeInternalInstance = {}; 45287var isArray = Array.isArray; // React.Component uses a shared frozen object by default. 45288// We'll use it to determine whether we need to initialize legacy refs. 45289 45290var emptyRefsObject = new React.Component().refs; 45291var didWarnAboutStateAssignmentForComponent; 45292var didWarnAboutUninitializedState; 45293var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate; 45294var didWarnAboutLegacyLifecyclesAndDerivedState; 45295var didWarnAboutUndefinedDerivedState; 45296var warnOnUndefinedDerivedState; 45297var warnOnInvalidCallback; 45298var didWarnAboutDirectlyAssigningPropsToState; 45299var didWarnAboutContextTypeAndContextTypes; 45300var didWarnAboutInvalidateContextType; 45301 45302{ 45303 didWarnAboutStateAssignmentForComponent = new Set(); 45304 didWarnAboutUninitializedState = new Set(); 45305 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set(); 45306 didWarnAboutLegacyLifecyclesAndDerivedState = new Set(); 45307 didWarnAboutDirectlyAssigningPropsToState = new Set(); 45308 didWarnAboutUndefinedDerivedState = new Set(); 45309 didWarnAboutContextTypeAndContextTypes = new Set(); 45310 didWarnAboutInvalidateContextType = new Set(); 45311 var didWarnOnInvalidCallback = new Set(); 45312 45313 warnOnInvalidCallback = function (callback, callerName) { 45314 if (callback === null || typeof callback === 'function') { 45315 return; 45316 } 45317 45318 var key = callerName + "_" + callback; 45319 45320 if (!didWarnOnInvalidCallback.has(key)) { 45321 didWarnOnInvalidCallback.add(key); 45322 45323 error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback); 45324 } 45325 }; 45326 45327 warnOnUndefinedDerivedState = function (type, partialState) { 45328 if (partialState === undefined) { 45329 var componentName = getComponentName(type) || 'Component'; 45330 45331 if (!didWarnAboutUndefinedDerivedState.has(componentName)) { 45332 didWarnAboutUndefinedDerivedState.add(componentName); 45333 45334 error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName); 45335 } 45336 } 45337 }; // This is so gross but it's at least non-critical and can be removed if 45338 // it causes problems. This is meant to give a nicer error message for 45339 // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component, 45340 // ...)) which otherwise throws a "_processChildContext is not a function" 45341 // exception. 45342 45343 45344 Object.defineProperty(fakeInternalInstance, '_processChildContext', { 45345 enumerable: false, 45346 value: function () { 45347 { 45348 { 45349 throw Error( "_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal)." ); 45350 } 45351 } 45352 } 45353 }); 45354 Object.freeze(fakeInternalInstance); 45355} 45356 45357function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) { 45358 var prevState = workInProgress.memoizedState; 45359 45360 { 45361 if ( workInProgress.mode & StrictMode) { 45362 // Invoke the function an extra time to help detect side-effects. 45363 getDerivedStateFromProps(nextProps, prevState); 45364 } 45365 } 45366 45367 var partialState = getDerivedStateFromProps(nextProps, prevState); 45368 45369 { 45370 warnOnUndefinedDerivedState(ctor, partialState); 45371 } // Merge the partial state and the previous state. 45372 45373 45374 var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState); 45375 workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the 45376 // base state. 45377 45378 if (workInProgress.expirationTime === NoWork) { 45379 // Queue is always non-null for classes 45380 var updateQueue = workInProgress.updateQueue; 45381 updateQueue.baseState = memoizedState; 45382 } 45383} 45384var classComponentUpdater = { 45385 isMounted: isMounted, 45386 enqueueSetState: function (inst, payload, callback) { 45387 var fiber = get(inst); 45388 var currentTime = requestCurrentTimeForUpdate(); 45389 var suspenseConfig = requestCurrentSuspenseConfig(); 45390 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 45391 var update = createUpdate(expirationTime, suspenseConfig); 45392 update.payload = payload; 45393 45394 if (callback !== undefined && callback !== null) { 45395 { 45396 warnOnInvalidCallback(callback, 'setState'); 45397 } 45398 45399 update.callback = callback; 45400 } 45401 45402 enqueueUpdate(fiber, update); 45403 scheduleWork(fiber, expirationTime); 45404 }, 45405 enqueueReplaceState: function (inst, payload, callback) { 45406 var fiber = get(inst); 45407 var currentTime = requestCurrentTimeForUpdate(); 45408 var suspenseConfig = requestCurrentSuspenseConfig(); 45409 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 45410 var update = createUpdate(expirationTime, suspenseConfig); 45411 update.tag = ReplaceState; 45412 update.payload = payload; 45413 45414 if (callback !== undefined && callback !== null) { 45415 { 45416 warnOnInvalidCallback(callback, 'replaceState'); 45417 } 45418 45419 update.callback = callback; 45420 } 45421 45422 enqueueUpdate(fiber, update); 45423 scheduleWork(fiber, expirationTime); 45424 }, 45425 enqueueForceUpdate: function (inst, callback) { 45426 var fiber = get(inst); 45427 var currentTime = requestCurrentTimeForUpdate(); 45428 var suspenseConfig = requestCurrentSuspenseConfig(); 45429 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 45430 var update = createUpdate(expirationTime, suspenseConfig); 45431 update.tag = ForceUpdate; 45432 45433 if (callback !== undefined && callback !== null) { 45434 { 45435 warnOnInvalidCallback(callback, 'forceUpdate'); 45436 } 45437 45438 update.callback = callback; 45439 } 45440 45441 enqueueUpdate(fiber, update); 45442 scheduleWork(fiber, expirationTime); 45443 } 45444}; 45445 45446function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) { 45447 var instance = workInProgress.stateNode; 45448 45449 if (typeof instance.shouldComponentUpdate === 'function') { 45450 { 45451 if ( workInProgress.mode & StrictMode) { 45452 // Invoke the function an extra time to help detect side-effects. 45453 instance.shouldComponentUpdate(newProps, newState, nextContext); 45454 } 45455 } 45456 45457 startPhaseTimer(workInProgress, 'shouldComponentUpdate'); 45458 var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext); 45459 stopPhaseTimer(); 45460 45461 { 45462 if (shouldUpdate === undefined) { 45463 error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component'); 45464 } 45465 } 45466 45467 return shouldUpdate; 45468 } 45469 45470 if (ctor.prototype && ctor.prototype.isPureReactComponent) { 45471 return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); 45472 } 45473 45474 return true; 45475} 45476 45477function checkClassInstance(workInProgress, ctor, newProps) { 45478 var instance = workInProgress.stateNode; 45479 45480 { 45481 var name = getComponentName(ctor) || 'Component'; 45482 var renderPresent = instance.render; 45483 45484 if (!renderPresent) { 45485 if (ctor.prototype && typeof ctor.prototype.render === 'function') { 45486 error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name); 45487 } else { 45488 error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name); 45489 } 45490 } 45491 45492 if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) { 45493 error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name); 45494 } 45495 45496 if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) { 45497 error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name); 45498 } 45499 45500 if (instance.propTypes) { 45501 error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name); 45502 } 45503 45504 if (instance.contextType) { 45505 error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name); 45506 } 45507 45508 { 45509 if (instance.contextTypes) { 45510 error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name); 45511 } 45512 45513 if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) { 45514 didWarnAboutContextTypeAndContextTypes.add(ctor); 45515 45516 error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name); 45517 } 45518 } 45519 45520 if (typeof instance.componentShouldUpdate === 'function') { 45521 error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name); 45522 } 45523 45524 if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') { 45525 error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component'); 45526 } 45527 45528 if (typeof instance.componentDidUnmount === 'function') { 45529 error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name); 45530 } 45531 45532 if (typeof instance.componentDidReceiveProps === 'function') { 45533 error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name); 45534 } 45535 45536 if (typeof instance.componentWillRecieveProps === 'function') { 45537 error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name); 45538 } 45539 45540 if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') { 45541 error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name); 45542 } 45543 45544 var hasMutatedProps = instance.props !== newProps; 45545 45546 if (instance.props !== undefined && hasMutatedProps) { 45547 error('%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name); 45548 } 45549 45550 if (instance.defaultProps) { 45551 error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name); 45552 } 45553 45554 if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) { 45555 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor); 45556 45557 error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor)); 45558 } 45559 45560 if (typeof instance.getDerivedStateFromProps === 'function') { 45561 error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name); 45562 } 45563 45564 if (typeof instance.getDerivedStateFromError === 'function') { 45565 error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name); 45566 } 45567 45568 if (typeof ctor.getSnapshotBeforeUpdate === 'function') { 45569 error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name); 45570 } 45571 45572 var _state = instance.state; 45573 45574 if (_state && (typeof _state !== 'object' || isArray(_state))) { 45575 error('%s.state: must be set to an object or null', name); 45576 } 45577 45578 if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') { 45579 error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name); 45580 } 45581 } 45582} 45583 45584function adoptClassInstance(workInProgress, instance) { 45585 instance.updater = classComponentUpdater; 45586 workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates 45587 45588 set(instance, workInProgress); 45589 45590 { 45591 instance._reactInternalInstance = fakeInternalInstance; 45592 } 45593} 45594 45595function constructClassInstance(workInProgress, ctor, props) { 45596 var isLegacyContextConsumer = false; 45597 var unmaskedContext = emptyContextObject; 45598 var context = emptyContextObject; 45599 var contextType = ctor.contextType; 45600 45601 { 45602 if ('contextType' in ctor) { 45603 var isValid = // Allow null for conditional declaration 45604 contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer> 45605 45606 if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) { 45607 didWarnAboutInvalidateContextType.add(ctor); 45608 var addendum = ''; 45609 45610 if (contextType === undefined) { 45611 addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.'; 45612 } else if (typeof contextType !== 'object') { 45613 addendum = ' However, it is set to a ' + typeof contextType + '.'; 45614 } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) { 45615 addendum = ' Did you accidentally pass the Context.Provider instead?'; 45616 } else if (contextType._context !== undefined) { 45617 // <Context.Consumer> 45618 addendum = ' Did you accidentally pass the Context.Consumer instead?'; 45619 } else { 45620 addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.'; 45621 } 45622 45623 error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum); 45624 } 45625 } 45626 } 45627 45628 if (typeof contextType === 'object' && contextType !== null) { 45629 context = readContext(contextType); 45630 } else { 45631 unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 45632 var contextTypes = ctor.contextTypes; 45633 isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined; 45634 context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject; 45635 } // Instantiate twice to help detect side-effects. 45636 45637 45638 { 45639 if ( workInProgress.mode & StrictMode) { 45640 new ctor(props, context); // eslint-disable-line no-new 45641 } 45642 } 45643 45644 var instance = new ctor(props, context); 45645 var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null; 45646 adoptClassInstance(workInProgress, instance); 45647 45648 { 45649 if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) { 45650 var componentName = getComponentName(ctor) || 'Component'; 45651 45652 if (!didWarnAboutUninitializedState.has(componentName)) { 45653 didWarnAboutUninitializedState.add(componentName); 45654 45655 error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName); 45656 } 45657 } // If new component APIs are defined, "unsafe" lifecycles won't be called. 45658 // Warn about these lifecycles if they are present. 45659 // Don't warn about react-lifecycles-compat polyfilled methods though. 45660 45661 45662 if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') { 45663 var foundWillMountName = null; 45664 var foundWillReceivePropsName = null; 45665 var foundWillUpdateName = null; 45666 45667 if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) { 45668 foundWillMountName = 'componentWillMount'; 45669 } else if (typeof instance.UNSAFE_componentWillMount === 'function') { 45670 foundWillMountName = 'UNSAFE_componentWillMount'; 45671 } 45672 45673 if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { 45674 foundWillReceivePropsName = 'componentWillReceiveProps'; 45675 } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 45676 foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; 45677 } 45678 45679 if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { 45680 foundWillUpdateName = 'componentWillUpdate'; 45681 } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') { 45682 foundWillUpdateName = 'UNSAFE_componentWillUpdate'; 45683 } 45684 45685 if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { 45686 var _componentName = getComponentName(ctor) || 'Component'; 45687 45688 var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; 45689 45690 if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { 45691 didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); 45692 45693 error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : '', foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : '', foundWillUpdateName !== null ? "\n " + foundWillUpdateName : ''); 45694 } 45695 } 45696 } 45697 } // Cache unmasked context so we can avoid recreating masked context unless necessary. 45698 // ReactFiberContext usually updates this cache but can't for newly-created instances. 45699 45700 45701 if (isLegacyContextConsumer) { 45702 cacheContext(workInProgress, unmaskedContext, context); 45703 } 45704 45705 return instance; 45706} 45707 45708function callComponentWillMount(workInProgress, instance) { 45709 startPhaseTimer(workInProgress, 'componentWillMount'); 45710 var oldState = instance.state; 45711 45712 if (typeof instance.componentWillMount === 'function') { 45713 instance.componentWillMount(); 45714 } 45715 45716 if (typeof instance.UNSAFE_componentWillMount === 'function') { 45717 instance.UNSAFE_componentWillMount(); 45718 } 45719 45720 stopPhaseTimer(); 45721 45722 if (oldState !== instance.state) { 45723 { 45724 error('%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component'); 45725 } 45726 45727 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 45728 } 45729} 45730 45731function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) { 45732 var oldState = instance.state; 45733 startPhaseTimer(workInProgress, 'componentWillReceiveProps'); 45734 45735 if (typeof instance.componentWillReceiveProps === 'function') { 45736 instance.componentWillReceiveProps(newProps, nextContext); 45737 } 45738 45739 if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { 45740 instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); 45741 } 45742 45743 stopPhaseTimer(); 45744 45745 if (instance.state !== oldState) { 45746 { 45747 var componentName = getComponentName(workInProgress.type) || 'Component'; 45748 45749 if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { 45750 didWarnAboutStateAssignmentForComponent.add(componentName); 45751 45752 error('%s.componentWillReceiveProps(): Assigning directly to ' + "this.state is deprecated (except inside a component's " + 'constructor). Use setState instead.', componentName); 45753 } 45754 } 45755 45756 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 45757 } 45758} // Invokes the mount life-cycles on a previously never rendered instance. 45759 45760 45761function mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { 45762 { 45763 checkClassInstance(workInProgress, ctor, newProps); 45764 } 45765 45766 var instance = workInProgress.stateNode; 45767 instance.props = newProps; 45768 instance.state = workInProgress.memoizedState; 45769 instance.refs = emptyRefsObject; 45770 initializeUpdateQueue(workInProgress); 45771 var contextType = ctor.contextType; 45772 45773 if (typeof contextType === 'object' && contextType !== null) { 45774 instance.context = readContext(contextType); 45775 } else { 45776 var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 45777 instance.context = getMaskedContext(workInProgress, unmaskedContext); 45778 } 45779 45780 { 45781 if (instance.state === newProps) { 45782 var componentName = getComponentName(ctor) || 'Component'; 45783 45784 if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) { 45785 didWarnAboutDirectlyAssigningPropsToState.add(componentName); 45786 45787 error('%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName); 45788 } 45789 } 45790 45791 if (workInProgress.mode & StrictMode) { 45792 ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance); 45793 } 45794 45795 { 45796 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance); 45797 } 45798 } 45799 45800 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 45801 instance.state = workInProgress.memoizedState; 45802 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 45803 45804 if (typeof getDerivedStateFromProps === 'function') { 45805 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 45806 instance.state = workInProgress.memoizedState; 45807 } // In order to support react-lifecycles-compat polyfilled components, 45808 // Unsafe lifecycles should not be invoked for components using the new APIs. 45809 45810 45811 if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { 45812 callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's 45813 // process them now. 45814 45815 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 45816 instance.state = workInProgress.memoizedState; 45817 } 45818 45819 if (typeof instance.componentDidMount === 'function') { 45820 workInProgress.effectTag |= Update; 45821 } 45822} 45823 45824function resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { 45825 var instance = workInProgress.stateNode; 45826 var oldProps = workInProgress.memoizedProps; 45827 instance.props = oldProps; 45828 var oldContext = instance.context; 45829 var contextType = ctor.contextType; 45830 var nextContext = emptyContextObject; 45831 45832 if (typeof contextType === 'object' && contextType !== null) { 45833 nextContext = readContext(contextType); 45834 } else { 45835 var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 45836 nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext); 45837 } 45838 45839 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 45840 var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what 45841 // ever the previously attempted to render - not the "current". However, 45842 // during componentDidUpdate we pass the "current" props. 45843 // In order to support react-lifecycles-compat polyfilled components, 45844 // Unsafe lifecycles should not be invoked for components using the new APIs. 45845 45846 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { 45847 if (oldProps !== newProps || oldContext !== nextContext) { 45848 callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); 45849 } 45850 } 45851 45852 resetHasForceUpdateBeforeProcessing(); 45853 var oldState = workInProgress.memoizedState; 45854 var newState = instance.state = oldState; 45855 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 45856 newState = workInProgress.memoizedState; 45857 45858 if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { 45859 // If an update was already in progress, we should schedule an Update 45860 // effect even though we're bailing out, so that cWU/cDU are called. 45861 if (typeof instance.componentDidMount === 'function') { 45862 workInProgress.effectTag |= Update; 45863 } 45864 45865 return false; 45866 } 45867 45868 if (typeof getDerivedStateFromProps === 'function') { 45869 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 45870 newState = workInProgress.memoizedState; 45871 } 45872 45873 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); 45874 45875 if (shouldUpdate) { 45876 // In order to support react-lifecycles-compat polyfilled components, 45877 // Unsafe lifecycles should not be invoked for components using the new APIs. 45878 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { 45879 startPhaseTimer(workInProgress, 'componentWillMount'); 45880 45881 if (typeof instance.componentWillMount === 'function') { 45882 instance.componentWillMount(); 45883 } 45884 45885 if (typeof instance.UNSAFE_componentWillMount === 'function') { 45886 instance.UNSAFE_componentWillMount(); 45887 } 45888 45889 stopPhaseTimer(); 45890 } 45891 45892 if (typeof instance.componentDidMount === 'function') { 45893 workInProgress.effectTag |= Update; 45894 } 45895 } else { 45896 // If an update was already in progress, we should schedule an Update 45897 // effect even though we're bailing out, so that cWU/cDU are called. 45898 if (typeof instance.componentDidMount === 'function') { 45899 workInProgress.effectTag |= Update; 45900 } // If shouldComponentUpdate returned false, we should still update the 45901 // memoized state to indicate that this work can be reused. 45902 45903 45904 workInProgress.memoizedProps = newProps; 45905 workInProgress.memoizedState = newState; 45906 } // Update the existing instance's state, props, and context pointers even 45907 // if shouldComponentUpdate returns false. 45908 45909 45910 instance.props = newProps; 45911 instance.state = newState; 45912 instance.context = nextContext; 45913 return shouldUpdate; 45914} // Invokes the update life-cycles and returns false if it shouldn't rerender. 45915 45916 45917function updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) { 45918 var instance = workInProgress.stateNode; 45919 cloneUpdateQueue(current, workInProgress); 45920 var oldProps = workInProgress.memoizedProps; 45921 instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps); 45922 var oldContext = instance.context; 45923 var contextType = ctor.contextType; 45924 var nextContext = emptyContextObject; 45925 45926 if (typeof contextType === 'object' && contextType !== null) { 45927 nextContext = readContext(contextType); 45928 } else { 45929 var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); 45930 nextContext = getMaskedContext(workInProgress, nextUnmaskedContext); 45931 } 45932 45933 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 45934 var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what 45935 // ever the previously attempted to render - not the "current". However, 45936 // during componentDidUpdate we pass the "current" props. 45937 // In order to support react-lifecycles-compat polyfilled components, 45938 // Unsafe lifecycles should not be invoked for components using the new APIs. 45939 45940 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { 45941 if (oldProps !== newProps || oldContext !== nextContext) { 45942 callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); 45943 } 45944 } 45945 45946 resetHasForceUpdateBeforeProcessing(); 45947 var oldState = workInProgress.memoizedState; 45948 var newState = instance.state = oldState; 45949 processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime); 45950 newState = workInProgress.memoizedState; 45951 45952 if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { 45953 // If an update was already in progress, we should schedule an Update 45954 // effect even though we're bailing out, so that cWU/cDU are called. 45955 if (typeof instance.componentDidUpdate === 'function') { 45956 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 45957 workInProgress.effectTag |= Update; 45958 } 45959 } 45960 45961 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 45962 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 45963 workInProgress.effectTag |= Snapshot; 45964 } 45965 } 45966 45967 return false; 45968 } 45969 45970 if (typeof getDerivedStateFromProps === 'function') { 45971 applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); 45972 newState = workInProgress.memoizedState; 45973 } 45974 45975 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); 45976 45977 if (shouldUpdate) { 45978 // In order to support react-lifecycles-compat polyfilled components, 45979 // Unsafe lifecycles should not be invoked for components using the new APIs. 45980 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) { 45981 startPhaseTimer(workInProgress, 'componentWillUpdate'); 45982 45983 if (typeof instance.componentWillUpdate === 'function') { 45984 instance.componentWillUpdate(newProps, newState, nextContext); 45985 } 45986 45987 if (typeof instance.UNSAFE_componentWillUpdate === 'function') { 45988 instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext); 45989 } 45990 45991 stopPhaseTimer(); 45992 } 45993 45994 if (typeof instance.componentDidUpdate === 'function') { 45995 workInProgress.effectTag |= Update; 45996 } 45997 45998 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 45999 workInProgress.effectTag |= Snapshot; 46000 } 46001 } else { 46002 // If an update was already in progress, we should schedule an Update 46003 // effect even though we're bailing out, so that cWU/cDU are called. 46004 if (typeof instance.componentDidUpdate === 'function') { 46005 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 46006 workInProgress.effectTag |= Update; 46007 } 46008 } 46009 46010 if (typeof instance.getSnapshotBeforeUpdate === 'function') { 46011 if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { 46012 workInProgress.effectTag |= Snapshot; 46013 } 46014 } // If shouldComponentUpdate returned false, we should still update the 46015 // memoized props/state to indicate that this work can be reused. 46016 46017 46018 workInProgress.memoizedProps = newProps; 46019 workInProgress.memoizedState = newState; 46020 } // Update the existing instance's state, props, and context pointers even 46021 // if shouldComponentUpdate returns false. 46022 46023 46024 instance.props = newProps; 46025 instance.state = newState; 46026 instance.context = nextContext; 46027 return shouldUpdate; 46028} 46029 46030var didWarnAboutMaps; 46031var didWarnAboutGenerators; 46032var didWarnAboutStringRefs; 46033var ownerHasKeyUseWarning; 46034var ownerHasFunctionTypeWarning; 46035 46036var warnForMissingKey = function (child) {}; 46037 46038{ 46039 didWarnAboutMaps = false; 46040 didWarnAboutGenerators = false; 46041 didWarnAboutStringRefs = {}; 46042 /** 46043 * Warn if there's no key explicitly set on dynamic arrays of children or 46044 * object keys are not valid. This allows us to keep track of children between 46045 * updates. 46046 */ 46047 46048 ownerHasKeyUseWarning = {}; 46049 ownerHasFunctionTypeWarning = {}; 46050 46051 warnForMissingKey = function (child) { 46052 if (child === null || typeof child !== 'object') { 46053 return; 46054 } 46055 46056 if (!child._store || child._store.validated || child.key != null) { 46057 return; 46058 } 46059 46060 if (!(typeof child._store === 'object')) { 46061 { 46062 throw Error( "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." ); 46063 } 46064 } 46065 46066 child._store.validated = true; 46067 var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev(); 46068 46069 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { 46070 return; 46071 } 46072 46073 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; 46074 46075 error('Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.'); 46076 }; 46077} 46078 46079var isArray$1 = Array.isArray; 46080 46081function coerceRef(returnFiber, current, element) { 46082 var mixedRef = element.ref; 46083 46084 if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') { 46085 { 46086 // TODO: Clean this up once we turn on the string ref warning for 46087 // everyone, because the strict mode case will no longer be relevant 46088 if ((returnFiber.mode & StrictMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs 46089 // because these cannot be automatically converted to an arrow function 46090 // using a codemod. Therefore, we don't have to warn about string refs again. 46091 !(element._owner && element._self && element._owner.stateNode !== element._self)) { 46092 var componentName = getComponentName(returnFiber.type) || 'Component'; 46093 46094 if (!didWarnAboutStringRefs[componentName]) { 46095 { 46096 error('A string ref, "%s", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref%s', mixedRef, getStackByFiberInDevAndProd(returnFiber)); 46097 } 46098 46099 didWarnAboutStringRefs[componentName] = true; 46100 } 46101 } 46102 } 46103 46104 if (element._owner) { 46105 var owner = element._owner; 46106 var inst; 46107 46108 if (owner) { 46109 var ownerFiber = owner; 46110 46111 if (!(ownerFiber.tag === ClassComponent)) { 46112 { 46113 throw Error( "Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref" ); 46114 } 46115 } 46116 46117 inst = ownerFiber.stateNode; 46118 } 46119 46120 if (!inst) { 46121 { 46122 throw Error( "Missing owner for string ref " + mixedRef + ". This error is likely caused by a bug in React. Please file an issue." ); 46123 } 46124 } 46125 46126 var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref 46127 46128 if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) { 46129 return current.ref; 46130 } 46131 46132 var ref = function (value) { 46133 var refs = inst.refs; 46134 46135 if (refs === emptyRefsObject) { 46136 // This is a lazy pooled frozen object, so we need to initialize. 46137 refs = inst.refs = {}; 46138 } 46139 46140 if (value === null) { 46141 delete refs[stringRef]; 46142 } else { 46143 refs[stringRef] = value; 46144 } 46145 }; 46146 46147 ref._stringRef = stringRef; 46148 return ref; 46149 } else { 46150 if (!(typeof mixedRef === 'string')) { 46151 { 46152 throw Error( "Expected ref to be a function, a string, an object returned by React.createRef(), or null." ); 46153 } 46154 } 46155 46156 if (!element._owner) { 46157 { 46158 throw Error( "Element ref was specified as a string (" + mixedRef + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information." ); 46159 } 46160 } 46161 } 46162 } 46163 46164 return mixedRef; 46165} 46166 46167function throwOnInvalidObjectType(returnFiber, newChild) { 46168 if (returnFiber.type !== 'textarea') { 46169 var addendum = ''; 46170 46171 { 46172 addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev(); 46173 } 46174 46175 { 46176 { 46177 throw Error( "Objects are not valid as a React child (found: " + (Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild) + ")." + addendum ); 46178 } 46179 } 46180 } 46181} 46182 46183function warnOnFunctionType() { 46184 { 46185 var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev(); 46186 46187 if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) { 46188 return; 46189 } 46190 46191 ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true; 46192 46193 error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.'); 46194 } 46195} // This wrapper function exists because I expect to clone the code in each path 46196// to be able to optimize each path individually by branching early. This needs 46197// a compiler or we can do it manually. Helpers that don't need this branching 46198// live outside of this function. 46199 46200 46201function ChildReconciler(shouldTrackSideEffects) { 46202 function deleteChild(returnFiber, childToDelete) { 46203 if (!shouldTrackSideEffects) { 46204 // Noop. 46205 return; 46206 } // Deletions are added in reversed order so we add it to the front. 46207 // At this point, the return fiber's effect list is empty except for 46208 // deletions, so we can just append the deletion to the list. The remaining 46209 // effects aren't added until the complete phase. Once we implement 46210 // resuming, this may not be true. 46211 46212 46213 var last = returnFiber.lastEffect; 46214 46215 if (last !== null) { 46216 last.nextEffect = childToDelete; 46217 returnFiber.lastEffect = childToDelete; 46218 } else { 46219 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; 46220 } 46221 46222 childToDelete.nextEffect = null; 46223 childToDelete.effectTag = Deletion; 46224 } 46225 46226 function deleteRemainingChildren(returnFiber, currentFirstChild) { 46227 if (!shouldTrackSideEffects) { 46228 // Noop. 46229 return null; 46230 } // TODO: For the shouldClone case, this could be micro-optimized a bit by 46231 // assuming that after the first child we've already added everything. 46232 46233 46234 var childToDelete = currentFirstChild; 46235 46236 while (childToDelete !== null) { 46237 deleteChild(returnFiber, childToDelete); 46238 childToDelete = childToDelete.sibling; 46239 } 46240 46241 return null; 46242 } 46243 46244 function mapRemainingChildren(returnFiber, currentFirstChild) { 46245 // Add the remaining children to a temporary map so that we can find them by 46246 // keys quickly. Implicit (null) keys get added to this set with their index 46247 // instead. 46248 var existingChildren = new Map(); 46249 var existingChild = currentFirstChild; 46250 46251 while (existingChild !== null) { 46252 if (existingChild.key !== null) { 46253 existingChildren.set(existingChild.key, existingChild); 46254 } else { 46255 existingChildren.set(existingChild.index, existingChild); 46256 } 46257 46258 existingChild = existingChild.sibling; 46259 } 46260 46261 return existingChildren; 46262 } 46263 46264 function useFiber(fiber, pendingProps) { 46265 // We currently set sibling to null and index to 0 here because it is easy 46266 // to forget to do before returning it. E.g. for the single child case. 46267 var clone = createWorkInProgress(fiber, pendingProps); 46268 clone.index = 0; 46269 clone.sibling = null; 46270 return clone; 46271 } 46272 46273 function placeChild(newFiber, lastPlacedIndex, newIndex) { 46274 newFiber.index = newIndex; 46275 46276 if (!shouldTrackSideEffects) { 46277 // Noop. 46278 return lastPlacedIndex; 46279 } 46280 46281 var current = newFiber.alternate; 46282 46283 if (current !== null) { 46284 var oldIndex = current.index; 46285 46286 if (oldIndex < lastPlacedIndex) { 46287 // This is a move. 46288 newFiber.effectTag = Placement; 46289 return lastPlacedIndex; 46290 } else { 46291 // This item can stay in place. 46292 return oldIndex; 46293 } 46294 } else { 46295 // This is an insertion. 46296 newFiber.effectTag = Placement; 46297 return lastPlacedIndex; 46298 } 46299 } 46300 46301 function placeSingleChild(newFiber) { 46302 // This is simpler for the single child case. We only need to do a 46303 // placement for inserting new children. 46304 if (shouldTrackSideEffects && newFiber.alternate === null) { 46305 newFiber.effectTag = Placement; 46306 } 46307 46308 return newFiber; 46309 } 46310 46311 function updateTextNode(returnFiber, current, textContent, expirationTime) { 46312 if (current === null || current.tag !== HostText) { 46313 // Insert 46314 var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); 46315 created.return = returnFiber; 46316 return created; 46317 } else { 46318 // Update 46319 var existing = useFiber(current, textContent); 46320 existing.return = returnFiber; 46321 return existing; 46322 } 46323 } 46324 46325 function updateElement(returnFiber, current, element, expirationTime) { 46326 if (current !== null) { 46327 if (current.elementType === element.type || ( // Keep this check inline so it only runs on the false path: 46328 isCompatibleFamilyForHotReloading(current, element) )) { 46329 // Move based on index 46330 var existing = useFiber(current, element.props); 46331 existing.ref = coerceRef(returnFiber, current, element); 46332 existing.return = returnFiber; 46333 46334 { 46335 existing._debugSource = element._source; 46336 existing._debugOwner = element._owner; 46337 } 46338 46339 return existing; 46340 } 46341 } // Insert 46342 46343 46344 var created = createFiberFromElement(element, returnFiber.mode, expirationTime); 46345 created.ref = coerceRef(returnFiber, current, element); 46346 created.return = returnFiber; 46347 return created; 46348 } 46349 46350 function updatePortal(returnFiber, current, portal, expirationTime) { 46351 if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) { 46352 // Insert 46353 var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); 46354 created.return = returnFiber; 46355 return created; 46356 } else { 46357 // Update 46358 var existing = useFiber(current, portal.children || []); 46359 existing.return = returnFiber; 46360 return existing; 46361 } 46362 } 46363 46364 function updateFragment(returnFiber, current, fragment, expirationTime, key) { 46365 if (current === null || current.tag !== Fragment) { 46366 // Insert 46367 var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key); 46368 created.return = returnFiber; 46369 return created; 46370 } else { 46371 // Update 46372 var existing = useFiber(current, fragment); 46373 existing.return = returnFiber; 46374 return existing; 46375 } 46376 } 46377 46378 function createChild(returnFiber, newChild, expirationTime) { 46379 if (typeof newChild === 'string' || typeof newChild === 'number') { 46380 // Text nodes don't have keys. If the previous node is implicitly keyed 46381 // we can continue to replace it without aborting even if it is not a text 46382 // node. 46383 var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime); 46384 created.return = returnFiber; 46385 return created; 46386 } 46387 46388 if (typeof newChild === 'object' && newChild !== null) { 46389 switch (newChild.$$typeof) { 46390 case REACT_ELEMENT_TYPE: 46391 { 46392 var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); 46393 46394 _created.ref = coerceRef(returnFiber, null, newChild); 46395 _created.return = returnFiber; 46396 return _created; 46397 } 46398 46399 case REACT_PORTAL_TYPE: 46400 { 46401 var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); 46402 46403 _created2.return = returnFiber; 46404 return _created2; 46405 } 46406 } 46407 46408 if (isArray$1(newChild) || getIteratorFn(newChild)) { 46409 var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); 46410 46411 _created3.return = returnFiber; 46412 return _created3; 46413 } 46414 46415 throwOnInvalidObjectType(returnFiber, newChild); 46416 } 46417 46418 { 46419 if (typeof newChild === 'function') { 46420 warnOnFunctionType(); 46421 } 46422 } 46423 46424 return null; 46425 } 46426 46427 function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { 46428 // Update the fiber if the keys match, otherwise return null. 46429 var key = oldFiber !== null ? oldFiber.key : null; 46430 46431 if (typeof newChild === 'string' || typeof newChild === 'number') { 46432 // Text nodes don't have keys. If the previous node is implicitly keyed 46433 // we can continue to replace it without aborting even if it is not a text 46434 // node. 46435 if (key !== null) { 46436 return null; 46437 } 46438 46439 return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime); 46440 } 46441 46442 if (typeof newChild === 'object' && newChild !== null) { 46443 switch (newChild.$$typeof) { 46444 case REACT_ELEMENT_TYPE: 46445 { 46446 if (newChild.key === key) { 46447 if (newChild.type === REACT_FRAGMENT_TYPE) { 46448 return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key); 46449 } 46450 46451 return updateElement(returnFiber, oldFiber, newChild, expirationTime); 46452 } else { 46453 return null; 46454 } 46455 } 46456 46457 case REACT_PORTAL_TYPE: 46458 { 46459 if (newChild.key === key) { 46460 return updatePortal(returnFiber, oldFiber, newChild, expirationTime); 46461 } else { 46462 return null; 46463 } 46464 } 46465 } 46466 46467 if (isArray$1(newChild) || getIteratorFn(newChild)) { 46468 if (key !== null) { 46469 return null; 46470 } 46471 46472 return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); 46473 } 46474 46475 throwOnInvalidObjectType(returnFiber, newChild); 46476 } 46477 46478 { 46479 if (typeof newChild === 'function') { 46480 warnOnFunctionType(); 46481 } 46482 } 46483 46484 return null; 46485 } 46486 46487 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { 46488 if (typeof newChild === 'string' || typeof newChild === 'number') { 46489 // Text nodes don't have keys, so we neither have to check the old nor 46490 // new node for the key. If both are text nodes, they match. 46491 var matchedFiber = existingChildren.get(newIdx) || null; 46492 return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime); 46493 } 46494 46495 if (typeof newChild === 'object' && newChild !== null) { 46496 switch (newChild.$$typeof) { 46497 case REACT_ELEMENT_TYPE: 46498 { 46499 var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; 46500 46501 if (newChild.type === REACT_FRAGMENT_TYPE) { 46502 return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key); 46503 } 46504 46505 return updateElement(returnFiber, _matchedFiber, newChild, expirationTime); 46506 } 46507 46508 case REACT_PORTAL_TYPE: 46509 { 46510 var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; 46511 46512 return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime); 46513 } 46514 } 46515 46516 if (isArray$1(newChild) || getIteratorFn(newChild)) { 46517 var _matchedFiber3 = existingChildren.get(newIdx) || null; 46518 46519 return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null); 46520 } 46521 46522 throwOnInvalidObjectType(returnFiber, newChild); 46523 } 46524 46525 { 46526 if (typeof newChild === 'function') { 46527 warnOnFunctionType(); 46528 } 46529 } 46530 46531 return null; 46532 } 46533 /** 46534 * Warns if there is a duplicate or missing key 46535 */ 46536 46537 46538 function warnOnInvalidKey(child, knownKeys) { 46539 { 46540 if (typeof child !== 'object' || child === null) { 46541 return knownKeys; 46542 } 46543 46544 switch (child.$$typeof) { 46545 case REACT_ELEMENT_TYPE: 46546 case REACT_PORTAL_TYPE: 46547 warnForMissingKey(child); 46548 var key = child.key; 46549 46550 if (typeof key !== 'string') { 46551 break; 46552 } 46553 46554 if (knownKeys === null) { 46555 knownKeys = new Set(); 46556 knownKeys.add(key); 46557 break; 46558 } 46559 46560 if (!knownKeys.has(key)) { 46561 knownKeys.add(key); 46562 break; 46563 } 46564 46565 error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted â the behavior is unsupported and ' + 'could change in a future version.', key); 46566 46567 break; 46568 } 46569 } 46570 46571 return knownKeys; 46572 } 46573 46574 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { 46575 // This algorithm can't optimize by searching from both ends since we 46576 // don't have backpointers on fibers. I'm trying to see how far we can get 46577 // with that model. If it ends up not being worth the tradeoffs, we can 46578 // add it later. 46579 // Even with a two ended optimization, we'd want to optimize for the case 46580 // where there are few changes and brute force the comparison instead of 46581 // going for the Map. It'd like to explore hitting that path first in 46582 // forward-only mode and only go for the Map once we notice that we need 46583 // lots of look ahead. This doesn't handle reversal as well as two ended 46584 // search but that's unusual. Besides, for the two ended optimization to 46585 // work on Iterables, we'd need to copy the whole set. 46586 // In this first iteration, we'll just live with hitting the bad case 46587 // (adding everything to a Map) in for every insert/move. 46588 // If you change this code, also update reconcileChildrenIterator() which 46589 // uses the same algorithm. 46590 { 46591 // First, validate keys. 46592 var knownKeys = null; 46593 46594 for (var i = 0; i < newChildren.length; i++) { 46595 var child = newChildren[i]; 46596 knownKeys = warnOnInvalidKey(child, knownKeys); 46597 } 46598 } 46599 46600 var resultingFirstChild = null; 46601 var previousNewFiber = null; 46602 var oldFiber = currentFirstChild; 46603 var lastPlacedIndex = 0; 46604 var newIdx = 0; 46605 var nextOldFiber = null; 46606 46607 for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { 46608 if (oldFiber.index > newIdx) { 46609 nextOldFiber = oldFiber; 46610 oldFiber = null; 46611 } else { 46612 nextOldFiber = oldFiber.sibling; 46613 } 46614 46615 var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); 46616 46617 if (newFiber === null) { 46618 // TODO: This breaks on empty slots like null children. That's 46619 // unfortunate because it triggers the slow path all the time. We need 46620 // a better way to communicate whether this was a miss or null, 46621 // boolean, undefined, etc. 46622 if (oldFiber === null) { 46623 oldFiber = nextOldFiber; 46624 } 46625 46626 break; 46627 } 46628 46629 if (shouldTrackSideEffects) { 46630 if (oldFiber && newFiber.alternate === null) { 46631 // We matched the slot, but we didn't reuse the existing fiber, so we 46632 // need to delete the existing child. 46633 deleteChild(returnFiber, oldFiber); 46634 } 46635 } 46636 46637 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 46638 46639 if (previousNewFiber === null) { 46640 // TODO: Move out of the loop. This only happens for the first run. 46641 resultingFirstChild = newFiber; 46642 } else { 46643 // TODO: Defer siblings if we're not at the right index for this slot. 46644 // I.e. if we had null values before, then we want to defer this 46645 // for each null value. However, we also don't want to call updateSlot 46646 // with the previous one. 46647 previousNewFiber.sibling = newFiber; 46648 } 46649 46650 previousNewFiber = newFiber; 46651 oldFiber = nextOldFiber; 46652 } 46653 46654 if (newIdx === newChildren.length) { 46655 // We've reached the end of the new children. We can delete the rest. 46656 deleteRemainingChildren(returnFiber, oldFiber); 46657 return resultingFirstChild; 46658 } 46659 46660 if (oldFiber === null) { 46661 // If we don't have any more existing children we can choose a fast path 46662 // since the rest will all be insertions. 46663 for (; newIdx < newChildren.length; newIdx++) { 46664 var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime); 46665 46666 if (_newFiber === null) { 46667 continue; 46668 } 46669 46670 lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); 46671 46672 if (previousNewFiber === null) { 46673 // TODO: Move out of the loop. This only happens for the first run. 46674 resultingFirstChild = _newFiber; 46675 } else { 46676 previousNewFiber.sibling = _newFiber; 46677 } 46678 46679 previousNewFiber = _newFiber; 46680 } 46681 46682 return resultingFirstChild; 46683 } // Add all children to a key map for quick lookups. 46684 46685 46686 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves. 46687 46688 for (; newIdx < newChildren.length; newIdx++) { 46689 var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime); 46690 46691 if (_newFiber2 !== null) { 46692 if (shouldTrackSideEffects) { 46693 if (_newFiber2.alternate !== null) { 46694 // The new fiber is a work in progress, but if there exists a 46695 // current, that means that we reused the fiber. We need to delete 46696 // it from the child list so that we don't add it to the deletion 46697 // list. 46698 existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); 46699 } 46700 } 46701 46702 lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); 46703 46704 if (previousNewFiber === null) { 46705 resultingFirstChild = _newFiber2; 46706 } else { 46707 previousNewFiber.sibling = _newFiber2; 46708 } 46709 46710 previousNewFiber = _newFiber2; 46711 } 46712 } 46713 46714 if (shouldTrackSideEffects) { 46715 // Any existing children that weren't consumed above were deleted. We need 46716 // to add them to the deletion list. 46717 existingChildren.forEach(function (child) { 46718 return deleteChild(returnFiber, child); 46719 }); 46720 } 46721 46722 return resultingFirstChild; 46723 } 46724 46725 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { 46726 // This is the same implementation as reconcileChildrenArray(), 46727 // but using the iterator instead. 46728 var iteratorFn = getIteratorFn(newChildrenIterable); 46729 46730 if (!(typeof iteratorFn === 'function')) { 46731 { 46732 throw Error( "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." ); 46733 } 46734 } 46735 46736 { 46737 // We don't support rendering Generators because it's a mutation. 46738 // See https://github.com/facebook/react/issues/12995 46739 if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag 46740 newChildrenIterable[Symbol.toStringTag] === 'Generator') { 46741 if (!didWarnAboutGenerators) { 46742 error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.'); 46743 } 46744 46745 didWarnAboutGenerators = true; 46746 } // Warn about using Maps as children 46747 46748 46749 if (newChildrenIterable.entries === iteratorFn) { 46750 if (!didWarnAboutMaps) { 46751 error('Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.'); 46752 } 46753 46754 didWarnAboutMaps = true; 46755 } // First, validate keys. 46756 // We'll get a different iterator later for the main pass. 46757 46758 46759 var _newChildren = iteratorFn.call(newChildrenIterable); 46760 46761 if (_newChildren) { 46762 var knownKeys = null; 46763 46764 var _step = _newChildren.next(); 46765 46766 for (; !_step.done; _step = _newChildren.next()) { 46767 var child = _step.value; 46768 knownKeys = warnOnInvalidKey(child, knownKeys); 46769 } 46770 } 46771 } 46772 46773 var newChildren = iteratorFn.call(newChildrenIterable); 46774 46775 if (!(newChildren != null)) { 46776 { 46777 throw Error( "An iterable object provided no iterator." ); 46778 } 46779 } 46780 46781 var resultingFirstChild = null; 46782 var previousNewFiber = null; 46783 var oldFiber = currentFirstChild; 46784 var lastPlacedIndex = 0; 46785 var newIdx = 0; 46786 var nextOldFiber = null; 46787 var step = newChildren.next(); 46788 46789 for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { 46790 if (oldFiber.index > newIdx) { 46791 nextOldFiber = oldFiber; 46792 oldFiber = null; 46793 } else { 46794 nextOldFiber = oldFiber.sibling; 46795 } 46796 46797 var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); 46798 46799 if (newFiber === null) { 46800 // TODO: This breaks on empty slots like null children. That's 46801 // unfortunate because it triggers the slow path all the time. We need 46802 // a better way to communicate whether this was a miss or null, 46803 // boolean, undefined, etc. 46804 if (oldFiber === null) { 46805 oldFiber = nextOldFiber; 46806 } 46807 46808 break; 46809 } 46810 46811 if (shouldTrackSideEffects) { 46812 if (oldFiber && newFiber.alternate === null) { 46813 // We matched the slot, but we didn't reuse the existing fiber, so we 46814 // need to delete the existing child. 46815 deleteChild(returnFiber, oldFiber); 46816 } 46817 } 46818 46819 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 46820 46821 if (previousNewFiber === null) { 46822 // TODO: Move out of the loop. This only happens for the first run. 46823 resultingFirstChild = newFiber; 46824 } else { 46825 // TODO: Defer siblings if we're not at the right index for this slot. 46826 // I.e. if we had null values before, then we want to defer this 46827 // for each null value. However, we also don't want to call updateSlot 46828 // with the previous one. 46829 previousNewFiber.sibling = newFiber; 46830 } 46831 46832 previousNewFiber = newFiber; 46833 oldFiber = nextOldFiber; 46834 } 46835 46836 if (step.done) { 46837 // We've reached the end of the new children. We can delete the rest. 46838 deleteRemainingChildren(returnFiber, oldFiber); 46839 return resultingFirstChild; 46840 } 46841 46842 if (oldFiber === null) { 46843 // If we don't have any more existing children we can choose a fast path 46844 // since the rest will all be insertions. 46845 for (; !step.done; newIdx++, step = newChildren.next()) { 46846 var _newFiber3 = createChild(returnFiber, step.value, expirationTime); 46847 46848 if (_newFiber3 === null) { 46849 continue; 46850 } 46851 46852 lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); 46853 46854 if (previousNewFiber === null) { 46855 // TODO: Move out of the loop. This only happens for the first run. 46856 resultingFirstChild = _newFiber3; 46857 } else { 46858 previousNewFiber.sibling = _newFiber3; 46859 } 46860 46861 previousNewFiber = _newFiber3; 46862 } 46863 46864 return resultingFirstChild; 46865 } // Add all children to a key map for quick lookups. 46866 46867 46868 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves. 46869 46870 for (; !step.done; newIdx++, step = newChildren.next()) { 46871 var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime); 46872 46873 if (_newFiber4 !== null) { 46874 if (shouldTrackSideEffects) { 46875 if (_newFiber4.alternate !== null) { 46876 // The new fiber is a work in progress, but if there exists a 46877 // current, that means that we reused the fiber. We need to delete 46878 // it from the child list so that we don't add it to the deletion 46879 // list. 46880 existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); 46881 } 46882 } 46883 46884 lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); 46885 46886 if (previousNewFiber === null) { 46887 resultingFirstChild = _newFiber4; 46888 } else { 46889 previousNewFiber.sibling = _newFiber4; 46890 } 46891 46892 previousNewFiber = _newFiber4; 46893 } 46894 } 46895 46896 if (shouldTrackSideEffects) { 46897 // Any existing children that weren't consumed above were deleted. We need 46898 // to add them to the deletion list. 46899 existingChildren.forEach(function (child) { 46900 return deleteChild(returnFiber, child); 46901 }); 46902 } 46903 46904 return resultingFirstChild; 46905 } 46906 46907 function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) { 46908 // There's no need to check for keys on text nodes since we don't have a 46909 // way to define them. 46910 if (currentFirstChild !== null && currentFirstChild.tag === HostText) { 46911 // We already have an existing node so let's just update it and delete 46912 // the rest. 46913 deleteRemainingChildren(returnFiber, currentFirstChild.sibling); 46914 var existing = useFiber(currentFirstChild, textContent); 46915 existing.return = returnFiber; 46916 return existing; 46917 } // The existing first child is not a text node so we need to create one 46918 // and delete the existing ones. 46919 46920 46921 deleteRemainingChildren(returnFiber, currentFirstChild); 46922 var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); 46923 created.return = returnFiber; 46924 return created; 46925 } 46926 46927 function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) { 46928 var key = element.key; 46929 var child = currentFirstChild; 46930 46931 while (child !== null) { 46932 // TODO: If key === null and child.key === null, then this only applies to 46933 // the first item in the list. 46934 if (child.key === key) { 46935 switch (child.tag) { 46936 case Fragment: 46937 { 46938 if (element.type === REACT_FRAGMENT_TYPE) { 46939 deleteRemainingChildren(returnFiber, child.sibling); 46940 var existing = useFiber(child, element.props.children); 46941 existing.return = returnFiber; 46942 46943 { 46944 existing._debugSource = element._source; 46945 existing._debugOwner = element._owner; 46946 } 46947 46948 return existing; 46949 } 46950 46951 break; 46952 } 46953 46954 case Block: 46955 46956 // We intentionally fallthrough here if enableBlocksAPI is not on. 46957 // eslint-disable-next-lined no-fallthrough 46958 46959 default: 46960 { 46961 if (child.elementType === element.type || ( // Keep this check inline so it only runs on the false path: 46962 isCompatibleFamilyForHotReloading(child, element) )) { 46963 deleteRemainingChildren(returnFiber, child.sibling); 46964 46965 var _existing3 = useFiber(child, element.props); 46966 46967 _existing3.ref = coerceRef(returnFiber, child, element); 46968 _existing3.return = returnFiber; 46969 46970 { 46971 _existing3._debugSource = element._source; 46972 _existing3._debugOwner = element._owner; 46973 } 46974 46975 return _existing3; 46976 } 46977 46978 break; 46979 } 46980 } // Didn't match. 46981 46982 46983 deleteRemainingChildren(returnFiber, child); 46984 break; 46985 } else { 46986 deleteChild(returnFiber, child); 46987 } 46988 46989 child = child.sibling; 46990 } 46991 46992 if (element.type === REACT_FRAGMENT_TYPE) { 46993 var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key); 46994 created.return = returnFiber; 46995 return created; 46996 } else { 46997 var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime); 46998 46999 _created4.ref = coerceRef(returnFiber, currentFirstChild, element); 47000 _created4.return = returnFiber; 47001 return _created4; 47002 } 47003 } 47004 47005 function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) { 47006 var key = portal.key; 47007 var child = currentFirstChild; 47008 47009 while (child !== null) { 47010 // TODO: If key === null and child.key === null, then this only applies to 47011 // the first item in the list. 47012 if (child.key === key) { 47013 if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { 47014 deleteRemainingChildren(returnFiber, child.sibling); 47015 var existing = useFiber(child, portal.children || []); 47016 existing.return = returnFiber; 47017 return existing; 47018 } else { 47019 deleteRemainingChildren(returnFiber, child); 47020 break; 47021 } 47022 } else { 47023 deleteChild(returnFiber, child); 47024 } 47025 47026 child = child.sibling; 47027 } 47028 47029 var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); 47030 created.return = returnFiber; 47031 return created; 47032 } // This API will tag the children with the side-effect of the reconciliation 47033 // itself. They will be added to the side-effect list as we pass through the 47034 // children and the parent. 47035 47036 47037 function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) { 47038 // This function is not recursive. 47039 // If the top level item is an array, we treat it as a set of children, 47040 // not as a fragment. Nested arrays on the other hand will be treated as 47041 // fragment nodes. Recursion happens at the normal flow. 47042 // Handle top level unkeyed fragments as if they were arrays. 47043 // This leads to an ambiguity between <>{[...]}</> and <>...</>. 47044 // We treat the ambiguous cases above the same. 47045 var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null; 47046 47047 if (isUnkeyedTopLevelFragment) { 47048 newChild = newChild.props.children; 47049 } // Handle object types 47050 47051 47052 var isObject = typeof newChild === 'object' && newChild !== null; 47053 47054 if (isObject) { 47055 switch (newChild.$$typeof) { 47056 case REACT_ELEMENT_TYPE: 47057 return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime)); 47058 47059 case REACT_PORTAL_TYPE: 47060 return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime)); 47061 } 47062 } 47063 47064 if (typeof newChild === 'string' || typeof newChild === 'number') { 47065 return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime)); 47066 } 47067 47068 if (isArray$1(newChild)) { 47069 return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); 47070 } 47071 47072 if (getIteratorFn(newChild)) { 47073 return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); 47074 } 47075 47076 if (isObject) { 47077 throwOnInvalidObjectType(returnFiber, newChild); 47078 } 47079 47080 { 47081 if (typeof newChild === 'function') { 47082 warnOnFunctionType(); 47083 } 47084 } 47085 47086 if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) { 47087 // If the new child is undefined, and the return fiber is a composite 47088 // component, throw an error. If Fiber return types are disabled, 47089 // we already threw above. 47090 switch (returnFiber.tag) { 47091 case ClassComponent: 47092 { 47093 { 47094 var instance = returnFiber.stateNode; 47095 47096 if (instance.render._isMockFunction) { 47097 // We allow auto-mocks to proceed as if they're returning null. 47098 break; 47099 } 47100 } 47101 } 47102 // Intentionally fall through to the next case, which handles both 47103 // functions and classes 47104 // eslint-disable-next-lined no-fallthrough 47105 47106 case FunctionComponent: 47107 { 47108 var Component = returnFiber.type; 47109 47110 { 47111 { 47112 throw Error( (Component.displayName || Component.name || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null." ); 47113 } 47114 } 47115 } 47116 } 47117 } // Remaining cases are all treated as empty. 47118 47119 47120 return deleteRemainingChildren(returnFiber, currentFirstChild); 47121 } 47122 47123 return reconcileChildFibers; 47124} 47125 47126var reconcileChildFibers = ChildReconciler(true); 47127var mountChildFibers = ChildReconciler(false); 47128function cloneChildFibers(current, workInProgress) { 47129 if (!(current === null || workInProgress.child === current.child)) { 47130 { 47131 throw Error( "Resuming work not yet implemented." ); 47132 } 47133 } 47134 47135 if (workInProgress.child === null) { 47136 return; 47137 } 47138 47139 var currentChild = workInProgress.child; 47140 var newChild = createWorkInProgress(currentChild, currentChild.pendingProps); 47141 workInProgress.child = newChild; 47142 newChild.return = workInProgress; 47143 47144 while (currentChild.sibling !== null) { 47145 currentChild = currentChild.sibling; 47146 newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps); 47147 newChild.return = workInProgress; 47148 } 47149 47150 newChild.sibling = null; 47151} // Reset a workInProgress child set to prepare it for a second pass. 47152 47153function resetChildFibers(workInProgress, renderExpirationTime) { 47154 var child = workInProgress.child; 47155 47156 while (child !== null) { 47157 resetWorkInProgress(child, renderExpirationTime); 47158 child = child.sibling; 47159 } 47160} 47161 47162var NO_CONTEXT = {}; 47163var contextStackCursor$1 = createCursor(NO_CONTEXT); 47164var contextFiberStackCursor = createCursor(NO_CONTEXT); 47165var rootInstanceStackCursor = createCursor(NO_CONTEXT); 47166 47167function requiredContext(c) { 47168 if (!(c !== NO_CONTEXT)) { 47169 { 47170 throw Error( "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." ); 47171 } 47172 } 47173 47174 return c; 47175} 47176 47177function getRootHostContainer() { 47178 var rootInstance = requiredContext(rootInstanceStackCursor.current); 47179 return rootInstance; 47180} 47181 47182function pushHostContainer(fiber, nextRootInstance) { 47183 // Push current root instance onto the stack; 47184 // This allows us to reset root when portals are popped. 47185 push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it. 47186 // This enables us to pop only Fibers that provide unique contexts. 47187 47188 push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack. 47189 // However, we can't just call getRootHostContext() and push it because 47190 // we'd have a different number of entries on the stack depending on 47191 // whether getRootHostContext() throws somewhere in renderer code or not. 47192 // So we push an empty value first. This lets us safely unwind on errors. 47193 47194 push(contextStackCursor$1, NO_CONTEXT, fiber); 47195 var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it. 47196 47197 pop(contextStackCursor$1, fiber); 47198 push(contextStackCursor$1, nextRootContext, fiber); 47199} 47200 47201function popHostContainer(fiber) { 47202 pop(contextStackCursor$1, fiber); 47203 pop(contextFiberStackCursor, fiber); 47204 pop(rootInstanceStackCursor, fiber); 47205} 47206 47207function getHostContext() { 47208 var context = requiredContext(contextStackCursor$1.current); 47209 return context; 47210} 47211 47212function pushHostContext(fiber) { 47213 var rootInstance = requiredContext(rootInstanceStackCursor.current); 47214 var context = requiredContext(contextStackCursor$1.current); 47215 var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique. 47216 47217 if (context === nextContext) { 47218 return; 47219 } // Track the context and the Fiber that provided it. 47220 // This enables us to pop only Fibers that provide unique contexts. 47221 47222 47223 push(contextFiberStackCursor, fiber, fiber); 47224 push(contextStackCursor$1, nextContext, fiber); 47225} 47226 47227function popHostContext(fiber) { 47228 // Do not pop unless this Fiber provided the current context. 47229 // pushHostContext() only pushes Fibers that provide unique contexts. 47230 if (contextFiberStackCursor.current !== fiber) { 47231 return; 47232 } 47233 47234 pop(contextStackCursor$1, fiber); 47235 pop(contextFiberStackCursor, fiber); 47236} 47237 47238var DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is 47239// inherited deeply down the subtree. The upper bits only affect 47240// this immediate suspense boundary and gets reset each new 47241// boundary or suspense list. 47242 47243var SubtreeSuspenseContextMask = 1; // Subtree Flags: 47244// InvisibleParentSuspenseContext indicates that one of our parent Suspense 47245// boundaries is not currently showing visible main content. 47246// Either because it is already showing a fallback or is not mounted at all. 47247// We can use this to determine if it is desirable to trigger a fallback at 47248// the parent. If not, then we might need to trigger undesirable boundaries 47249// and/or suspend the commit to avoid hiding the parent content. 47250 47251var InvisibleParentSuspenseContext = 1; // Shallow Flags: 47252// ForceSuspenseFallback can be used by SuspenseList to force newly added 47253// items into their fallback state during one of the render passes. 47254 47255var ForceSuspenseFallback = 2; 47256var suspenseStackCursor = createCursor(DefaultSuspenseContext); 47257function hasSuspenseContext(parentContext, flag) { 47258 return (parentContext & flag) !== 0; 47259} 47260function setDefaultShallowSuspenseContext(parentContext) { 47261 return parentContext & SubtreeSuspenseContextMask; 47262} 47263function setShallowSuspenseContext(parentContext, shallowContext) { 47264 return parentContext & SubtreeSuspenseContextMask | shallowContext; 47265} 47266function addSubtreeSuspenseContext(parentContext, subtreeContext) { 47267 return parentContext | subtreeContext; 47268} 47269function pushSuspenseContext(fiber, newContext) { 47270 push(suspenseStackCursor, newContext, fiber); 47271} 47272function popSuspenseContext(fiber) { 47273 pop(suspenseStackCursor, fiber); 47274} 47275 47276function shouldCaptureSuspense(workInProgress, hasInvisibleParent) { 47277 // If it was the primary children that just suspended, capture and render the 47278 // fallback. Otherwise, don't capture and bubble to the next boundary. 47279 var nextState = workInProgress.memoizedState; 47280 47281 if (nextState !== null) { 47282 if (nextState.dehydrated !== null) { 47283 // A dehydrated boundary always captures. 47284 return true; 47285 } 47286 47287 return false; 47288 } 47289 47290 var props = workInProgress.memoizedProps; // In order to capture, the Suspense component must have a fallback prop. 47291 47292 if (props.fallback === undefined) { 47293 return false; 47294 } // Regular boundaries always capture. 47295 47296 47297 if (props.unstable_avoidThisFallback !== true) { 47298 return true; 47299 } // If it's a boundary we should avoid, then we prefer to bubble up to the 47300 // parent boundary if it is currently invisible. 47301 47302 47303 if (hasInvisibleParent) { 47304 return false; 47305 } // If the parent is not able to handle it, we must handle it. 47306 47307 47308 return true; 47309} 47310function findFirstSuspended(row) { 47311 var node = row; 47312 47313 while (node !== null) { 47314 if (node.tag === SuspenseComponent) { 47315 var state = node.memoizedState; 47316 47317 if (state !== null) { 47318 var dehydrated = state.dehydrated; 47319 47320 if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) { 47321 return node; 47322 } 47323 } 47324 } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't 47325 // keep track of whether it suspended or not. 47326 node.memoizedProps.revealOrder !== undefined) { 47327 var didSuspend = (node.effectTag & DidCapture) !== NoEffect; 47328 47329 if (didSuspend) { 47330 return node; 47331 } 47332 } else if (node.child !== null) { 47333 node.child.return = node; 47334 node = node.child; 47335 continue; 47336 } 47337 47338 if (node === row) { 47339 return null; 47340 } 47341 47342 while (node.sibling === null) { 47343 if (node.return === null || node.return === row) { 47344 return null; 47345 } 47346 47347 node = node.return; 47348 } 47349 47350 node.sibling.return = node.return; 47351 node = node.sibling; 47352 } 47353 47354 return null; 47355} 47356 47357function createDeprecatedResponderListener(responder, props) { 47358 var eventResponderListener = { 47359 responder: responder, 47360 props: props 47361 }; 47362 47363 { 47364 Object.freeze(eventResponderListener); 47365 } 47366 47367 return eventResponderListener; 47368} 47369 47370var HasEffect = 47371/* */ 473721; // Represents the phase in which the effect (not the clean-up) fires. 47373 47374var Layout = 47375/* */ 473762; 47377var Passive$1 = 47378/* */ 473794; 47380 47381var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher, 47382 ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig; 47383var didWarnAboutMismatchedHooksForComponent; 47384 47385{ 47386 didWarnAboutMismatchedHooksForComponent = new Set(); 47387} 47388 47389// These are set right before calling the component. 47390var renderExpirationTime = NoWork; // The work-in-progress fiber. I've named it differently to distinguish it from 47391// the work-in-progress hook. 47392 47393var currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The 47394// current hook list is the list that belongs to the current fiber. The 47395// work-in-progress hook list is a new list that will be added to the 47396// work-in-progress fiber. 47397 47398var currentHook = null; 47399var workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This 47400// does not get reset if we do another render pass; only when we're completely 47401// finished evaluating this component. This is an optimization so we know 47402// whether we need to clear render phase updates after a throw. 47403 47404var didScheduleRenderPhaseUpdate = false; 47405var RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook 47406 47407var currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders. 47408// The list stores the order of hooks used during the initial render (mount). 47409// Subsequent renders (updates) reference this list. 47410 47411var hookTypesDev = null; 47412var hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore 47413// the dependencies for Hooks that need them (e.g. useEffect or useMemo). 47414// When true, such Hooks will always be "remounted". Only used during hot reload. 47415 47416var ignorePreviousDependencies = false; 47417 47418function mountHookTypesDev() { 47419 { 47420 var hookName = currentHookNameInDev; 47421 47422 if (hookTypesDev === null) { 47423 hookTypesDev = [hookName]; 47424 } else { 47425 hookTypesDev.push(hookName); 47426 } 47427 } 47428} 47429 47430function updateHookTypesDev() { 47431 { 47432 var hookName = currentHookNameInDev; 47433 47434 if (hookTypesDev !== null) { 47435 hookTypesUpdateIndexDev++; 47436 47437 if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) { 47438 warnOnHookMismatchInDev(hookName); 47439 } 47440 } 47441 } 47442} 47443 47444function checkDepsAreArrayDev(deps) { 47445 { 47446 if (deps !== undefined && deps !== null && !Array.isArray(deps)) { 47447 // Verify deps, but only on mount to avoid extra checks. 47448 // It's unlikely their type would change as usually you define them inline. 47449 error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps); 47450 } 47451 } 47452} 47453 47454function warnOnHookMismatchInDev(currentHookName) { 47455 { 47456 var componentName = getComponentName(currentlyRenderingFiber$1.type); 47457 47458 if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) { 47459 didWarnAboutMismatchedHooksForComponent.add(componentName); 47460 47461 if (hookTypesDev !== null) { 47462 var table = ''; 47463 var secondColumnStart = 30; 47464 47465 for (var i = 0; i <= hookTypesUpdateIndexDev; i++) { 47466 var oldHookName = hookTypesDev[i]; 47467 var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName; 47468 var row = i + 1 + ". " + oldHookName; // Extra space so second column lines up 47469 // lol @ IE not supporting String#repeat 47470 47471 while (row.length < secondColumnStart) { 47472 row += ' '; 47473 } 47474 47475 row += newHookName + '\n'; 47476 table += row; 47477 } 47478 47479 error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + ' Previous render Next render\n' + ' ------------------------------------------------------\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table); 47480 } 47481 } 47482 } 47483} 47484 47485function throwInvalidHookError() { 47486 { 47487 { 47488 throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." ); 47489 } 47490 } 47491} 47492 47493function areHookInputsEqual(nextDeps, prevDeps) { 47494 { 47495 if (ignorePreviousDependencies) { 47496 // Only true when this component is being hot reloaded. 47497 return false; 47498 } 47499 } 47500 47501 if (prevDeps === null) { 47502 { 47503 error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev); 47504 } 47505 47506 return false; 47507 } 47508 47509 { 47510 // Don't bother comparing lengths in prod because these arrays should be 47511 // passed inline. 47512 if (nextDeps.length !== prevDeps.length) { 47513 error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + prevDeps.join(', ') + "]", "[" + nextDeps.join(', ') + "]"); 47514 } 47515 } 47516 47517 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) { 47518 if (objectIs(nextDeps[i], prevDeps[i])) { 47519 continue; 47520 } 47521 47522 return false; 47523 } 47524 47525 return true; 47526} 47527 47528function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderExpirationTime) { 47529 renderExpirationTime = nextRenderExpirationTime; 47530 currentlyRenderingFiber$1 = workInProgress; 47531 47532 { 47533 hookTypesDev = current !== null ? current._debugHookTypes : null; 47534 hookTypesUpdateIndexDev = -1; // Used for hot reloading: 47535 47536 ignorePreviousDependencies = current !== null && current.type !== workInProgress.type; 47537 } 47538 47539 workInProgress.memoizedState = null; 47540 workInProgress.updateQueue = null; 47541 workInProgress.expirationTime = NoWork; // The following should have already been reset 47542 // currentHook = null; 47543 // workInProgressHook = null; 47544 // didScheduleRenderPhaseUpdate = false; 47545 // TODO Warn if no hooks are used at all during mount, then some are used during update. 47546 // Currently we will identify the update render as a mount because memoizedState === null. 47547 // This is tricky because it's valid for certain types of components (e.g. React.lazy) 47548 // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used. 47549 // Non-stateful hooks (e.g. context) don't get added to memoizedState, 47550 // so memoizedState would be null during updates and mounts. 47551 47552 { 47553 if (current !== null && current.memoizedState !== null) { 47554 ReactCurrentDispatcher.current = HooksDispatcherOnUpdateInDEV; 47555 } else if (hookTypesDev !== null) { 47556 // This dispatcher handles an edge case where a component is updating, 47557 // but no stateful hooks have been used. 47558 // We want to match the production code behavior (which will use HooksDispatcherOnMount), 47559 // but with the extra DEV validation to ensure hooks ordering hasn't changed. 47560 // This dispatcher does that. 47561 ReactCurrentDispatcher.current = HooksDispatcherOnMountWithHookTypesInDEV; 47562 } else { 47563 ReactCurrentDispatcher.current = HooksDispatcherOnMountInDEV; 47564 } 47565 } 47566 47567 var children = Component(props, secondArg); // Check if there was a render phase update 47568 47569 if (workInProgress.expirationTime === renderExpirationTime) { 47570 // Keep rendering in a loop for as long as render phase updates continue to 47571 // be scheduled. Use a counter to prevent infinite loops. 47572 var numberOfReRenders = 0; 47573 47574 do { 47575 workInProgress.expirationTime = NoWork; 47576 47577 if (!(numberOfReRenders < RE_RENDER_LIMIT)) { 47578 { 47579 throw Error( "Too many re-renders. React limits the number of renders to prevent an infinite loop." ); 47580 } 47581 } 47582 47583 numberOfReRenders += 1; 47584 47585 { 47586 // Even when hot reloading, allow dependencies to stabilize 47587 // after first render to prevent infinite render phase updates. 47588 ignorePreviousDependencies = false; 47589 } // Start over from the beginning of the list 47590 47591 47592 currentHook = null; 47593 workInProgressHook = null; 47594 workInProgress.updateQueue = null; 47595 47596 { 47597 // Also validate hook order for cascading updates. 47598 hookTypesUpdateIndexDev = -1; 47599 } 47600 47601 ReactCurrentDispatcher.current = HooksDispatcherOnRerenderInDEV ; 47602 children = Component(props, secondArg); 47603 } while (workInProgress.expirationTime === renderExpirationTime); 47604 } // We can assume the previous dispatcher is always this one, since we set it 47605 // at the beginning of the render phase and there's no re-entrancy. 47606 47607 47608 ReactCurrentDispatcher.current = ContextOnlyDispatcher; 47609 47610 { 47611 workInProgress._debugHookTypes = hookTypesDev; 47612 } // This check uses currentHook so that it works the same in DEV and prod bundles. 47613 // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles. 47614 47615 47616 var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null; 47617 renderExpirationTime = NoWork; 47618 currentlyRenderingFiber$1 = null; 47619 currentHook = null; 47620 workInProgressHook = null; 47621 47622 { 47623 currentHookNameInDev = null; 47624 hookTypesDev = null; 47625 hookTypesUpdateIndexDev = -1; 47626 } 47627 47628 didScheduleRenderPhaseUpdate = false; 47629 47630 if (!!didRenderTooFewHooks) { 47631 { 47632 throw Error( "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." ); 47633 } 47634 } 47635 47636 return children; 47637} 47638function bailoutHooks(current, workInProgress, expirationTime) { 47639 workInProgress.updateQueue = current.updateQueue; 47640 workInProgress.effectTag &= ~(Passive | Update); 47641 47642 if (current.expirationTime <= expirationTime) { 47643 current.expirationTime = NoWork; 47644 } 47645} 47646function resetHooksAfterThrow() { 47647 // We can assume the previous dispatcher is always this one, since we set it 47648 // at the beginning of the render phase and there's no re-entrancy. 47649 ReactCurrentDispatcher.current = ContextOnlyDispatcher; 47650 47651 if (didScheduleRenderPhaseUpdate) { 47652 // There were render phase updates. These are only valid for this render 47653 // phase, which we are now aborting. Remove the updates from the queues so 47654 // they do not persist to the next render. Do not remove updates from hooks 47655 // that weren't processed. 47656 // 47657 // Only reset the updates from the queue if it has a clone. If it does 47658 // not have a clone, that means it wasn't processed, and the updates were 47659 // scheduled before we entered the render phase. 47660 var hook = currentlyRenderingFiber$1.memoizedState; 47661 47662 while (hook !== null) { 47663 var queue = hook.queue; 47664 47665 if (queue !== null) { 47666 queue.pending = null; 47667 } 47668 47669 hook = hook.next; 47670 } 47671 } 47672 47673 renderExpirationTime = NoWork; 47674 currentlyRenderingFiber$1 = null; 47675 currentHook = null; 47676 workInProgressHook = null; 47677 47678 { 47679 hookTypesDev = null; 47680 hookTypesUpdateIndexDev = -1; 47681 currentHookNameInDev = null; 47682 } 47683 47684 didScheduleRenderPhaseUpdate = false; 47685} 47686 47687function mountWorkInProgressHook() { 47688 var hook = { 47689 memoizedState: null, 47690 baseState: null, 47691 baseQueue: null, 47692 queue: null, 47693 next: null 47694 }; 47695 47696 if (workInProgressHook === null) { 47697 // This is the first hook in the list 47698 currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook; 47699 } else { 47700 // Append to the end of the list 47701 workInProgressHook = workInProgressHook.next = hook; 47702 } 47703 47704 return workInProgressHook; 47705} 47706 47707function updateWorkInProgressHook() { 47708 // This function is used both for updates and for re-renders triggered by a 47709 // render phase update. It assumes there is either a current hook we can 47710 // clone, or a work-in-progress hook from a previous render pass that we can 47711 // use as a base. When we reach the end of the base list, we must switch to 47712 // the dispatcher used for mounts. 47713 var nextCurrentHook; 47714 47715 if (currentHook === null) { 47716 var current = currentlyRenderingFiber$1.alternate; 47717 47718 if (current !== null) { 47719 nextCurrentHook = current.memoizedState; 47720 } else { 47721 nextCurrentHook = null; 47722 } 47723 } else { 47724 nextCurrentHook = currentHook.next; 47725 } 47726 47727 var nextWorkInProgressHook; 47728 47729 if (workInProgressHook === null) { 47730 nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState; 47731 } else { 47732 nextWorkInProgressHook = workInProgressHook.next; 47733 } 47734 47735 if (nextWorkInProgressHook !== null) { 47736 // There's already a work-in-progress. Reuse it. 47737 workInProgressHook = nextWorkInProgressHook; 47738 nextWorkInProgressHook = workInProgressHook.next; 47739 currentHook = nextCurrentHook; 47740 } else { 47741 // Clone from the current hook. 47742 if (!(nextCurrentHook !== null)) { 47743 { 47744 throw Error( "Rendered more hooks than during the previous render." ); 47745 } 47746 } 47747 47748 currentHook = nextCurrentHook; 47749 var newHook = { 47750 memoizedState: currentHook.memoizedState, 47751 baseState: currentHook.baseState, 47752 baseQueue: currentHook.baseQueue, 47753 queue: currentHook.queue, 47754 next: null 47755 }; 47756 47757 if (workInProgressHook === null) { 47758 // This is the first hook in the list. 47759 currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook; 47760 } else { 47761 // Append to the end of the list. 47762 workInProgressHook = workInProgressHook.next = newHook; 47763 } 47764 } 47765 47766 return workInProgressHook; 47767} 47768 47769function createFunctionComponentUpdateQueue() { 47770 return { 47771 lastEffect: null 47772 }; 47773} 47774 47775function basicStateReducer(state, action) { 47776 // $FlowFixMe: Flow doesn't like mixed types 47777 return typeof action === 'function' ? action(state) : action; 47778} 47779 47780function mountReducer(reducer, initialArg, init) { 47781 var hook = mountWorkInProgressHook(); 47782 var initialState; 47783 47784 if (init !== undefined) { 47785 initialState = init(initialArg); 47786 } else { 47787 initialState = initialArg; 47788 } 47789 47790 hook.memoizedState = hook.baseState = initialState; 47791 var queue = hook.queue = { 47792 pending: null, 47793 dispatch: null, 47794 lastRenderedReducer: reducer, 47795 lastRenderedState: initialState 47796 }; 47797 var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue); 47798 return [hook.memoizedState, dispatch]; 47799} 47800 47801function updateReducer(reducer, initialArg, init) { 47802 var hook = updateWorkInProgressHook(); 47803 var queue = hook.queue; 47804 47805 if (!(queue !== null)) { 47806 { 47807 throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." ); 47808 } 47809 } 47810 47811 queue.lastRenderedReducer = reducer; 47812 var current = currentHook; // The last rebase update that is NOT part of the base state. 47813 47814 var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet. 47815 47816 var pendingQueue = queue.pending; 47817 47818 if (pendingQueue !== null) { 47819 // We have new updates that haven't been processed yet. 47820 // We'll add them to the base queue. 47821 if (baseQueue !== null) { 47822 // Merge the pending queue and the base queue. 47823 var baseFirst = baseQueue.next; 47824 var pendingFirst = pendingQueue.next; 47825 baseQueue.next = pendingFirst; 47826 pendingQueue.next = baseFirst; 47827 } 47828 47829 current.baseQueue = baseQueue = pendingQueue; 47830 queue.pending = null; 47831 } 47832 47833 if (baseQueue !== null) { 47834 // We have a queue to process. 47835 var first = baseQueue.next; 47836 var newState = current.baseState; 47837 var newBaseState = null; 47838 var newBaseQueueFirst = null; 47839 var newBaseQueueLast = null; 47840 var update = first; 47841 47842 do { 47843 var updateExpirationTime = update.expirationTime; 47844 47845 if (updateExpirationTime < renderExpirationTime) { 47846 // Priority is insufficient. Skip this update. If this is the first 47847 // skipped update, the previous update/state is the new base 47848 // update/state. 47849 var clone = { 47850 expirationTime: update.expirationTime, 47851 suspenseConfig: update.suspenseConfig, 47852 action: update.action, 47853 eagerReducer: update.eagerReducer, 47854 eagerState: update.eagerState, 47855 next: null 47856 }; 47857 47858 if (newBaseQueueLast === null) { 47859 newBaseQueueFirst = newBaseQueueLast = clone; 47860 newBaseState = newState; 47861 } else { 47862 newBaseQueueLast = newBaseQueueLast.next = clone; 47863 } // Update the remaining priority in the queue. 47864 47865 47866 if (updateExpirationTime > currentlyRenderingFiber$1.expirationTime) { 47867 currentlyRenderingFiber$1.expirationTime = updateExpirationTime; 47868 markUnprocessedUpdateTime(updateExpirationTime); 47869 } 47870 } else { 47871 // This update does have sufficient priority. 47872 if (newBaseQueueLast !== null) { 47873 var _clone = { 47874 expirationTime: Sync, 47875 // This update is going to be committed so we never want uncommit it. 47876 suspenseConfig: update.suspenseConfig, 47877 action: update.action, 47878 eagerReducer: update.eagerReducer, 47879 eagerState: update.eagerState, 47880 next: null 47881 }; 47882 newBaseQueueLast = newBaseQueueLast.next = _clone; 47883 } // Mark the event time of this update as relevant to this render pass. 47884 // TODO: This should ideally use the true event time of this update rather than 47885 // its priority which is a derived and not reverseable value. 47886 // TODO: We should skip this update if it was already committed but currently 47887 // we have no way of detecting the difference between a committed and suspended 47888 // update here. 47889 47890 47891 markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update. 47892 47893 if (update.eagerReducer === reducer) { 47894 // If this update was processed eagerly, and its reducer matches the 47895 // current reducer, we can use the eagerly computed state. 47896 newState = update.eagerState; 47897 } else { 47898 var action = update.action; 47899 newState = reducer(newState, action); 47900 } 47901 } 47902 47903 update = update.next; 47904 } while (update !== null && update !== first); 47905 47906 if (newBaseQueueLast === null) { 47907 newBaseState = newState; 47908 } else { 47909 newBaseQueueLast.next = newBaseQueueFirst; 47910 } // Mark that the fiber performed work, but only if the new state is 47911 // different from the current state. 47912 47913 47914 if (!objectIs(newState, hook.memoizedState)) { 47915 markWorkInProgressReceivedUpdate(); 47916 } 47917 47918 hook.memoizedState = newState; 47919 hook.baseState = newBaseState; 47920 hook.baseQueue = newBaseQueueLast; 47921 queue.lastRenderedState = newState; 47922 } 47923 47924 var dispatch = queue.dispatch; 47925 return [hook.memoizedState, dispatch]; 47926} 47927 47928function rerenderReducer(reducer, initialArg, init) { 47929 var hook = updateWorkInProgressHook(); 47930 var queue = hook.queue; 47931 47932 if (!(queue !== null)) { 47933 { 47934 throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." ); 47935 } 47936 } 47937 47938 queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous 47939 // work-in-progress hook. 47940 47941 var dispatch = queue.dispatch; 47942 var lastRenderPhaseUpdate = queue.pending; 47943 var newState = hook.memoizedState; 47944 47945 if (lastRenderPhaseUpdate !== null) { 47946 // The queue doesn't persist past this render pass. 47947 queue.pending = null; 47948 var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next; 47949 var update = firstRenderPhaseUpdate; 47950 47951 do { 47952 // Process this render phase update. We don't have to check the 47953 // priority because it will always be the same as the current 47954 // render's. 47955 var action = update.action; 47956 newState = reducer(newState, action); 47957 update = update.next; 47958 } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is 47959 // different from the current state. 47960 47961 47962 if (!objectIs(newState, hook.memoizedState)) { 47963 markWorkInProgressReceivedUpdate(); 47964 } 47965 47966 hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to 47967 // the base state unless the queue is empty. 47968 // TODO: Not sure if this is the desired semantics, but it's what we 47969 // do for gDSFP. I can't remember why. 47970 47971 if (hook.baseQueue === null) { 47972 hook.baseState = newState; 47973 } 47974 47975 queue.lastRenderedState = newState; 47976 } 47977 47978 return [newState, dispatch]; 47979} 47980 47981function mountState(initialState) { 47982 var hook = mountWorkInProgressHook(); 47983 47984 if (typeof initialState === 'function') { 47985 // $FlowFixMe: Flow doesn't like mixed types 47986 initialState = initialState(); 47987 } 47988 47989 hook.memoizedState = hook.baseState = initialState; 47990 var queue = hook.queue = { 47991 pending: null, 47992 dispatch: null, 47993 lastRenderedReducer: basicStateReducer, 47994 lastRenderedState: initialState 47995 }; 47996 var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue); 47997 return [hook.memoizedState, dispatch]; 47998} 47999 48000function updateState(initialState) { 48001 return updateReducer(basicStateReducer); 48002} 48003 48004function rerenderState(initialState) { 48005 return rerenderReducer(basicStateReducer); 48006} 48007 48008function pushEffect(tag, create, destroy, deps) { 48009 var effect = { 48010 tag: tag, 48011 create: create, 48012 destroy: destroy, 48013 deps: deps, 48014 // Circular 48015 next: null 48016 }; 48017 var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue; 48018 48019 if (componentUpdateQueue === null) { 48020 componentUpdateQueue = createFunctionComponentUpdateQueue(); 48021 currentlyRenderingFiber$1.updateQueue = componentUpdateQueue; 48022 componentUpdateQueue.lastEffect = effect.next = effect; 48023 } else { 48024 var lastEffect = componentUpdateQueue.lastEffect; 48025 48026 if (lastEffect === null) { 48027 componentUpdateQueue.lastEffect = effect.next = effect; 48028 } else { 48029 var firstEffect = lastEffect.next; 48030 lastEffect.next = effect; 48031 effect.next = firstEffect; 48032 componentUpdateQueue.lastEffect = effect; 48033 } 48034 } 48035 48036 return effect; 48037} 48038 48039function mountRef(initialValue) { 48040 var hook = mountWorkInProgressHook(); 48041 var ref = { 48042 current: initialValue 48043 }; 48044 48045 { 48046 Object.seal(ref); 48047 } 48048 48049 hook.memoizedState = ref; 48050 return ref; 48051} 48052 48053function updateRef(initialValue) { 48054 var hook = updateWorkInProgressHook(); 48055 return hook.memoizedState; 48056} 48057 48058function mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { 48059 var hook = mountWorkInProgressHook(); 48060 var nextDeps = deps === undefined ? null : deps; 48061 currentlyRenderingFiber$1.effectTag |= fiberEffectTag; 48062 hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, undefined, nextDeps); 48063} 48064 48065function updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { 48066 var hook = updateWorkInProgressHook(); 48067 var nextDeps = deps === undefined ? null : deps; 48068 var destroy = undefined; 48069 48070 if (currentHook !== null) { 48071 var prevEffect = currentHook.memoizedState; 48072 destroy = prevEffect.destroy; 48073 48074 if (nextDeps !== null) { 48075 var prevDeps = prevEffect.deps; 48076 48077 if (areHookInputsEqual(nextDeps, prevDeps)) { 48078 pushEffect(hookEffectTag, create, destroy, nextDeps); 48079 return; 48080 } 48081 } 48082 } 48083 48084 currentlyRenderingFiber$1.effectTag |= fiberEffectTag; 48085 hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, destroy, nextDeps); 48086} 48087 48088function mountEffect(create, deps) { 48089 { 48090 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 48091 if ('undefined' !== typeof jest) { 48092 warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1); 48093 } 48094 } 48095 48096 return mountEffectImpl(Update | Passive, Passive$1, create, deps); 48097} 48098 48099function updateEffect(create, deps) { 48100 { 48101 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 48102 if ('undefined' !== typeof jest) { 48103 warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1); 48104 } 48105 } 48106 48107 return updateEffectImpl(Update | Passive, Passive$1, create, deps); 48108} 48109 48110function mountLayoutEffect(create, deps) { 48111 return mountEffectImpl(Update, Layout, create, deps); 48112} 48113 48114function updateLayoutEffect(create, deps) { 48115 return updateEffectImpl(Update, Layout, create, deps); 48116} 48117 48118function imperativeHandleEffect(create, ref) { 48119 if (typeof ref === 'function') { 48120 var refCallback = ref; 48121 48122 var _inst = create(); 48123 48124 refCallback(_inst); 48125 return function () { 48126 refCallback(null); 48127 }; 48128 } else if (ref !== null && ref !== undefined) { 48129 var refObject = ref; 48130 48131 { 48132 if (!refObject.hasOwnProperty('current')) { 48133 error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}'); 48134 } 48135 } 48136 48137 var _inst2 = create(); 48138 48139 refObject.current = _inst2; 48140 return function () { 48141 refObject.current = null; 48142 }; 48143 } 48144} 48145 48146function mountImperativeHandle(ref, create, deps) { 48147 { 48148 if (typeof create !== 'function') { 48149 error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null'); 48150 } 48151 } // TODO: If deps are provided, should we skip comparing the ref itself? 48152 48153 48154 var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; 48155 return mountEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 48156} 48157 48158function updateImperativeHandle(ref, create, deps) { 48159 { 48160 if (typeof create !== 'function') { 48161 error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null'); 48162 } 48163 } // TODO: If deps are provided, should we skip comparing the ref itself? 48164 48165 48166 var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; 48167 return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 48168} 48169 48170function mountDebugValue(value, formatterFn) {// This hook is normally a no-op. 48171 // The react-debug-hooks package injects its own implementation 48172 // so that e.g. DevTools can display custom hook values. 48173} 48174 48175var updateDebugValue = mountDebugValue; 48176 48177function mountCallback(callback, deps) { 48178 var hook = mountWorkInProgressHook(); 48179 var nextDeps = deps === undefined ? null : deps; 48180 hook.memoizedState = [callback, nextDeps]; 48181 return callback; 48182} 48183 48184function updateCallback(callback, deps) { 48185 var hook = updateWorkInProgressHook(); 48186 var nextDeps = deps === undefined ? null : deps; 48187 var prevState = hook.memoizedState; 48188 48189 if (prevState !== null) { 48190 if (nextDeps !== null) { 48191 var prevDeps = prevState[1]; 48192 48193 if (areHookInputsEqual(nextDeps, prevDeps)) { 48194 return prevState[0]; 48195 } 48196 } 48197 } 48198 48199 hook.memoizedState = [callback, nextDeps]; 48200 return callback; 48201} 48202 48203function mountMemo(nextCreate, deps) { 48204 var hook = mountWorkInProgressHook(); 48205 var nextDeps = deps === undefined ? null : deps; 48206 var nextValue = nextCreate(); 48207 hook.memoizedState = [nextValue, nextDeps]; 48208 return nextValue; 48209} 48210 48211function updateMemo(nextCreate, deps) { 48212 var hook = updateWorkInProgressHook(); 48213 var nextDeps = deps === undefined ? null : deps; 48214 var prevState = hook.memoizedState; 48215 48216 if (prevState !== null) { 48217 // Assume these are defined. If they're not, areHookInputsEqual will warn. 48218 if (nextDeps !== null) { 48219 var prevDeps = prevState[1]; 48220 48221 if (areHookInputsEqual(nextDeps, prevDeps)) { 48222 return prevState[0]; 48223 } 48224 } 48225 } 48226 48227 var nextValue = nextCreate(); 48228 hook.memoizedState = [nextValue, nextDeps]; 48229 return nextValue; 48230} 48231 48232function mountDeferredValue(value, config) { 48233 var _mountState = mountState(value), 48234 prevValue = _mountState[0], 48235 setValue = _mountState[1]; 48236 48237 mountEffect(function () { 48238 var previousConfig = ReactCurrentBatchConfig$1.suspense; 48239 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 48240 48241 try { 48242 setValue(value); 48243 } finally { 48244 ReactCurrentBatchConfig$1.suspense = previousConfig; 48245 } 48246 }, [value, config]); 48247 return prevValue; 48248} 48249 48250function updateDeferredValue(value, config) { 48251 var _updateState = updateState(), 48252 prevValue = _updateState[0], 48253 setValue = _updateState[1]; 48254 48255 updateEffect(function () { 48256 var previousConfig = ReactCurrentBatchConfig$1.suspense; 48257 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 48258 48259 try { 48260 setValue(value); 48261 } finally { 48262 ReactCurrentBatchConfig$1.suspense = previousConfig; 48263 } 48264 }, [value, config]); 48265 return prevValue; 48266} 48267 48268function rerenderDeferredValue(value, config) { 48269 var _rerenderState = rerenderState(), 48270 prevValue = _rerenderState[0], 48271 setValue = _rerenderState[1]; 48272 48273 updateEffect(function () { 48274 var previousConfig = ReactCurrentBatchConfig$1.suspense; 48275 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 48276 48277 try { 48278 setValue(value); 48279 } finally { 48280 ReactCurrentBatchConfig$1.suspense = previousConfig; 48281 } 48282 }, [value, config]); 48283 return prevValue; 48284} 48285 48286function startTransition(setPending, config, callback) { 48287 var priorityLevel = getCurrentPriorityLevel(); 48288 runWithPriority$1(priorityLevel < UserBlockingPriority$1 ? UserBlockingPriority$1 : priorityLevel, function () { 48289 setPending(true); 48290 }); 48291 runWithPriority$1(priorityLevel > NormalPriority ? NormalPriority : priorityLevel, function () { 48292 var previousConfig = ReactCurrentBatchConfig$1.suspense; 48293 ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config; 48294 48295 try { 48296 setPending(false); 48297 callback(); 48298 } finally { 48299 ReactCurrentBatchConfig$1.suspense = previousConfig; 48300 } 48301 }); 48302} 48303 48304function mountTransition(config) { 48305 var _mountState2 = mountState(false), 48306 isPending = _mountState2[0], 48307 setPending = _mountState2[1]; 48308 48309 var start = mountCallback(startTransition.bind(null, setPending, config), [setPending, config]); 48310 return [start, isPending]; 48311} 48312 48313function updateTransition(config) { 48314 var _updateState2 = updateState(), 48315 isPending = _updateState2[0], 48316 setPending = _updateState2[1]; 48317 48318 var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]); 48319 return [start, isPending]; 48320} 48321 48322function rerenderTransition(config) { 48323 var _rerenderState2 = rerenderState(), 48324 isPending = _rerenderState2[0], 48325 setPending = _rerenderState2[1]; 48326 48327 var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]); 48328 return [start, isPending]; 48329} 48330 48331function dispatchAction(fiber, queue, action) { 48332 { 48333 if (typeof arguments[3] === 'function') { 48334 error("State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().'); 48335 } 48336 } 48337 48338 var currentTime = requestCurrentTimeForUpdate(); 48339 var suspenseConfig = requestCurrentSuspenseConfig(); 48340 var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig); 48341 var update = { 48342 expirationTime: expirationTime, 48343 suspenseConfig: suspenseConfig, 48344 action: action, 48345 eagerReducer: null, 48346 eagerState: null, 48347 next: null 48348 }; 48349 48350 { 48351 update.priority = getCurrentPriorityLevel(); 48352 } // Append the update to the end of the list. 48353 48354 48355 var pending = queue.pending; 48356 48357 if (pending === null) { 48358 // This is the first update. Create a circular list. 48359 update.next = update; 48360 } else { 48361 update.next = pending.next; 48362 pending.next = update; 48363 } 48364 48365 queue.pending = update; 48366 var alternate = fiber.alternate; 48367 48368 if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) { 48369 // This is a render phase update. Stash it in a lazily-created map of 48370 // queue -> linked list of updates. After this render pass, we'll restart 48371 // and apply the stashed updates on top of the work-in-progress hook. 48372 didScheduleRenderPhaseUpdate = true; 48373 update.expirationTime = renderExpirationTime; 48374 currentlyRenderingFiber$1.expirationTime = renderExpirationTime; 48375 } else { 48376 if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) { 48377 // The queue is currently empty, which means we can eagerly compute the 48378 // next state before entering the render phase. If the new state is the 48379 // same as the current state, we may be able to bail out entirely. 48380 var lastRenderedReducer = queue.lastRenderedReducer; 48381 48382 if (lastRenderedReducer !== null) { 48383 var prevDispatcher; 48384 48385 { 48386 prevDispatcher = ReactCurrentDispatcher.current; 48387 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48388 } 48389 48390 try { 48391 var currentState = queue.lastRenderedState; 48392 var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute 48393 // it, on the update object. If the reducer hasn't changed by the 48394 // time we enter the render phase, then the eager state can be used 48395 // without calling the reducer again. 48396 48397 update.eagerReducer = lastRenderedReducer; 48398 update.eagerState = eagerState; 48399 48400 if (objectIs(eagerState, currentState)) { 48401 // Fast path. We can bail out without scheduling React to re-render. 48402 // It's still possible that we'll need to rebase this update later, 48403 // if the component re-renders for a different reason and by that 48404 // time the reducer has changed. 48405 return; 48406 } 48407 } catch (error) {// Suppress the error. It will throw again in the render phase. 48408 } finally { 48409 { 48410 ReactCurrentDispatcher.current = prevDispatcher; 48411 } 48412 } 48413 } 48414 } 48415 48416 { 48417 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 48418 if ('undefined' !== typeof jest) { 48419 warnIfNotScopedWithMatchingAct(fiber); 48420 warnIfNotCurrentlyActingUpdatesInDev(fiber); 48421 } 48422 } 48423 48424 scheduleWork(fiber, expirationTime); 48425 } 48426} 48427 48428var ContextOnlyDispatcher = { 48429 readContext: readContext, 48430 useCallback: throwInvalidHookError, 48431 useContext: throwInvalidHookError, 48432 useEffect: throwInvalidHookError, 48433 useImperativeHandle: throwInvalidHookError, 48434 useLayoutEffect: throwInvalidHookError, 48435 useMemo: throwInvalidHookError, 48436 useReducer: throwInvalidHookError, 48437 useRef: throwInvalidHookError, 48438 useState: throwInvalidHookError, 48439 useDebugValue: throwInvalidHookError, 48440 useResponder: throwInvalidHookError, 48441 useDeferredValue: throwInvalidHookError, 48442 useTransition: throwInvalidHookError 48443}; 48444var HooksDispatcherOnMountInDEV = null; 48445var HooksDispatcherOnMountWithHookTypesInDEV = null; 48446var HooksDispatcherOnUpdateInDEV = null; 48447var HooksDispatcherOnRerenderInDEV = null; 48448var InvalidNestedHooksDispatcherOnMountInDEV = null; 48449var InvalidNestedHooksDispatcherOnUpdateInDEV = null; 48450var InvalidNestedHooksDispatcherOnRerenderInDEV = null; 48451 48452{ 48453 var warnInvalidContextAccess = function () { 48454 error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().'); 48455 }; 48456 48457 var warnInvalidHookAccess = function () { 48458 error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks'); 48459 }; 48460 48461 HooksDispatcherOnMountInDEV = { 48462 readContext: function (context, observedBits) { 48463 return readContext(context, observedBits); 48464 }, 48465 useCallback: function (callback, deps) { 48466 currentHookNameInDev = 'useCallback'; 48467 mountHookTypesDev(); 48468 checkDepsAreArrayDev(deps); 48469 return mountCallback(callback, deps); 48470 }, 48471 useContext: function (context, observedBits) { 48472 currentHookNameInDev = 'useContext'; 48473 mountHookTypesDev(); 48474 return readContext(context, observedBits); 48475 }, 48476 useEffect: function (create, deps) { 48477 currentHookNameInDev = 'useEffect'; 48478 mountHookTypesDev(); 48479 checkDepsAreArrayDev(deps); 48480 return mountEffect(create, deps); 48481 }, 48482 useImperativeHandle: function (ref, create, deps) { 48483 currentHookNameInDev = 'useImperativeHandle'; 48484 mountHookTypesDev(); 48485 checkDepsAreArrayDev(deps); 48486 return mountImperativeHandle(ref, create, deps); 48487 }, 48488 useLayoutEffect: function (create, deps) { 48489 currentHookNameInDev = 'useLayoutEffect'; 48490 mountHookTypesDev(); 48491 checkDepsAreArrayDev(deps); 48492 return mountLayoutEffect(create, deps); 48493 }, 48494 useMemo: function (create, deps) { 48495 currentHookNameInDev = 'useMemo'; 48496 mountHookTypesDev(); 48497 checkDepsAreArrayDev(deps); 48498 var prevDispatcher = ReactCurrentDispatcher.current; 48499 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48500 48501 try { 48502 return mountMemo(create, deps); 48503 } finally { 48504 ReactCurrentDispatcher.current = prevDispatcher; 48505 } 48506 }, 48507 useReducer: function (reducer, initialArg, init) { 48508 currentHookNameInDev = 'useReducer'; 48509 mountHookTypesDev(); 48510 var prevDispatcher = ReactCurrentDispatcher.current; 48511 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48512 48513 try { 48514 return mountReducer(reducer, initialArg, init); 48515 } finally { 48516 ReactCurrentDispatcher.current = prevDispatcher; 48517 } 48518 }, 48519 useRef: function (initialValue) { 48520 currentHookNameInDev = 'useRef'; 48521 mountHookTypesDev(); 48522 return mountRef(initialValue); 48523 }, 48524 useState: function (initialState) { 48525 currentHookNameInDev = 'useState'; 48526 mountHookTypesDev(); 48527 var prevDispatcher = ReactCurrentDispatcher.current; 48528 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48529 48530 try { 48531 return mountState(initialState); 48532 } finally { 48533 ReactCurrentDispatcher.current = prevDispatcher; 48534 } 48535 }, 48536 useDebugValue: function (value, formatterFn) { 48537 currentHookNameInDev = 'useDebugValue'; 48538 mountHookTypesDev(); 48539 return mountDebugValue(); 48540 }, 48541 useResponder: function (responder, props) { 48542 currentHookNameInDev = 'useResponder'; 48543 mountHookTypesDev(); 48544 return createDeprecatedResponderListener(responder, props); 48545 }, 48546 useDeferredValue: function (value, config) { 48547 currentHookNameInDev = 'useDeferredValue'; 48548 mountHookTypesDev(); 48549 return mountDeferredValue(value, config); 48550 }, 48551 useTransition: function (config) { 48552 currentHookNameInDev = 'useTransition'; 48553 mountHookTypesDev(); 48554 return mountTransition(config); 48555 } 48556 }; 48557 HooksDispatcherOnMountWithHookTypesInDEV = { 48558 readContext: function (context, observedBits) { 48559 return readContext(context, observedBits); 48560 }, 48561 useCallback: function (callback, deps) { 48562 currentHookNameInDev = 'useCallback'; 48563 updateHookTypesDev(); 48564 return mountCallback(callback, deps); 48565 }, 48566 useContext: function (context, observedBits) { 48567 currentHookNameInDev = 'useContext'; 48568 updateHookTypesDev(); 48569 return readContext(context, observedBits); 48570 }, 48571 useEffect: function (create, deps) { 48572 currentHookNameInDev = 'useEffect'; 48573 updateHookTypesDev(); 48574 return mountEffect(create, deps); 48575 }, 48576 useImperativeHandle: function (ref, create, deps) { 48577 currentHookNameInDev = 'useImperativeHandle'; 48578 updateHookTypesDev(); 48579 return mountImperativeHandle(ref, create, deps); 48580 }, 48581 useLayoutEffect: function (create, deps) { 48582 currentHookNameInDev = 'useLayoutEffect'; 48583 updateHookTypesDev(); 48584 return mountLayoutEffect(create, deps); 48585 }, 48586 useMemo: function (create, deps) { 48587 currentHookNameInDev = 'useMemo'; 48588 updateHookTypesDev(); 48589 var prevDispatcher = ReactCurrentDispatcher.current; 48590 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48591 48592 try { 48593 return mountMemo(create, deps); 48594 } finally { 48595 ReactCurrentDispatcher.current = prevDispatcher; 48596 } 48597 }, 48598 useReducer: function (reducer, initialArg, init) { 48599 currentHookNameInDev = 'useReducer'; 48600 updateHookTypesDev(); 48601 var prevDispatcher = ReactCurrentDispatcher.current; 48602 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48603 48604 try { 48605 return mountReducer(reducer, initialArg, init); 48606 } finally { 48607 ReactCurrentDispatcher.current = prevDispatcher; 48608 } 48609 }, 48610 useRef: function (initialValue) { 48611 currentHookNameInDev = 'useRef'; 48612 updateHookTypesDev(); 48613 return mountRef(initialValue); 48614 }, 48615 useState: function (initialState) { 48616 currentHookNameInDev = 'useState'; 48617 updateHookTypesDev(); 48618 var prevDispatcher = ReactCurrentDispatcher.current; 48619 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48620 48621 try { 48622 return mountState(initialState); 48623 } finally { 48624 ReactCurrentDispatcher.current = prevDispatcher; 48625 } 48626 }, 48627 useDebugValue: function (value, formatterFn) { 48628 currentHookNameInDev = 'useDebugValue'; 48629 updateHookTypesDev(); 48630 return mountDebugValue(); 48631 }, 48632 useResponder: function (responder, props) { 48633 currentHookNameInDev = 'useResponder'; 48634 updateHookTypesDev(); 48635 return createDeprecatedResponderListener(responder, props); 48636 }, 48637 useDeferredValue: function (value, config) { 48638 currentHookNameInDev = 'useDeferredValue'; 48639 updateHookTypesDev(); 48640 return mountDeferredValue(value, config); 48641 }, 48642 useTransition: function (config) { 48643 currentHookNameInDev = 'useTransition'; 48644 updateHookTypesDev(); 48645 return mountTransition(config); 48646 } 48647 }; 48648 HooksDispatcherOnUpdateInDEV = { 48649 readContext: function (context, observedBits) { 48650 return readContext(context, observedBits); 48651 }, 48652 useCallback: function (callback, deps) { 48653 currentHookNameInDev = 'useCallback'; 48654 updateHookTypesDev(); 48655 return updateCallback(callback, deps); 48656 }, 48657 useContext: function (context, observedBits) { 48658 currentHookNameInDev = 'useContext'; 48659 updateHookTypesDev(); 48660 return readContext(context, observedBits); 48661 }, 48662 useEffect: function (create, deps) { 48663 currentHookNameInDev = 'useEffect'; 48664 updateHookTypesDev(); 48665 return updateEffect(create, deps); 48666 }, 48667 useImperativeHandle: function (ref, create, deps) { 48668 currentHookNameInDev = 'useImperativeHandle'; 48669 updateHookTypesDev(); 48670 return updateImperativeHandle(ref, create, deps); 48671 }, 48672 useLayoutEffect: function (create, deps) { 48673 currentHookNameInDev = 'useLayoutEffect'; 48674 updateHookTypesDev(); 48675 return updateLayoutEffect(create, deps); 48676 }, 48677 useMemo: function (create, deps) { 48678 currentHookNameInDev = 'useMemo'; 48679 updateHookTypesDev(); 48680 var prevDispatcher = ReactCurrentDispatcher.current; 48681 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48682 48683 try { 48684 return updateMemo(create, deps); 48685 } finally { 48686 ReactCurrentDispatcher.current = prevDispatcher; 48687 } 48688 }, 48689 useReducer: function (reducer, initialArg, init) { 48690 currentHookNameInDev = 'useReducer'; 48691 updateHookTypesDev(); 48692 var prevDispatcher = ReactCurrentDispatcher.current; 48693 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48694 48695 try { 48696 return updateReducer(reducer, initialArg, init); 48697 } finally { 48698 ReactCurrentDispatcher.current = prevDispatcher; 48699 } 48700 }, 48701 useRef: function (initialValue) { 48702 currentHookNameInDev = 'useRef'; 48703 updateHookTypesDev(); 48704 return updateRef(); 48705 }, 48706 useState: function (initialState) { 48707 currentHookNameInDev = 'useState'; 48708 updateHookTypesDev(); 48709 var prevDispatcher = ReactCurrentDispatcher.current; 48710 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48711 48712 try { 48713 return updateState(initialState); 48714 } finally { 48715 ReactCurrentDispatcher.current = prevDispatcher; 48716 } 48717 }, 48718 useDebugValue: function (value, formatterFn) { 48719 currentHookNameInDev = 'useDebugValue'; 48720 updateHookTypesDev(); 48721 return updateDebugValue(); 48722 }, 48723 useResponder: function (responder, props) { 48724 currentHookNameInDev = 'useResponder'; 48725 updateHookTypesDev(); 48726 return createDeprecatedResponderListener(responder, props); 48727 }, 48728 useDeferredValue: function (value, config) { 48729 currentHookNameInDev = 'useDeferredValue'; 48730 updateHookTypesDev(); 48731 return updateDeferredValue(value, config); 48732 }, 48733 useTransition: function (config) { 48734 currentHookNameInDev = 'useTransition'; 48735 updateHookTypesDev(); 48736 return updateTransition(config); 48737 } 48738 }; 48739 HooksDispatcherOnRerenderInDEV = { 48740 readContext: function (context, observedBits) { 48741 return readContext(context, observedBits); 48742 }, 48743 useCallback: function (callback, deps) { 48744 currentHookNameInDev = 'useCallback'; 48745 updateHookTypesDev(); 48746 return updateCallback(callback, deps); 48747 }, 48748 useContext: function (context, observedBits) { 48749 currentHookNameInDev = 'useContext'; 48750 updateHookTypesDev(); 48751 return readContext(context, observedBits); 48752 }, 48753 useEffect: function (create, deps) { 48754 currentHookNameInDev = 'useEffect'; 48755 updateHookTypesDev(); 48756 return updateEffect(create, deps); 48757 }, 48758 useImperativeHandle: function (ref, create, deps) { 48759 currentHookNameInDev = 'useImperativeHandle'; 48760 updateHookTypesDev(); 48761 return updateImperativeHandle(ref, create, deps); 48762 }, 48763 useLayoutEffect: function (create, deps) { 48764 currentHookNameInDev = 'useLayoutEffect'; 48765 updateHookTypesDev(); 48766 return updateLayoutEffect(create, deps); 48767 }, 48768 useMemo: function (create, deps) { 48769 currentHookNameInDev = 'useMemo'; 48770 updateHookTypesDev(); 48771 var prevDispatcher = ReactCurrentDispatcher.current; 48772 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 48773 48774 try { 48775 return updateMemo(create, deps); 48776 } finally { 48777 ReactCurrentDispatcher.current = prevDispatcher; 48778 } 48779 }, 48780 useReducer: function (reducer, initialArg, init) { 48781 currentHookNameInDev = 'useReducer'; 48782 updateHookTypesDev(); 48783 var prevDispatcher = ReactCurrentDispatcher.current; 48784 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 48785 48786 try { 48787 return rerenderReducer(reducer, initialArg, init); 48788 } finally { 48789 ReactCurrentDispatcher.current = prevDispatcher; 48790 } 48791 }, 48792 useRef: function (initialValue) { 48793 currentHookNameInDev = 'useRef'; 48794 updateHookTypesDev(); 48795 return updateRef(); 48796 }, 48797 useState: function (initialState) { 48798 currentHookNameInDev = 'useState'; 48799 updateHookTypesDev(); 48800 var prevDispatcher = ReactCurrentDispatcher.current; 48801 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 48802 48803 try { 48804 return rerenderState(initialState); 48805 } finally { 48806 ReactCurrentDispatcher.current = prevDispatcher; 48807 } 48808 }, 48809 useDebugValue: function (value, formatterFn) { 48810 currentHookNameInDev = 'useDebugValue'; 48811 updateHookTypesDev(); 48812 return updateDebugValue(); 48813 }, 48814 useResponder: function (responder, props) { 48815 currentHookNameInDev = 'useResponder'; 48816 updateHookTypesDev(); 48817 return createDeprecatedResponderListener(responder, props); 48818 }, 48819 useDeferredValue: function (value, config) { 48820 currentHookNameInDev = 'useDeferredValue'; 48821 updateHookTypesDev(); 48822 return rerenderDeferredValue(value, config); 48823 }, 48824 useTransition: function (config) { 48825 currentHookNameInDev = 'useTransition'; 48826 updateHookTypesDev(); 48827 return rerenderTransition(config); 48828 } 48829 }; 48830 InvalidNestedHooksDispatcherOnMountInDEV = { 48831 readContext: function (context, observedBits) { 48832 warnInvalidContextAccess(); 48833 return readContext(context, observedBits); 48834 }, 48835 useCallback: function (callback, deps) { 48836 currentHookNameInDev = 'useCallback'; 48837 warnInvalidHookAccess(); 48838 mountHookTypesDev(); 48839 return mountCallback(callback, deps); 48840 }, 48841 useContext: function (context, observedBits) { 48842 currentHookNameInDev = 'useContext'; 48843 warnInvalidHookAccess(); 48844 mountHookTypesDev(); 48845 return readContext(context, observedBits); 48846 }, 48847 useEffect: function (create, deps) { 48848 currentHookNameInDev = 'useEffect'; 48849 warnInvalidHookAccess(); 48850 mountHookTypesDev(); 48851 return mountEffect(create, deps); 48852 }, 48853 useImperativeHandle: function (ref, create, deps) { 48854 currentHookNameInDev = 'useImperativeHandle'; 48855 warnInvalidHookAccess(); 48856 mountHookTypesDev(); 48857 return mountImperativeHandle(ref, create, deps); 48858 }, 48859 useLayoutEffect: function (create, deps) { 48860 currentHookNameInDev = 'useLayoutEffect'; 48861 warnInvalidHookAccess(); 48862 mountHookTypesDev(); 48863 return mountLayoutEffect(create, deps); 48864 }, 48865 useMemo: function (create, deps) { 48866 currentHookNameInDev = 'useMemo'; 48867 warnInvalidHookAccess(); 48868 mountHookTypesDev(); 48869 var prevDispatcher = ReactCurrentDispatcher.current; 48870 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48871 48872 try { 48873 return mountMemo(create, deps); 48874 } finally { 48875 ReactCurrentDispatcher.current = prevDispatcher; 48876 } 48877 }, 48878 useReducer: function (reducer, initialArg, init) { 48879 currentHookNameInDev = 'useReducer'; 48880 warnInvalidHookAccess(); 48881 mountHookTypesDev(); 48882 var prevDispatcher = ReactCurrentDispatcher.current; 48883 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48884 48885 try { 48886 return mountReducer(reducer, initialArg, init); 48887 } finally { 48888 ReactCurrentDispatcher.current = prevDispatcher; 48889 } 48890 }, 48891 useRef: function (initialValue) { 48892 currentHookNameInDev = 'useRef'; 48893 warnInvalidHookAccess(); 48894 mountHookTypesDev(); 48895 return mountRef(initialValue); 48896 }, 48897 useState: function (initialState) { 48898 currentHookNameInDev = 'useState'; 48899 warnInvalidHookAccess(); 48900 mountHookTypesDev(); 48901 var prevDispatcher = ReactCurrentDispatcher.current; 48902 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV; 48903 48904 try { 48905 return mountState(initialState); 48906 } finally { 48907 ReactCurrentDispatcher.current = prevDispatcher; 48908 } 48909 }, 48910 useDebugValue: function (value, formatterFn) { 48911 currentHookNameInDev = 'useDebugValue'; 48912 warnInvalidHookAccess(); 48913 mountHookTypesDev(); 48914 return mountDebugValue(); 48915 }, 48916 useResponder: function (responder, props) { 48917 currentHookNameInDev = 'useResponder'; 48918 warnInvalidHookAccess(); 48919 mountHookTypesDev(); 48920 return createDeprecatedResponderListener(responder, props); 48921 }, 48922 useDeferredValue: function (value, config) { 48923 currentHookNameInDev = 'useDeferredValue'; 48924 warnInvalidHookAccess(); 48925 mountHookTypesDev(); 48926 return mountDeferredValue(value, config); 48927 }, 48928 useTransition: function (config) { 48929 currentHookNameInDev = 'useTransition'; 48930 warnInvalidHookAccess(); 48931 mountHookTypesDev(); 48932 return mountTransition(config); 48933 } 48934 }; 48935 InvalidNestedHooksDispatcherOnUpdateInDEV = { 48936 readContext: function (context, observedBits) { 48937 warnInvalidContextAccess(); 48938 return readContext(context, observedBits); 48939 }, 48940 useCallback: function (callback, deps) { 48941 currentHookNameInDev = 'useCallback'; 48942 warnInvalidHookAccess(); 48943 updateHookTypesDev(); 48944 return updateCallback(callback, deps); 48945 }, 48946 useContext: function (context, observedBits) { 48947 currentHookNameInDev = 'useContext'; 48948 warnInvalidHookAccess(); 48949 updateHookTypesDev(); 48950 return readContext(context, observedBits); 48951 }, 48952 useEffect: function (create, deps) { 48953 currentHookNameInDev = 'useEffect'; 48954 warnInvalidHookAccess(); 48955 updateHookTypesDev(); 48956 return updateEffect(create, deps); 48957 }, 48958 useImperativeHandle: function (ref, create, deps) { 48959 currentHookNameInDev = 'useImperativeHandle'; 48960 warnInvalidHookAccess(); 48961 updateHookTypesDev(); 48962 return updateImperativeHandle(ref, create, deps); 48963 }, 48964 useLayoutEffect: function (create, deps) { 48965 currentHookNameInDev = 'useLayoutEffect'; 48966 warnInvalidHookAccess(); 48967 updateHookTypesDev(); 48968 return updateLayoutEffect(create, deps); 48969 }, 48970 useMemo: function (create, deps) { 48971 currentHookNameInDev = 'useMemo'; 48972 warnInvalidHookAccess(); 48973 updateHookTypesDev(); 48974 var prevDispatcher = ReactCurrentDispatcher.current; 48975 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48976 48977 try { 48978 return updateMemo(create, deps); 48979 } finally { 48980 ReactCurrentDispatcher.current = prevDispatcher; 48981 } 48982 }, 48983 useReducer: function (reducer, initialArg, init) { 48984 currentHookNameInDev = 'useReducer'; 48985 warnInvalidHookAccess(); 48986 updateHookTypesDev(); 48987 var prevDispatcher = ReactCurrentDispatcher.current; 48988 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 48989 48990 try { 48991 return updateReducer(reducer, initialArg, init); 48992 } finally { 48993 ReactCurrentDispatcher.current = prevDispatcher; 48994 } 48995 }, 48996 useRef: function (initialValue) { 48997 currentHookNameInDev = 'useRef'; 48998 warnInvalidHookAccess(); 48999 updateHookTypesDev(); 49000 return updateRef(); 49001 }, 49002 useState: function (initialState) { 49003 currentHookNameInDev = 'useState'; 49004 warnInvalidHookAccess(); 49005 updateHookTypesDev(); 49006 var prevDispatcher = ReactCurrentDispatcher.current; 49007 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 49008 49009 try { 49010 return updateState(initialState); 49011 } finally { 49012 ReactCurrentDispatcher.current = prevDispatcher; 49013 } 49014 }, 49015 useDebugValue: function (value, formatterFn) { 49016 currentHookNameInDev = 'useDebugValue'; 49017 warnInvalidHookAccess(); 49018 updateHookTypesDev(); 49019 return updateDebugValue(); 49020 }, 49021 useResponder: function (responder, props) { 49022 currentHookNameInDev = 'useResponder'; 49023 warnInvalidHookAccess(); 49024 updateHookTypesDev(); 49025 return createDeprecatedResponderListener(responder, props); 49026 }, 49027 useDeferredValue: function (value, config) { 49028 currentHookNameInDev = 'useDeferredValue'; 49029 warnInvalidHookAccess(); 49030 updateHookTypesDev(); 49031 return updateDeferredValue(value, config); 49032 }, 49033 useTransition: function (config) { 49034 currentHookNameInDev = 'useTransition'; 49035 warnInvalidHookAccess(); 49036 updateHookTypesDev(); 49037 return updateTransition(config); 49038 } 49039 }; 49040 InvalidNestedHooksDispatcherOnRerenderInDEV = { 49041 readContext: function (context, observedBits) { 49042 warnInvalidContextAccess(); 49043 return readContext(context, observedBits); 49044 }, 49045 useCallback: function (callback, deps) { 49046 currentHookNameInDev = 'useCallback'; 49047 warnInvalidHookAccess(); 49048 updateHookTypesDev(); 49049 return updateCallback(callback, deps); 49050 }, 49051 useContext: function (context, observedBits) { 49052 currentHookNameInDev = 'useContext'; 49053 warnInvalidHookAccess(); 49054 updateHookTypesDev(); 49055 return readContext(context, observedBits); 49056 }, 49057 useEffect: function (create, deps) { 49058 currentHookNameInDev = 'useEffect'; 49059 warnInvalidHookAccess(); 49060 updateHookTypesDev(); 49061 return updateEffect(create, deps); 49062 }, 49063 useImperativeHandle: function (ref, create, deps) { 49064 currentHookNameInDev = 'useImperativeHandle'; 49065 warnInvalidHookAccess(); 49066 updateHookTypesDev(); 49067 return updateImperativeHandle(ref, create, deps); 49068 }, 49069 useLayoutEffect: function (create, deps) { 49070 currentHookNameInDev = 'useLayoutEffect'; 49071 warnInvalidHookAccess(); 49072 updateHookTypesDev(); 49073 return updateLayoutEffect(create, deps); 49074 }, 49075 useMemo: function (create, deps) { 49076 currentHookNameInDev = 'useMemo'; 49077 warnInvalidHookAccess(); 49078 updateHookTypesDev(); 49079 var prevDispatcher = ReactCurrentDispatcher.current; 49080 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 49081 49082 try { 49083 return updateMemo(create, deps); 49084 } finally { 49085 ReactCurrentDispatcher.current = prevDispatcher; 49086 } 49087 }, 49088 useReducer: function (reducer, initialArg, init) { 49089 currentHookNameInDev = 'useReducer'; 49090 warnInvalidHookAccess(); 49091 updateHookTypesDev(); 49092 var prevDispatcher = ReactCurrentDispatcher.current; 49093 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 49094 49095 try { 49096 return rerenderReducer(reducer, initialArg, init); 49097 } finally { 49098 ReactCurrentDispatcher.current = prevDispatcher; 49099 } 49100 }, 49101 useRef: function (initialValue) { 49102 currentHookNameInDev = 'useRef'; 49103 warnInvalidHookAccess(); 49104 updateHookTypesDev(); 49105 return updateRef(); 49106 }, 49107 useState: function (initialState) { 49108 currentHookNameInDev = 'useState'; 49109 warnInvalidHookAccess(); 49110 updateHookTypesDev(); 49111 var prevDispatcher = ReactCurrentDispatcher.current; 49112 ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 49113 49114 try { 49115 return rerenderState(initialState); 49116 } finally { 49117 ReactCurrentDispatcher.current = prevDispatcher; 49118 } 49119 }, 49120 useDebugValue: function (value, formatterFn) { 49121 currentHookNameInDev = 'useDebugValue'; 49122 warnInvalidHookAccess(); 49123 updateHookTypesDev(); 49124 return updateDebugValue(); 49125 }, 49126 useResponder: function (responder, props) { 49127 currentHookNameInDev = 'useResponder'; 49128 warnInvalidHookAccess(); 49129 updateHookTypesDev(); 49130 return createDeprecatedResponderListener(responder, props); 49131 }, 49132 useDeferredValue: function (value, config) { 49133 currentHookNameInDev = 'useDeferredValue'; 49134 warnInvalidHookAccess(); 49135 updateHookTypesDev(); 49136 return rerenderDeferredValue(value, config); 49137 }, 49138 useTransition: function (config) { 49139 currentHookNameInDev = 'useTransition'; 49140 warnInvalidHookAccess(); 49141 updateHookTypesDev(); 49142 return rerenderTransition(config); 49143 } 49144 }; 49145} 49146 49147var now$1 = Scheduler.unstable_now; 49148var commitTime = 0; 49149var profilerStartTime = -1; 49150 49151function getCommitTime() { 49152 return commitTime; 49153} 49154 49155function recordCommitTime() { 49156 49157 commitTime = now$1(); 49158} 49159 49160function startProfilerTimer(fiber) { 49161 49162 profilerStartTime = now$1(); 49163 49164 if (fiber.actualStartTime < 0) { 49165 fiber.actualStartTime = now$1(); 49166 } 49167} 49168 49169function stopProfilerTimerIfRunning(fiber) { 49170 49171 profilerStartTime = -1; 49172} 49173 49174function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) { 49175 49176 if (profilerStartTime >= 0) { 49177 var elapsedTime = now$1() - profilerStartTime; 49178 fiber.actualDuration += elapsedTime; 49179 49180 if (overrideBaseTime) { 49181 fiber.selfBaseDuration = elapsedTime; 49182 } 49183 49184 profilerStartTime = -1; 49185 } 49186} 49187 49188// This may have been an insertion or a hydration. 49189 49190var hydrationParentFiber = null; 49191var nextHydratableInstance = null; 49192var isHydrating = false; 49193 49194function enterHydrationState(fiber) { 49195 49196 var parentInstance = fiber.stateNode.containerInfo; 49197 nextHydratableInstance = getFirstHydratableChild(parentInstance); 49198 hydrationParentFiber = fiber; 49199 isHydrating = true; 49200 return true; 49201} 49202 49203function deleteHydratableInstance(returnFiber, instance) { 49204 { 49205 switch (returnFiber.tag) { 49206 case HostRoot: 49207 didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); 49208 break; 49209 49210 case HostComponent: 49211 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); 49212 break; 49213 } 49214 } 49215 49216 var childToDelete = createFiberFromHostInstanceForDeletion(); 49217 childToDelete.stateNode = instance; 49218 childToDelete.return = returnFiber; 49219 childToDelete.effectTag = Deletion; // This might seem like it belongs on progressedFirstDeletion. However, 49220 // these children are not part of the reconciliation list of children. 49221 // Even if we abort and rereconcile the children, that will try to hydrate 49222 // again and the nodes are still in the host tree so these will be 49223 // recreated. 49224 49225 if (returnFiber.lastEffect !== null) { 49226 returnFiber.lastEffect.nextEffect = childToDelete; 49227 returnFiber.lastEffect = childToDelete; 49228 } else { 49229 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; 49230 } 49231} 49232 49233function insertNonHydratedInstance(returnFiber, fiber) { 49234 fiber.effectTag = fiber.effectTag & ~Hydrating | Placement; 49235 49236 { 49237 switch (returnFiber.tag) { 49238 case HostRoot: 49239 { 49240 var parentContainer = returnFiber.stateNode.containerInfo; 49241 49242 switch (fiber.tag) { 49243 case HostComponent: 49244 var type = fiber.type; 49245 var props = fiber.pendingProps; 49246 didNotFindHydratableContainerInstance(parentContainer, type); 49247 break; 49248 49249 case HostText: 49250 var text = fiber.pendingProps; 49251 didNotFindHydratableContainerTextInstance(parentContainer, text); 49252 break; 49253 } 49254 49255 break; 49256 } 49257 49258 case HostComponent: 49259 { 49260 var parentType = returnFiber.type; 49261 var parentProps = returnFiber.memoizedProps; 49262 var parentInstance = returnFiber.stateNode; 49263 49264 switch (fiber.tag) { 49265 case HostComponent: 49266 var _type = fiber.type; 49267 var _props = fiber.pendingProps; 49268 didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type); 49269 break; 49270 49271 case HostText: 49272 var _text = fiber.pendingProps; 49273 didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text); 49274 break; 49275 49276 case SuspenseComponent: 49277 didNotFindHydratableSuspenseInstance(parentType, parentProps); 49278 break; 49279 } 49280 49281 break; 49282 } 49283 49284 default: 49285 return; 49286 } 49287 } 49288} 49289 49290function tryHydrate(fiber, nextInstance) { 49291 switch (fiber.tag) { 49292 case HostComponent: 49293 { 49294 var type = fiber.type; 49295 var props = fiber.pendingProps; 49296 var instance = canHydrateInstance(nextInstance, type); 49297 49298 if (instance !== null) { 49299 fiber.stateNode = instance; 49300 return true; 49301 } 49302 49303 return false; 49304 } 49305 49306 case HostText: 49307 { 49308 var text = fiber.pendingProps; 49309 var textInstance = canHydrateTextInstance(nextInstance, text); 49310 49311 if (textInstance !== null) { 49312 fiber.stateNode = textInstance; 49313 return true; 49314 } 49315 49316 return false; 49317 } 49318 49319 case SuspenseComponent: 49320 { 49321 49322 return false; 49323 } 49324 49325 default: 49326 return false; 49327 } 49328} 49329 49330function tryToClaimNextHydratableInstance(fiber) { 49331 if (!isHydrating) { 49332 return; 49333 } 49334 49335 var nextInstance = nextHydratableInstance; 49336 49337 if (!nextInstance) { 49338 // Nothing to hydrate. Make it an insertion. 49339 insertNonHydratedInstance(hydrationParentFiber, fiber); 49340 isHydrating = false; 49341 hydrationParentFiber = fiber; 49342 return; 49343 } 49344 49345 var firstAttemptedInstance = nextInstance; 49346 49347 if (!tryHydrate(fiber, nextInstance)) { 49348 // If we can't hydrate this instance let's try the next one. 49349 // We use this as a heuristic. It's based on intuition and not data so it 49350 // might be flawed or unnecessary. 49351 nextInstance = getNextHydratableSibling(firstAttemptedInstance); 49352 49353 if (!nextInstance || !tryHydrate(fiber, nextInstance)) { 49354 // Nothing to hydrate. Make it an insertion. 49355 insertNonHydratedInstance(hydrationParentFiber, fiber); 49356 isHydrating = false; 49357 hydrationParentFiber = fiber; 49358 return; 49359 } // We matched the next one, we'll now assume that the first one was 49360 // superfluous and we'll delete it. Since we can't eagerly delete it 49361 // we'll have to schedule a deletion. To do that, this node needs a dummy 49362 // fiber associated with it. 49363 49364 49365 deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance); 49366 } 49367 49368 hydrationParentFiber = fiber; 49369 nextHydratableInstance = getFirstHydratableChild(nextInstance); 49370} 49371 49372function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { 49373 49374 var instance = fiber.stateNode; 49375 var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); // TODO: Type this specific to this type of component. 49376 49377 fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there 49378 // is a new ref we mark this as an update. 49379 49380 if (updatePayload !== null) { 49381 return true; 49382 } 49383 49384 return false; 49385} 49386 49387function prepareToHydrateHostTextInstance(fiber) { 49388 49389 var textInstance = fiber.stateNode; 49390 var textContent = fiber.memoizedProps; 49391 var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); 49392 49393 { 49394 if (shouldUpdate) { 49395 // We assume that prepareToHydrateHostTextInstance is called in a context where the 49396 // hydration parent is the parent host component of this host text. 49397 var returnFiber = hydrationParentFiber; 49398 49399 if (returnFiber !== null) { 49400 switch (returnFiber.tag) { 49401 case HostRoot: 49402 { 49403 var parentContainer = returnFiber.stateNode.containerInfo; 49404 didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent); 49405 break; 49406 } 49407 49408 case HostComponent: 49409 { 49410 var parentType = returnFiber.type; 49411 var parentProps = returnFiber.memoizedProps; 49412 var parentInstance = returnFiber.stateNode; 49413 didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent); 49414 break; 49415 } 49416 } 49417 } 49418 } 49419 } 49420 49421 return shouldUpdate; 49422} 49423 49424function skipPastDehydratedSuspenseInstance(fiber) { 49425 49426 var suspenseState = fiber.memoizedState; 49427 var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null; 49428 49429 if (!suspenseInstance) { 49430 { 49431 throw Error( "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." ); 49432 } 49433 } 49434 49435 return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance); 49436} 49437 49438function popToNextHostParent(fiber) { 49439 var parent = fiber.return; 49440 49441 while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) { 49442 parent = parent.return; 49443 } 49444 49445 hydrationParentFiber = parent; 49446} 49447 49448function popHydrationState(fiber) { 49449 49450 if (fiber !== hydrationParentFiber) { 49451 // We're deeper than the current hydration context, inside an inserted 49452 // tree. 49453 return false; 49454 } 49455 49456 if (!isHydrating) { 49457 // If we're not currently hydrating but we're in a hydration context, then 49458 // we were an insertion and now need to pop up reenter hydration of our 49459 // siblings. 49460 popToNextHostParent(fiber); 49461 isHydrating = true; 49462 return false; 49463 } 49464 49465 var type = fiber.type; // If we have any remaining hydratable nodes, we need to delete them now. 49466 // We only do this deeper than head and body since they tend to have random 49467 // other nodes in them. We also ignore components with pure text content in 49468 // side of them. 49469 // TODO: Better heuristic. 49470 49471 if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) { 49472 var nextInstance = nextHydratableInstance; 49473 49474 while (nextInstance) { 49475 deleteHydratableInstance(fiber, nextInstance); 49476 nextInstance = getNextHydratableSibling(nextInstance); 49477 } 49478 } 49479 49480 popToNextHostParent(fiber); 49481 49482 if (fiber.tag === SuspenseComponent) { 49483 nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber); 49484 } else { 49485 nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; 49486 } 49487 49488 return true; 49489} 49490 49491function resetHydrationState() { 49492 49493 hydrationParentFiber = null; 49494 nextHydratableInstance = null; 49495 isHydrating = false; 49496} 49497 49498var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; 49499var didReceiveUpdate = false; 49500var didWarnAboutBadClass; 49501var didWarnAboutModulePatternComponent; 49502var didWarnAboutContextTypeOnFunctionComponent; 49503var didWarnAboutGetDerivedStateOnFunctionComponent; 49504var didWarnAboutFunctionRefs; 49505var didWarnAboutReassigningProps; 49506var didWarnAboutRevealOrder; 49507var didWarnAboutTailOptions; 49508 49509{ 49510 didWarnAboutBadClass = {}; 49511 didWarnAboutModulePatternComponent = {}; 49512 didWarnAboutContextTypeOnFunctionComponent = {}; 49513 didWarnAboutGetDerivedStateOnFunctionComponent = {}; 49514 didWarnAboutFunctionRefs = {}; 49515 didWarnAboutReassigningProps = false; 49516 didWarnAboutRevealOrder = {}; 49517 didWarnAboutTailOptions = {}; 49518} 49519 49520function reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime) { 49521 if (current === null) { 49522 // If this is a fresh new component that hasn't been rendered yet, we 49523 // won't update its child set by applying minimal side-effects. Instead, 49524 // we will add them all to the child before it gets rendered. That means 49525 // we can optimize this reconciliation pass by not tracking side-effects. 49526 workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 49527 } else { 49528 // If the current child is the same as the work in progress, it means that 49529 // we haven't yet started any work on these children. Therefore, we use 49530 // the clone algorithm to create a copy of all the current children. 49531 // If we had any progressed work already, that is invalid at this point so 49532 // let's throw it out. 49533 workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); 49534 } 49535} 49536 49537function forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime) { 49538 // This function is fork of reconcileChildren. It's used in cases where we 49539 // want to reconcile without matching against the existing set. This has the 49540 // effect of all current children being unmounted; even if the type and key 49541 // are the same, the old child is unmounted and a new child is created. 49542 // 49543 // To do this, we're going to go through the reconcile algorithm twice. In 49544 // the first pass, we schedule a deletion for all the current children by 49545 // passing null. 49546 workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderExpirationTime); // In the second pass, we mount the new children. The trick here is that we 49547 // pass null in place of where we usually pass the current child set. This has 49548 // the effect of remounting all children regardless of whether their 49549 // identities match. 49550 49551 workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 49552} 49553 49554function updateForwardRef(current, workInProgress, Component, nextProps, renderExpirationTime) { 49555 // TODO: current can be non-null here even if the component 49556 // hasn't yet mounted. This happens after the first render suspends. 49557 // We'll need to figure out if this is fine or can cause issues. 49558 { 49559 if (workInProgress.type !== workInProgress.elementType) { 49560 // Lazy component props can't be validated in createElement 49561 // because they're only guaranteed to be resolved here. 49562 var innerPropTypes = Component.propTypes; 49563 49564 if (innerPropTypes) { 49565 checkPropTypes(innerPropTypes, nextProps, // Resolved props 49566 'prop', getComponentName(Component), getCurrentFiberStackInDev); 49567 } 49568 } 49569 } 49570 49571 var render = Component.render; 49572 var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent 49573 49574 var nextChildren; 49575 prepareToReadContext(workInProgress, renderExpirationTime); 49576 49577 { 49578 ReactCurrentOwner$1.current = workInProgress; 49579 setIsRendering(true); 49580 nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime); 49581 49582 if ( workInProgress.mode & StrictMode) { 49583 // Only double-render components with Hooks 49584 if (workInProgress.memoizedState !== null) { 49585 nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime); 49586 } 49587 } 49588 49589 setIsRendering(false); 49590 } 49591 49592 if (current !== null && !didReceiveUpdate) { 49593 bailoutHooks(current, workInProgress, renderExpirationTime); 49594 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49595 } // React DevTools reads this flag. 49596 49597 49598 workInProgress.effectTag |= PerformedWork; 49599 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49600 return workInProgress.child; 49601} 49602 49603function updateMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { 49604 if (current === null) { 49605 var type = Component.type; 49606 49607 if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either. 49608 Component.defaultProps === undefined) { 49609 var resolvedType = type; 49610 49611 { 49612 resolvedType = resolveFunctionForHotReloading(type); 49613 } // If this is a plain function component without default props, 49614 // and with only the default shallow comparison, we upgrade it 49615 // to a SimpleMemoComponent to allow fast path updates. 49616 49617 49618 workInProgress.tag = SimpleMemoComponent; 49619 workInProgress.type = resolvedType; 49620 49621 { 49622 validateFunctionComponentInDev(workInProgress, type); 49623 } 49624 49625 return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime); 49626 } 49627 49628 { 49629 var innerPropTypes = type.propTypes; 49630 49631 if (innerPropTypes) { 49632 // Inner memo component props aren't currently validated in createElement. 49633 // We could move it there, but we'd still need this for lazy code path. 49634 checkPropTypes(innerPropTypes, nextProps, // Resolved props 49635 'prop', getComponentName(type), getCurrentFiberStackInDev); 49636 } 49637 } 49638 49639 var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime); 49640 child.ref = workInProgress.ref; 49641 child.return = workInProgress; 49642 workInProgress.child = child; 49643 return child; 49644 } 49645 49646 { 49647 var _type = Component.type; 49648 var _innerPropTypes = _type.propTypes; 49649 49650 if (_innerPropTypes) { 49651 // Inner memo component props aren't currently validated in createElement. 49652 // We could move it there, but we'd still need this for lazy code path. 49653 checkPropTypes(_innerPropTypes, nextProps, // Resolved props 49654 'prop', getComponentName(_type), getCurrentFiberStackInDev); 49655 } 49656 } 49657 49658 var currentChild = current.child; // This is always exactly one child 49659 49660 if (updateExpirationTime < renderExpirationTime) { 49661 // This will be the props with resolved defaultProps, 49662 // unlike current.memoizedProps which will be the unresolved ones. 49663 var prevProps = currentChild.memoizedProps; // Default to shallow comparison 49664 49665 var compare = Component.compare; 49666 compare = compare !== null ? compare : shallowEqual; 49667 49668 if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) { 49669 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49670 } 49671 } // React DevTools reads this flag. 49672 49673 49674 workInProgress.effectTag |= PerformedWork; 49675 var newChild = createWorkInProgress(currentChild, nextProps); 49676 newChild.ref = workInProgress.ref; 49677 newChild.return = workInProgress; 49678 workInProgress.child = newChild; 49679 return newChild; 49680} 49681 49682function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { 49683 // TODO: current can be non-null here even if the component 49684 // hasn't yet mounted. This happens when the inner render suspends. 49685 // We'll need to figure out if this is fine or can cause issues. 49686 { 49687 if (workInProgress.type !== workInProgress.elementType) { 49688 // Lazy component props can't be validated in createElement 49689 // because they're only guaranteed to be resolved here. 49690 var outerMemoType = workInProgress.elementType; 49691 49692 if (outerMemoType.$$typeof === REACT_LAZY_TYPE) { 49693 // We warn when you define propTypes on lazy() 49694 // so let's just skip over it to find memo() outer wrapper. 49695 // Inner props for memo are validated later. 49696 outerMemoType = refineResolvedLazyComponent(outerMemoType); 49697 } 49698 49699 var outerPropTypes = outerMemoType && outerMemoType.propTypes; 49700 49701 if (outerPropTypes) { 49702 checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps) 49703 'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev); 49704 } // Inner propTypes will be validated in the function component path. 49705 49706 } 49707 } 49708 49709 if (current !== null) { 49710 var prevProps = current.memoizedProps; 49711 49712 if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload. 49713 workInProgress.type === current.type )) { 49714 didReceiveUpdate = false; 49715 49716 if (updateExpirationTime < renderExpirationTime) { 49717 // The pending update priority was cleared at the beginning of 49718 // beginWork. We're about to bail out, but there might be additional 49719 // updates at a lower priority. Usually, the priority level of the 49720 // remaining updates is accumlated during the evaluation of the 49721 // component (i.e. when processing the update queue). But since since 49722 // we're bailing out early *without* evaluating the component, we need 49723 // to account for it here, too. Reset to the value of the current fiber. 49724 // NOTE: This only applies to SimpleMemoComponent, not MemoComponent, 49725 // because a MemoComponent fiber does not have hooks or an update queue; 49726 // rather, it wraps around an inner component, which may or may not 49727 // contains hooks. 49728 // TODO: Move the reset at in beginWork out of the common path so that 49729 // this is no longer necessary. 49730 workInProgress.expirationTime = current.expirationTime; 49731 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49732 } 49733 } 49734 } 49735 49736 return updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime); 49737} 49738 49739function updateFragment(current, workInProgress, renderExpirationTime) { 49740 var nextChildren = workInProgress.pendingProps; 49741 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49742 return workInProgress.child; 49743} 49744 49745function updateMode(current, workInProgress, renderExpirationTime) { 49746 var nextChildren = workInProgress.pendingProps.children; 49747 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49748 return workInProgress.child; 49749} 49750 49751function updateProfiler(current, workInProgress, renderExpirationTime) { 49752 { 49753 workInProgress.effectTag |= Update; 49754 } 49755 49756 var nextProps = workInProgress.pendingProps; 49757 var nextChildren = nextProps.children; 49758 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49759 return workInProgress.child; 49760} 49761 49762function markRef(current, workInProgress) { 49763 var ref = workInProgress.ref; 49764 49765 if (current === null && ref !== null || current !== null && current.ref !== ref) { 49766 // Schedule a Ref effect 49767 workInProgress.effectTag |= Ref; 49768 } 49769} 49770 49771function updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime) { 49772 { 49773 if (workInProgress.type !== workInProgress.elementType) { 49774 // Lazy component props can't be validated in createElement 49775 // because they're only guaranteed to be resolved here. 49776 var innerPropTypes = Component.propTypes; 49777 49778 if (innerPropTypes) { 49779 checkPropTypes(innerPropTypes, nextProps, // Resolved props 49780 'prop', getComponentName(Component), getCurrentFiberStackInDev); 49781 } 49782 } 49783 } 49784 49785 var context; 49786 49787 { 49788 var unmaskedContext = getUnmaskedContext(workInProgress, Component, true); 49789 context = getMaskedContext(workInProgress, unmaskedContext); 49790 } 49791 49792 var nextChildren; 49793 prepareToReadContext(workInProgress, renderExpirationTime); 49794 49795 { 49796 ReactCurrentOwner$1.current = workInProgress; 49797 setIsRendering(true); 49798 nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime); 49799 49800 if ( workInProgress.mode & StrictMode) { 49801 // Only double-render components with Hooks 49802 if (workInProgress.memoizedState !== null) { 49803 nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime); 49804 } 49805 } 49806 49807 setIsRendering(false); 49808 } 49809 49810 if (current !== null && !didReceiveUpdate) { 49811 bailoutHooks(current, workInProgress, renderExpirationTime); 49812 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49813 } // React DevTools reads this flag. 49814 49815 49816 workInProgress.effectTag |= PerformedWork; 49817 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49818 return workInProgress.child; 49819} 49820 49821function updateClassComponent(current, workInProgress, Component, nextProps, renderExpirationTime) { 49822 { 49823 if (workInProgress.type !== workInProgress.elementType) { 49824 // Lazy component props can't be validated in createElement 49825 // because they're only guaranteed to be resolved here. 49826 var innerPropTypes = Component.propTypes; 49827 49828 if (innerPropTypes) { 49829 checkPropTypes(innerPropTypes, nextProps, // Resolved props 49830 'prop', getComponentName(Component), getCurrentFiberStackInDev); 49831 } 49832 } 49833 } // Push context providers early to prevent context stack mismatches. 49834 // During mounting we don't know the child context yet as the instance doesn't exist. 49835 // We will invalidate the child context in finishClassComponent() right after rendering. 49836 49837 49838 var hasContext; 49839 49840 if (isContextProvider(Component)) { 49841 hasContext = true; 49842 pushContextProvider(workInProgress); 49843 } else { 49844 hasContext = false; 49845 } 49846 49847 prepareToReadContext(workInProgress, renderExpirationTime); 49848 var instance = workInProgress.stateNode; 49849 var shouldUpdate; 49850 49851 if (instance === null) { 49852 if (current !== null) { 49853 // A class component without an instance only mounts if it suspended 49854 // inside a non-concurrent tree, in an inconsistent state. We want to 49855 // treat it like a new mount, even though an empty version of it already 49856 // committed. Disconnect the alternate pointers. 49857 current.alternate = null; 49858 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 49859 49860 workInProgress.effectTag |= Placement; 49861 } // In the initial pass we might need to construct the instance. 49862 49863 49864 constructClassInstance(workInProgress, Component, nextProps); 49865 mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 49866 shouldUpdate = true; 49867 } else if (current === null) { 49868 // In a resume, we'll already have an instance we can reuse. 49869 shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 49870 } else { 49871 shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderExpirationTime); 49872 } 49873 49874 var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime); 49875 49876 { 49877 var inst = workInProgress.stateNode; 49878 49879 if (inst.props !== nextProps) { 49880 if (!didWarnAboutReassigningProps) { 49881 error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component'); 49882 } 49883 49884 didWarnAboutReassigningProps = true; 49885 } 49886 } 49887 49888 return nextUnitOfWork; 49889} 49890 49891function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) { 49892 // Refs should update even if shouldComponentUpdate returns false 49893 markRef(current, workInProgress); 49894 var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect; 49895 49896 if (!shouldUpdate && !didCaptureError) { 49897 // Context providers should defer to sCU for rendering 49898 if (hasContext) { 49899 invalidateContextProvider(workInProgress, Component, false); 49900 } 49901 49902 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49903 } 49904 49905 var instance = workInProgress.stateNode; // Rerender 49906 49907 ReactCurrentOwner$1.current = workInProgress; 49908 var nextChildren; 49909 49910 if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') { 49911 // If we captured an error, but getDerivedStateFromError is not defined, 49912 // unmount all the children. componentDidCatch will schedule an update to 49913 // re-render a fallback. This is temporary until we migrate everyone to 49914 // the new API. 49915 // TODO: Warn in a future release. 49916 nextChildren = null; 49917 49918 { 49919 stopProfilerTimerIfRunning(); 49920 } 49921 } else { 49922 { 49923 setIsRendering(true); 49924 nextChildren = instance.render(); 49925 49926 if ( workInProgress.mode & StrictMode) { 49927 instance.render(); 49928 } 49929 49930 setIsRendering(false); 49931 } 49932 } // React DevTools reads this flag. 49933 49934 49935 workInProgress.effectTag |= PerformedWork; 49936 49937 if (current !== null && didCaptureError) { 49938 // If we're recovering from an error, reconcile without reusing any of 49939 // the existing children. Conceptually, the normal children and the children 49940 // that are shown on error are two different sets, so we shouldn't reuse 49941 // normal children even if their identities match. 49942 forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime); 49943 } else { 49944 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 49945 } // Memoize state using the values we just used to render. 49946 // TODO: Restructure so we never read values from the instance. 49947 49948 49949 workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it. 49950 49951 if (hasContext) { 49952 invalidateContextProvider(workInProgress, Component, true); 49953 } 49954 49955 return workInProgress.child; 49956} 49957 49958function pushHostRootContext(workInProgress) { 49959 var root = workInProgress.stateNode; 49960 49961 if (root.pendingContext) { 49962 pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context); 49963 } else if (root.context) { 49964 // Should always be set 49965 pushTopLevelContextObject(workInProgress, root.context, false); 49966 } 49967 49968 pushHostContainer(workInProgress, root.containerInfo); 49969} 49970 49971function updateHostRoot(current, workInProgress, renderExpirationTime) { 49972 pushHostRootContext(workInProgress); 49973 var updateQueue = workInProgress.updateQueue; 49974 49975 if (!(current !== null && updateQueue !== null)) { 49976 { 49977 throw Error( "If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue." ); 49978 } 49979 } 49980 49981 var nextProps = workInProgress.pendingProps; 49982 var prevState = workInProgress.memoizedState; 49983 var prevChildren = prevState !== null ? prevState.element : null; 49984 cloneUpdateQueue(current, workInProgress); 49985 processUpdateQueue(workInProgress, nextProps, null, renderExpirationTime); 49986 var nextState = workInProgress.memoizedState; // Caution: React DevTools currently depends on this property 49987 // being called "element". 49988 49989 var nextChildren = nextState.element; 49990 49991 if (nextChildren === prevChildren) { 49992 // If the state is the same as before, that's a bailout because we had 49993 // no work that expires at this time. 49994 resetHydrationState(); 49995 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 49996 } 49997 49998 var root = workInProgress.stateNode; 49999 50000 if (root.hydrate && enterHydrationState(workInProgress)) { 50001 // If we don't have any current children this might be the first pass. 50002 // We always try to hydrate. If this isn't a hydration pass there won't 50003 // be any children to hydrate which is effectively the same thing as 50004 // not hydrating. 50005 var child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 50006 workInProgress.child = child; 50007 var node = child; 50008 50009 while (node) { 50010 // Mark each child as hydrating. This is a fast path to know whether this 50011 // tree is part of a hydrating tree. This is used to determine if a child 50012 // node has fully mounted yet, and for scheduling event replaying. 50013 // Conceptually this is similar to Placement in that a new subtree is 50014 // inserted into the React tree here. It just happens to not need DOM 50015 // mutations because it already exists. 50016 node.effectTag = node.effectTag & ~Placement | Hydrating; 50017 node = node.sibling; 50018 } 50019 } else { 50020 // Otherwise reset hydration state in case we aborted and resumed another 50021 // root. 50022 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 50023 resetHydrationState(); 50024 } 50025 50026 return workInProgress.child; 50027} 50028 50029function updateHostComponent(current, workInProgress, renderExpirationTime) { 50030 pushHostContext(workInProgress); 50031 50032 if (current === null) { 50033 tryToClaimNextHydratableInstance(workInProgress); 50034 } 50035 50036 var type = workInProgress.type; 50037 var nextProps = workInProgress.pendingProps; 50038 var prevProps = current !== null ? current.memoizedProps : null; 50039 var nextChildren = nextProps.children; 50040 var isDirectTextChild = shouldSetTextContent(type, nextProps); 50041 50042 if (isDirectTextChild) { 50043 // We special case a direct text child of a host node. This is a common 50044 // case. We won't handle it as a reified child. We will instead handle 50045 // this in the host environment that also has access to this prop. That 50046 // avoids allocating another HostText fiber and traversing it. 50047 nextChildren = null; 50048 } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) { 50049 // If we're switching from a direct text child to a normal child, or to 50050 // empty, we need to schedule the text content to be reset. 50051 workInProgress.effectTag |= ContentReset; 50052 } 50053 50054 markRef(current, workInProgress); // Check the host config to see if the children are offscreen/hidden. 50055 50056 if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(type, nextProps)) { 50057 { 50058 markSpawnedWork(Never); 50059 } // Schedule this fiber to re-render at offscreen priority. Then bailout. 50060 50061 50062 workInProgress.expirationTime = workInProgress.childExpirationTime = Never; 50063 return null; 50064 } 50065 50066 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 50067 return workInProgress.child; 50068} 50069 50070function updateHostText(current, workInProgress) { 50071 if (current === null) { 50072 tryToClaimNextHydratableInstance(workInProgress); 50073 } // Nothing to do here. This is terminal. We'll do the completion step 50074 // immediately after. 50075 50076 50077 return null; 50078} 50079 50080function mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) { 50081 if (_current !== null) { 50082 // A lazy component only mounts if it suspended inside a non- 50083 // concurrent tree, in an inconsistent state. We want to treat it like 50084 // a new mount, even though an empty version of it already committed. 50085 // Disconnect the alternate pointers. 50086 _current.alternate = null; 50087 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 50088 50089 workInProgress.effectTag |= Placement; 50090 } 50091 50092 var props = workInProgress.pendingProps; // We can't start a User Timing measurement with correct label yet. 50093 // Cancel and resume right after we know the tag. 50094 50095 cancelWorkTimer(workInProgress); 50096 var Component = readLazyComponentType(elementType); // Store the unwrapped component in the type. 50097 50098 workInProgress.type = Component; 50099 var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component); 50100 startWorkTimer(workInProgress); 50101 var resolvedProps = resolveDefaultProps(Component, props); 50102 var child; 50103 50104 switch (resolvedTag) { 50105 case FunctionComponent: 50106 { 50107 { 50108 validateFunctionComponentInDev(workInProgress, Component); 50109 workInProgress.type = Component = resolveFunctionForHotReloading(Component); 50110 } 50111 50112 child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); 50113 return child; 50114 } 50115 50116 case ClassComponent: 50117 { 50118 { 50119 workInProgress.type = Component = resolveClassForHotReloading(Component); 50120 } 50121 50122 child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); 50123 return child; 50124 } 50125 50126 case ForwardRef: 50127 { 50128 { 50129 workInProgress.type = Component = resolveForwardRefForHotReloading(Component); 50130 } 50131 50132 child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime); 50133 return child; 50134 } 50135 50136 case MemoComponent: 50137 { 50138 { 50139 if (workInProgress.type !== workInProgress.elementType) { 50140 var outerPropTypes = Component.propTypes; 50141 50142 if (outerPropTypes) { 50143 checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only 50144 'prop', getComponentName(Component), getCurrentFiberStackInDev); 50145 } 50146 } 50147 } 50148 50149 child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too 50150 updateExpirationTime, renderExpirationTime); 50151 return child; 50152 } 50153 } 50154 50155 var hint = ''; 50156 50157 { 50158 if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) { 50159 hint = ' Did you wrap a component in React.lazy() more than once?'; 50160 } 50161 } // This message intentionally doesn't mention ForwardRef or MemoComponent 50162 // because the fact that it's a separate type of work is an 50163 // implementation detail. 50164 50165 50166 { 50167 { 50168 throw Error( "Element type is invalid. Received a promise that resolves to: " + Component + ". Lazy element type must resolve to a class or function." + hint ); 50169 } 50170 } 50171} 50172 50173function mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) { 50174 if (_current !== null) { 50175 // An incomplete component only mounts if it suspended inside a non- 50176 // concurrent tree, in an inconsistent state. We want to treat it like 50177 // a new mount, even though an empty version of it already committed. 50178 // Disconnect the alternate pointers. 50179 _current.alternate = null; 50180 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 50181 50182 workInProgress.effectTag |= Placement; 50183 } // Promote the fiber to a class and try rendering again. 50184 50185 50186 workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent` 50187 // Push context providers early to prevent context stack mismatches. 50188 // During mounting we don't know the child context yet as the instance doesn't exist. 50189 // We will invalidate the child context in finishClassComponent() right after rendering. 50190 50191 var hasContext; 50192 50193 if (isContextProvider(Component)) { 50194 hasContext = true; 50195 pushContextProvider(workInProgress); 50196 } else { 50197 hasContext = false; 50198 } 50199 50200 prepareToReadContext(workInProgress, renderExpirationTime); 50201 constructClassInstance(workInProgress, Component, nextProps); 50202 mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); 50203 return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); 50204} 50205 50206function mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) { 50207 if (_current !== null) { 50208 // An indeterminate component only mounts if it suspended inside a non- 50209 // concurrent tree, in an inconsistent state. We want to treat it like 50210 // a new mount, even though an empty version of it already committed. 50211 // Disconnect the alternate pointers. 50212 _current.alternate = null; 50213 workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect 50214 50215 workInProgress.effectTag |= Placement; 50216 } 50217 50218 var props = workInProgress.pendingProps; 50219 var context; 50220 50221 { 50222 var unmaskedContext = getUnmaskedContext(workInProgress, Component, false); 50223 context = getMaskedContext(workInProgress, unmaskedContext); 50224 } 50225 50226 prepareToReadContext(workInProgress, renderExpirationTime); 50227 var value; 50228 50229 { 50230 if (Component.prototype && typeof Component.prototype.render === 'function') { 50231 var componentName = getComponentName(Component) || 'Unknown'; 50232 50233 if (!didWarnAboutBadClass[componentName]) { 50234 error("The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName); 50235 50236 didWarnAboutBadClass[componentName] = true; 50237 } 50238 } 50239 50240 if (workInProgress.mode & StrictMode) { 50241 ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null); 50242 } 50243 50244 setIsRendering(true); 50245 ReactCurrentOwner$1.current = workInProgress; 50246 value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); 50247 setIsRendering(false); 50248 } // React DevTools reads this flag. 50249 50250 50251 workInProgress.effectTag |= PerformedWork; 50252 50253 if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) { 50254 { 50255 var _componentName = getComponentName(Component) || 'Unknown'; 50256 50257 if (!didWarnAboutModulePatternComponent[_componentName]) { 50258 error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName); 50259 50260 didWarnAboutModulePatternComponent[_componentName] = true; 50261 } 50262 } // Proceed under the assumption that this is a class instance 50263 50264 50265 workInProgress.tag = ClassComponent; // Throw out any hooks that were used. 50266 50267 workInProgress.memoizedState = null; 50268 workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches. 50269 // During mounting we don't know the child context yet as the instance doesn't exist. 50270 // We will invalidate the child context in finishClassComponent() right after rendering. 50271 50272 var hasContext = false; 50273 50274 if (isContextProvider(Component)) { 50275 hasContext = true; 50276 pushContextProvider(workInProgress); 50277 } else { 50278 hasContext = false; 50279 } 50280 50281 workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null; 50282 initializeUpdateQueue(workInProgress); 50283 var getDerivedStateFromProps = Component.getDerivedStateFromProps; 50284 50285 if (typeof getDerivedStateFromProps === 'function') { 50286 applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props); 50287 } 50288 50289 adoptClassInstance(workInProgress, value); 50290 mountClassInstance(workInProgress, Component, props, renderExpirationTime); 50291 return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); 50292 } else { 50293 // Proceed under the assumption that this is a function component 50294 workInProgress.tag = FunctionComponent; 50295 50296 { 50297 50298 if ( workInProgress.mode & StrictMode) { 50299 // Only double-render components with Hooks 50300 if (workInProgress.memoizedState !== null) { 50301 value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); 50302 } 50303 } 50304 } 50305 50306 reconcileChildren(null, workInProgress, value, renderExpirationTime); 50307 50308 { 50309 validateFunctionComponentInDev(workInProgress, Component); 50310 } 50311 50312 return workInProgress.child; 50313 } 50314} 50315 50316function validateFunctionComponentInDev(workInProgress, Component) { 50317 { 50318 if (Component) { 50319 if (Component.childContextTypes) { 50320 error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component'); 50321 } 50322 } 50323 50324 if (workInProgress.ref !== null) { 50325 var info = ''; 50326 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 50327 50328 if (ownerName) { 50329 info += '\n\nCheck the render method of `' + ownerName + '`.'; 50330 } 50331 50332 var warningKey = ownerName || workInProgress._debugID || ''; 50333 var debugSource = workInProgress._debugSource; 50334 50335 if (debugSource) { 50336 warningKey = debugSource.fileName + ':' + debugSource.lineNumber; 50337 } 50338 50339 if (!didWarnAboutFunctionRefs[warningKey]) { 50340 didWarnAboutFunctionRefs[warningKey] = true; 50341 50342 error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info); 50343 } 50344 } 50345 50346 if (typeof Component.getDerivedStateFromProps === 'function') { 50347 var _componentName2 = getComponentName(Component) || 'Unknown'; 50348 50349 if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2]) { 50350 error('%s: Function components do not support getDerivedStateFromProps.', _componentName2); 50351 50352 didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2] = true; 50353 } 50354 } 50355 50356 if (typeof Component.contextType === 'object' && Component.contextType !== null) { 50357 var _componentName3 = getComponentName(Component) || 'Unknown'; 50358 50359 if (!didWarnAboutContextTypeOnFunctionComponent[_componentName3]) { 50360 error('%s: Function components do not support contextType.', _componentName3); 50361 50362 didWarnAboutContextTypeOnFunctionComponent[_componentName3] = true; 50363 } 50364 } 50365 } 50366} 50367 50368var SUSPENDED_MARKER = { 50369 dehydrated: null, 50370 retryTime: NoWork 50371}; 50372 50373function shouldRemainOnFallback(suspenseContext, current, workInProgress) { 50374 // If the context is telling us that we should show a fallback, and we're not 50375 // already showing content, then we should show the fallback instead. 50376 return hasSuspenseContext(suspenseContext, ForceSuspenseFallback) && (current === null || current.memoizedState !== null); 50377} 50378 50379function updateSuspenseComponent(current, workInProgress, renderExpirationTime) { 50380 var mode = workInProgress.mode; 50381 var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend. 50382 50383 { 50384 if (shouldSuspend(workInProgress)) { 50385 workInProgress.effectTag |= DidCapture; 50386 } 50387 } 50388 50389 var suspenseContext = suspenseStackCursor.current; 50390 var nextDidTimeout = false; 50391 var didSuspend = (workInProgress.effectTag & DidCapture) !== NoEffect; 50392 50393 if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) { 50394 // Something in this boundary's subtree already suspended. Switch to 50395 // rendering the fallback children. 50396 nextDidTimeout = true; 50397 workInProgress.effectTag &= ~DidCapture; 50398 } else { 50399 // Attempting the main content 50400 if (current === null || current.memoizedState !== null) { 50401 // This is a new mount or this boundary is already showing a fallback state. 50402 // Mark this subtree context as having at least one invisible parent that could 50403 // handle the fallback state. 50404 // Boundaries without fallbacks or should be avoided are not considered since 50405 // they cannot handle preferred fallback states. 50406 if (nextProps.fallback !== undefined && nextProps.unstable_avoidThisFallback !== true) { 50407 suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext); 50408 } 50409 } 50410 } 50411 50412 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 50413 pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to 50414 // showing the fallback children in place of the "primary" children. 50415 // However, we don't want to delete the primary children because then their 50416 // state will be lost (both the React state and the host state, e.g. 50417 // uncontrolled form inputs). Instead we keep them mounted and hide them. 50418 // Both the fallback children AND the primary children are rendered at the 50419 // same time. Once the primary children are un-suspended, we can delete 50420 // the fallback children â don't need to preserve their state. 50421 // 50422 // The two sets of children are siblings in the host environment, but 50423 // semantically, for purposes of reconciliation, they are two separate sets. 50424 // So we store them using two fragment fibers. 50425 // 50426 // However, we want to avoid allocating extra fibers for every placeholder. 50427 // They're only necessary when the children time out, because that's the 50428 // only time when both sets are mounted. 50429 // 50430 // So, the extra fragment fibers are only used if the children time out. 50431 // Otherwise, we render the primary children directly. This requires some 50432 // custom reconciliation logic to preserve the state of the primary 50433 // children. It's essentially a very basic form of re-parenting. 50434 50435 if (current === null) { 50436 // If we're currently hydrating, try to hydrate this boundary. 50437 // But only if this has a fallback. 50438 if (nextProps.fallback !== undefined) { 50439 tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component. 50440 } // This is the initial mount. This branch is pretty simple because there's 50441 // no previous state that needs to be preserved. 50442 50443 50444 if (nextDidTimeout) { 50445 // Mount separate fragments for primary and fallback children. 50446 var nextFallbackChildren = nextProps.fallback; 50447 var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null); 50448 primaryChildFragment.return = workInProgress; 50449 50450 if ((workInProgress.mode & BlockingMode) === NoMode) { 50451 // Outside of blocking mode, we commit the effects from the 50452 // partially completed, timed-out tree, too. 50453 var progressedState = workInProgress.memoizedState; 50454 var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child; 50455 primaryChildFragment.child = progressedPrimaryChild; 50456 var progressedChild = progressedPrimaryChild; 50457 50458 while (progressedChild !== null) { 50459 progressedChild.return = primaryChildFragment; 50460 progressedChild = progressedChild.sibling; 50461 } 50462 } 50463 50464 var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null); 50465 fallbackChildFragment.return = workInProgress; 50466 primaryChildFragment.sibling = fallbackChildFragment; // Skip the primary children, and continue working on the 50467 // fallback children. 50468 50469 workInProgress.memoizedState = SUSPENDED_MARKER; 50470 workInProgress.child = primaryChildFragment; 50471 return fallbackChildFragment; 50472 } else { 50473 // Mount the primary children without an intermediate fragment fiber. 50474 var nextPrimaryChildren = nextProps.children; 50475 workInProgress.memoizedState = null; 50476 return workInProgress.child = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime); 50477 } 50478 } else { 50479 // This is an update. This branch is more complicated because we need to 50480 // ensure the state of the primary children is preserved. 50481 var prevState = current.memoizedState; 50482 50483 if (prevState !== null) { 50484 // wrapped in a fragment fiber. 50485 50486 50487 var currentPrimaryChildFragment = current.child; 50488 var currentFallbackChildFragment = currentPrimaryChildFragment.sibling; 50489 50490 if (nextDidTimeout) { 50491 // Still timed out. Reuse the current primary children by cloning 50492 // its fragment. We're going to skip over these entirely. 50493 var _nextFallbackChildren2 = nextProps.fallback; 50494 50495 var _primaryChildFragment2 = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps); 50496 50497 _primaryChildFragment2.return = workInProgress; 50498 50499 if ((workInProgress.mode & BlockingMode) === NoMode) { 50500 // Outside of blocking mode, we commit the effects from the 50501 // partially completed, timed-out tree, too. 50502 var _progressedState = workInProgress.memoizedState; 50503 50504 var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child; 50505 50506 if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) { 50507 _primaryChildFragment2.child = _progressedPrimaryChild; 50508 var _progressedChild2 = _progressedPrimaryChild; 50509 50510 while (_progressedChild2 !== null) { 50511 _progressedChild2.return = _primaryChildFragment2; 50512 _progressedChild2 = _progressedChild2.sibling; 50513 } 50514 } 50515 } // Because primaryChildFragment is a new fiber that we're inserting as the 50516 // parent of a new tree, we need to set its treeBaseDuration. 50517 50518 50519 if ( workInProgress.mode & ProfileMode) { 50520 // treeBaseDuration is the sum of all the child tree base durations. 50521 var _treeBaseDuration = 0; 50522 var _hiddenChild = _primaryChildFragment2.child; 50523 50524 while (_hiddenChild !== null) { 50525 _treeBaseDuration += _hiddenChild.treeBaseDuration; 50526 _hiddenChild = _hiddenChild.sibling; 50527 } 50528 50529 _primaryChildFragment2.treeBaseDuration = _treeBaseDuration; 50530 } // Clone the fallback child fragment, too. These we'll continue 50531 // working on. 50532 50533 50534 var _fallbackChildFragment2 = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren2); 50535 50536 _fallbackChildFragment2.return = workInProgress; 50537 _primaryChildFragment2.sibling = _fallbackChildFragment2; 50538 _primaryChildFragment2.childExpirationTime = NoWork; // Skip the primary children, and continue working on the 50539 // fallback children. 50540 50541 workInProgress.memoizedState = SUSPENDED_MARKER; 50542 workInProgress.child = _primaryChildFragment2; 50543 return _fallbackChildFragment2; 50544 } else { 50545 // No longer suspended. Switch back to showing the primary children, 50546 // and remove the intermediate fragment fiber. 50547 var _nextPrimaryChildren = nextProps.children; 50548 var currentPrimaryChild = currentPrimaryChildFragment.child; 50549 var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); // If this render doesn't suspend, we need to delete the fallback 50550 // children. Wait until the complete phase, after we've confirmed the 50551 // fallback is no longer needed. 50552 // TODO: Would it be better to store the fallback fragment on 50553 // the stateNode? 50554 // Continue rendering the children, like we normally do. 50555 50556 workInProgress.memoizedState = null; 50557 return workInProgress.child = primaryChild; 50558 } 50559 } else { 50560 // The current tree has not already timed out. That means the primary 50561 // children are not wrapped in a fragment fiber. 50562 var _currentPrimaryChild = current.child; 50563 50564 if (nextDidTimeout) { 50565 // Timed out. Wrap the children in a fragment fiber to keep them 50566 // separate from the fallback children. 50567 var _nextFallbackChildren3 = nextProps.fallback; 50568 50569 var _primaryChildFragment3 = createFiberFromFragment( // It shouldn't matter what the pending props are because we aren't 50570 // going to render this fragment. 50571 null, mode, NoWork, null); 50572 50573 _primaryChildFragment3.return = workInProgress; 50574 _primaryChildFragment3.child = _currentPrimaryChild; 50575 50576 if (_currentPrimaryChild !== null) { 50577 _currentPrimaryChild.return = _primaryChildFragment3; 50578 } // Even though we're creating a new fiber, there are no new children, 50579 // because we're reusing an already mounted tree. So we don't need to 50580 // schedule a placement. 50581 // primaryChildFragment.effectTag |= Placement; 50582 50583 50584 if ((workInProgress.mode & BlockingMode) === NoMode) { 50585 // Outside of blocking mode, we commit the effects from the 50586 // partially completed, timed-out tree, too. 50587 var _progressedState2 = workInProgress.memoizedState; 50588 50589 var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child; 50590 50591 _primaryChildFragment3.child = _progressedPrimaryChild2; 50592 var _progressedChild3 = _progressedPrimaryChild2; 50593 50594 while (_progressedChild3 !== null) { 50595 _progressedChild3.return = _primaryChildFragment3; 50596 _progressedChild3 = _progressedChild3.sibling; 50597 } 50598 } // Because primaryChildFragment is a new fiber that we're inserting as the 50599 // parent of a new tree, we need to set its treeBaseDuration. 50600 50601 50602 if ( workInProgress.mode & ProfileMode) { 50603 // treeBaseDuration is the sum of all the child tree base durations. 50604 var _treeBaseDuration2 = 0; 50605 var _hiddenChild2 = _primaryChildFragment3.child; 50606 50607 while (_hiddenChild2 !== null) { 50608 _treeBaseDuration2 += _hiddenChild2.treeBaseDuration; 50609 _hiddenChild2 = _hiddenChild2.sibling; 50610 } 50611 50612 _primaryChildFragment3.treeBaseDuration = _treeBaseDuration2; 50613 } // Create a fragment from the fallback children, too. 50614 50615 50616 var _fallbackChildFragment3 = createFiberFromFragment(_nextFallbackChildren3, mode, renderExpirationTime, null); 50617 50618 _fallbackChildFragment3.return = workInProgress; 50619 _primaryChildFragment3.sibling = _fallbackChildFragment3; 50620 _fallbackChildFragment3.effectTag |= Placement; 50621 _primaryChildFragment3.childExpirationTime = NoWork; // Skip the primary children, and continue working on the 50622 // fallback children. 50623 50624 workInProgress.memoizedState = SUSPENDED_MARKER; 50625 workInProgress.child = _primaryChildFragment3; 50626 return _fallbackChildFragment3; 50627 } else { 50628 // Still haven't timed out. Continue rendering the children, like we 50629 // normally do. 50630 workInProgress.memoizedState = null; 50631 var _nextPrimaryChildren2 = nextProps.children; 50632 return workInProgress.child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime); 50633 } 50634 } 50635 } 50636} 50637 50638function scheduleWorkOnFiber(fiber, renderExpirationTime) { 50639 if (fiber.expirationTime < renderExpirationTime) { 50640 fiber.expirationTime = renderExpirationTime; 50641 } 50642 50643 var alternate = fiber.alternate; 50644 50645 if (alternate !== null && alternate.expirationTime < renderExpirationTime) { 50646 alternate.expirationTime = renderExpirationTime; 50647 } 50648 50649 scheduleWorkOnParentPath(fiber.return, renderExpirationTime); 50650} 50651 50652function propagateSuspenseContextChange(workInProgress, firstChild, renderExpirationTime) { 50653 // Mark any Suspense boundaries with fallbacks as having work to do. 50654 // If they were previously forced into fallbacks, they may now be able 50655 // to unblock. 50656 var node = firstChild; 50657 50658 while (node !== null) { 50659 if (node.tag === SuspenseComponent) { 50660 var state = node.memoizedState; 50661 50662 if (state !== null) { 50663 scheduleWorkOnFiber(node, renderExpirationTime); 50664 } 50665 } else if (node.tag === SuspenseListComponent) { 50666 // If the tail is hidden there might not be an Suspense boundaries 50667 // to schedule work on. In this case we have to schedule it on the 50668 // list itself. 50669 // We don't have to traverse to the children of the list since 50670 // the list will propagate the change when it rerenders. 50671 scheduleWorkOnFiber(node, renderExpirationTime); 50672 } else if (node.child !== null) { 50673 node.child.return = node; 50674 node = node.child; 50675 continue; 50676 } 50677 50678 if (node === workInProgress) { 50679 return; 50680 } 50681 50682 while (node.sibling === null) { 50683 if (node.return === null || node.return === workInProgress) { 50684 return; 50685 } 50686 50687 node = node.return; 50688 } 50689 50690 node.sibling.return = node.return; 50691 node = node.sibling; 50692 } 50693} 50694 50695function findLastContentRow(firstChild) { 50696 // This is going to find the last row among these children that is already 50697 // showing content on the screen, as opposed to being in fallback state or 50698 // new. If a row has multiple Suspense boundaries, any of them being in the 50699 // fallback state, counts as the whole row being in a fallback state. 50700 // Note that the "rows" will be workInProgress, but any nested children 50701 // will still be current since we haven't rendered them yet. The mounted 50702 // order may not be the same as the new order. We use the new order. 50703 var row = firstChild; 50704 var lastContentRow = null; 50705 50706 while (row !== null) { 50707 var currentRow = row.alternate; // New rows can't be content rows. 50708 50709 if (currentRow !== null && findFirstSuspended(currentRow) === null) { 50710 lastContentRow = row; 50711 } 50712 50713 row = row.sibling; 50714 } 50715 50716 return lastContentRow; 50717} 50718 50719function validateRevealOrder(revealOrder) { 50720 { 50721 if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) { 50722 didWarnAboutRevealOrder[revealOrder] = true; 50723 50724 if (typeof revealOrder === 'string') { 50725 switch (revealOrder.toLowerCase()) { 50726 case 'together': 50727 case 'forwards': 50728 case 'backwards': 50729 { 50730 error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase "%s" instead.', revealOrder, revealOrder.toLowerCase()); 50731 50732 break; 50733 } 50734 50735 case 'forward': 50736 case 'backward': 50737 { 50738 error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use "%ss" instead.', revealOrder, revealOrder.toLowerCase()); 50739 50740 break; 50741 } 50742 50743 default: 50744 error('"%s" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder); 50745 50746 break; 50747 } 50748 } else { 50749 error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder); 50750 } 50751 } 50752 } 50753} 50754 50755function validateTailOptions(tailMode, revealOrder) { 50756 { 50757 if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) { 50758 if (tailMode !== 'collapsed' && tailMode !== 'hidden') { 50759 didWarnAboutTailOptions[tailMode] = true; 50760 50761 error('"%s" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean "collapsed" or "hidden"?', tailMode); 50762 } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') { 50763 didWarnAboutTailOptions[tailMode] = true; 50764 50765 error('<SuspenseList tail="%s" /> is only valid if revealOrder is ' + '"forwards" or "backwards". ' + 'Did you mean to specify revealOrder="forwards"?', tailMode); 50766 } 50767 } 50768 } 50769} 50770 50771function validateSuspenseListNestedChild(childSlot, index) { 50772 { 50773 var isArray = Array.isArray(childSlot); 50774 var isIterable = !isArray && typeof getIteratorFn(childSlot) === 'function'; 50775 50776 if (isArray || isIterable) { 50777 var type = isArray ? 'array' : 'iterable'; 50778 50779 error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type); 50780 50781 return false; 50782 } 50783 } 50784 50785 return true; 50786} 50787 50788function validateSuspenseListChildren(children, revealOrder) { 50789 { 50790 if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) { 50791 if (Array.isArray(children)) { 50792 for (var i = 0; i < children.length; i++) { 50793 if (!validateSuspenseListNestedChild(children[i], i)) { 50794 return; 50795 } 50796 } 50797 } else { 50798 var iteratorFn = getIteratorFn(children); 50799 50800 if (typeof iteratorFn === 'function') { 50801 var childrenIterator = iteratorFn.call(children); 50802 50803 if (childrenIterator) { 50804 var step = childrenIterator.next(); 50805 var _i = 0; 50806 50807 for (; !step.done; step = childrenIterator.next()) { 50808 if (!validateSuspenseListNestedChild(step.value, _i)) { 50809 return; 50810 } 50811 50812 _i++; 50813 } 50814 } 50815 } else { 50816 error('A single row was passed to a <SuspenseList revealOrder="%s" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder); 50817 } 50818 } 50819 } 50820 } 50821} 50822 50823function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode, lastEffectBeforeRendering) { 50824 var renderState = workInProgress.memoizedState; 50825 50826 if (renderState === null) { 50827 workInProgress.memoizedState = { 50828 isBackwards: isBackwards, 50829 rendering: null, 50830 renderingStartTime: 0, 50831 last: lastContentRow, 50832 tail: tail, 50833 tailExpiration: 0, 50834 tailMode: tailMode, 50835 lastEffect: lastEffectBeforeRendering 50836 }; 50837 } else { 50838 // We can reuse the existing object from previous renders. 50839 renderState.isBackwards = isBackwards; 50840 renderState.rendering = null; 50841 renderState.renderingStartTime = 0; 50842 renderState.last = lastContentRow; 50843 renderState.tail = tail; 50844 renderState.tailExpiration = 0; 50845 renderState.tailMode = tailMode; 50846 renderState.lastEffect = lastEffectBeforeRendering; 50847 } 50848} // This can end up rendering this component multiple passes. 50849// The first pass splits the children fibers into two sets. A head and tail. 50850// We first render the head. If anything is in fallback state, we do another 50851// pass through beginWork to rerender all children (including the tail) with 50852// the force suspend context. If the first render didn't have anything in 50853// in fallback state. Then we render each row in the tail one-by-one. 50854// That happens in the completeWork phase without going back to beginWork. 50855 50856 50857function updateSuspenseListComponent(current, workInProgress, renderExpirationTime) { 50858 var nextProps = workInProgress.pendingProps; 50859 var revealOrder = nextProps.revealOrder; 50860 var tailMode = nextProps.tail; 50861 var newChildren = nextProps.children; 50862 validateRevealOrder(revealOrder); 50863 validateTailOptions(tailMode, revealOrder); 50864 validateSuspenseListChildren(newChildren, revealOrder); 50865 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 50866 var suspenseContext = suspenseStackCursor.current; 50867 var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback); 50868 50869 if (shouldForceFallback) { 50870 suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 50871 workInProgress.effectTag |= DidCapture; 50872 } else { 50873 var didSuspendBefore = current !== null && (current.effectTag & DidCapture) !== NoEffect; 50874 50875 if (didSuspendBefore) { 50876 // If we previously forced a fallback, we need to schedule work 50877 // on any nested boundaries to let them know to try to render 50878 // again. This is the same as context updating. 50879 propagateSuspenseContextChange(workInProgress, workInProgress.child, renderExpirationTime); 50880 } 50881 50882 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 50883 } 50884 50885 pushSuspenseContext(workInProgress, suspenseContext); 50886 50887 if ((workInProgress.mode & BlockingMode) === NoMode) { 50888 // Outside of blocking mode, SuspenseList doesn't work so we just 50889 // use make it a noop by treating it as the default revealOrder. 50890 workInProgress.memoizedState = null; 50891 } else { 50892 switch (revealOrder) { 50893 case 'forwards': 50894 { 50895 var lastContentRow = findLastContentRow(workInProgress.child); 50896 var tail; 50897 50898 if (lastContentRow === null) { 50899 // The whole list is part of the tail. 50900 // TODO: We could fast path by just rendering the tail now. 50901 tail = workInProgress.child; 50902 workInProgress.child = null; 50903 } else { 50904 // Disconnect the tail rows after the content row. 50905 // We're going to render them separately later. 50906 tail = lastContentRow.sibling; 50907 lastContentRow.sibling = null; 50908 } 50909 50910 initSuspenseListRenderState(workInProgress, false, // isBackwards 50911 tail, lastContentRow, tailMode, workInProgress.lastEffect); 50912 break; 50913 } 50914 50915 case 'backwards': 50916 { 50917 // We're going to find the first row that has existing content. 50918 // At the same time we're going to reverse the list of everything 50919 // we pass in the meantime. That's going to be our tail in reverse 50920 // order. 50921 var _tail = null; 50922 var row = workInProgress.child; 50923 workInProgress.child = null; 50924 50925 while (row !== null) { 50926 var currentRow = row.alternate; // New rows can't be content rows. 50927 50928 if (currentRow !== null && findFirstSuspended(currentRow) === null) { 50929 // This is the beginning of the main content. 50930 workInProgress.child = row; 50931 break; 50932 } 50933 50934 var nextRow = row.sibling; 50935 row.sibling = _tail; 50936 _tail = row; 50937 row = nextRow; 50938 } // TODO: If workInProgress.child is null, we can continue on the tail immediately. 50939 50940 50941 initSuspenseListRenderState(workInProgress, true, // isBackwards 50942 _tail, null, // last 50943 tailMode, workInProgress.lastEffect); 50944 break; 50945 } 50946 50947 case 'together': 50948 { 50949 initSuspenseListRenderState(workInProgress, false, // isBackwards 50950 null, // tail 50951 null, // last 50952 undefined, workInProgress.lastEffect); 50953 break; 50954 } 50955 50956 default: 50957 { 50958 // The default reveal order is the same as not having 50959 // a boundary. 50960 workInProgress.memoizedState = null; 50961 } 50962 } 50963 } 50964 50965 return workInProgress.child; 50966} 50967 50968function updatePortalComponent(current, workInProgress, renderExpirationTime) { 50969 pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); 50970 var nextChildren = workInProgress.pendingProps; 50971 50972 if (current === null) { 50973 // Portals are special because we don't append the children during mount 50974 // but at commit. Therefore we need to track insertions which the normal 50975 // flow doesn't do during mount. This doesn't happen at the root because 50976 // the root always starts with a "current" with a null child. 50977 // TODO: Consider unifying this with how the root works. 50978 workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); 50979 } else { 50980 reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime); 50981 } 50982 50983 return workInProgress.child; 50984} 50985 50986function updateContextProvider(current, workInProgress, renderExpirationTime) { 50987 var providerType = workInProgress.type; 50988 var context = providerType._context; 50989 var newProps = workInProgress.pendingProps; 50990 var oldProps = workInProgress.memoizedProps; 50991 var newValue = newProps.value; 50992 50993 { 50994 var providerPropTypes = workInProgress.type.propTypes; 50995 50996 if (providerPropTypes) { 50997 checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev); 50998 } 50999 } 51000 51001 pushProvider(workInProgress, newValue); 51002 51003 if (oldProps !== null) { 51004 var oldValue = oldProps.value; 51005 var changedBits = calculateChangedBits(context, newValue, oldValue); 51006 51007 if (changedBits === 0) { 51008 // No change. Bailout early if children are the same. 51009 if (oldProps.children === newProps.children && !hasContextChanged()) { 51010 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 51011 } 51012 } else { 51013 // The context value changed. Search for matching consumers and schedule 51014 // them to update. 51015 propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); 51016 } 51017 } 51018 51019 var newChildren = newProps.children; 51020 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 51021 return workInProgress.child; 51022} 51023 51024var hasWarnedAboutUsingContextAsConsumer = false; 51025 51026function updateContextConsumer(current, workInProgress, renderExpirationTime) { 51027 var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In 51028 // DEV mode, we create a separate object for Context.Consumer that acts 51029 // like a proxy to Context. This proxy object adds unnecessary code in PROD 51030 // so we use the old behaviour (Context.Consumer references Context) to 51031 // reduce size and overhead. The separate object references context via 51032 // a property called "_context", which also gives us the ability to check 51033 // in DEV mode if this property exists or not and warn if it does not. 51034 51035 { 51036 if (context._context === undefined) { 51037 // This may be because it's a Context (rather than a Consumer). 51038 // Or it may be because it's older React where they're the same thing. 51039 // We only want to warn if we're sure it's a new React. 51040 if (context !== context.Consumer) { 51041 if (!hasWarnedAboutUsingContextAsConsumer) { 51042 hasWarnedAboutUsingContextAsConsumer = true; 51043 51044 error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?'); 51045 } 51046 } 51047 } else { 51048 context = context._context; 51049 } 51050 } 51051 51052 var newProps = workInProgress.pendingProps; 51053 var render = newProps.children; 51054 51055 { 51056 if (typeof render !== 'function') { 51057 error('A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.'); 51058 } 51059 } 51060 51061 prepareToReadContext(workInProgress, renderExpirationTime); 51062 var newValue = readContext(context, newProps.unstable_observedBits); 51063 var newChildren; 51064 51065 { 51066 ReactCurrentOwner$1.current = workInProgress; 51067 setIsRendering(true); 51068 newChildren = render(newValue); 51069 setIsRendering(false); 51070 } // React DevTools reads this flag. 51071 51072 51073 workInProgress.effectTag |= PerformedWork; 51074 reconcileChildren(current, workInProgress, newChildren, renderExpirationTime); 51075 return workInProgress.child; 51076} 51077 51078function markWorkInProgressReceivedUpdate() { 51079 didReceiveUpdate = true; 51080} 51081 51082function bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime) { 51083 cancelWorkTimer(workInProgress); 51084 51085 if (current !== null) { 51086 // Reuse previous dependencies 51087 workInProgress.dependencies = current.dependencies; 51088 } 51089 51090 { 51091 // Don't update "base" render times for bailouts. 51092 stopProfilerTimerIfRunning(); 51093 } 51094 51095 var updateExpirationTime = workInProgress.expirationTime; 51096 51097 if (updateExpirationTime !== NoWork) { 51098 markUnprocessedUpdateTime(updateExpirationTime); 51099 } // Check if the children have any pending work. 51100 51101 51102 var childExpirationTime = workInProgress.childExpirationTime; 51103 51104 if (childExpirationTime < renderExpirationTime) { 51105 // The children don't have any work either. We can skip them. 51106 // TODO: Once we add back resuming, we should check if the children are 51107 // a work-in-progress set. If so, we need to transfer their effects. 51108 return null; 51109 } else { 51110 // This fiber doesn't have work, but its subtree does. Clone the child 51111 // fibers and continue. 51112 cloneChildFibers(current, workInProgress); 51113 return workInProgress.child; 51114 } 51115} 51116 51117function remountFiber(current, oldWorkInProgress, newWorkInProgress) { 51118 { 51119 var returnFiber = oldWorkInProgress.return; 51120 51121 if (returnFiber === null) { 51122 throw new Error('Cannot swap the root fiber.'); 51123 } // Disconnect from the old current. 51124 // It will get deleted. 51125 51126 51127 current.alternate = null; 51128 oldWorkInProgress.alternate = null; // Connect to the new tree. 51129 51130 newWorkInProgress.index = oldWorkInProgress.index; 51131 newWorkInProgress.sibling = oldWorkInProgress.sibling; 51132 newWorkInProgress.return = oldWorkInProgress.return; 51133 newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it. 51134 51135 if (oldWorkInProgress === returnFiber.child) { 51136 returnFiber.child = newWorkInProgress; 51137 } else { 51138 var prevSibling = returnFiber.child; 51139 51140 if (prevSibling === null) { 51141 throw new Error('Expected parent to have a child.'); 51142 } 51143 51144 while (prevSibling.sibling !== oldWorkInProgress) { 51145 prevSibling = prevSibling.sibling; 51146 51147 if (prevSibling === null) { 51148 throw new Error('Expected to find the previous sibling.'); 51149 } 51150 } 51151 51152 prevSibling.sibling = newWorkInProgress; 51153 } // Delete the old fiber and place the new one. 51154 // Since the old fiber is disconnected, we have to schedule it manually. 51155 51156 51157 var last = returnFiber.lastEffect; 51158 51159 if (last !== null) { 51160 last.nextEffect = current; 51161 returnFiber.lastEffect = current; 51162 } else { 51163 returnFiber.firstEffect = returnFiber.lastEffect = current; 51164 } 51165 51166 current.nextEffect = null; 51167 current.effectTag = Deletion; 51168 newWorkInProgress.effectTag |= Placement; // Restart work from the new fiber. 51169 51170 return newWorkInProgress; 51171 } 51172} 51173 51174function beginWork(current, workInProgress, renderExpirationTime) { 51175 var updateExpirationTime = workInProgress.expirationTime; 51176 51177 { 51178 if (workInProgress._debugNeedsRemount && current !== null) { 51179 // This will restart the begin phase with a new fiber. 51180 return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.expirationTime)); 51181 } 51182 } 51183 51184 if (current !== null) { 51185 var oldProps = current.memoizedProps; 51186 var newProps = workInProgress.pendingProps; 51187 51188 if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload: 51189 workInProgress.type !== current.type )) { 51190 // If props or context changed, mark the fiber as having performed work. 51191 // This may be unset if the props are determined to be equal later (memo). 51192 didReceiveUpdate = true; 51193 } else if (updateExpirationTime < renderExpirationTime) { 51194 didReceiveUpdate = false; // This fiber does not have any pending work. Bailout without entering 51195 // the begin phase. There's still some bookkeeping we that needs to be done 51196 // in this optimized path, mostly pushing stuff onto the stack. 51197 51198 switch (workInProgress.tag) { 51199 case HostRoot: 51200 pushHostRootContext(workInProgress); 51201 resetHydrationState(); 51202 break; 51203 51204 case HostComponent: 51205 pushHostContext(workInProgress); 51206 51207 if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(workInProgress.type, newProps)) { 51208 { 51209 markSpawnedWork(Never); 51210 } // Schedule this fiber to re-render at offscreen priority. Then bailout. 51211 51212 51213 workInProgress.expirationTime = workInProgress.childExpirationTime = Never; 51214 return null; 51215 } 51216 51217 break; 51218 51219 case ClassComponent: 51220 { 51221 var Component = workInProgress.type; 51222 51223 if (isContextProvider(Component)) { 51224 pushContextProvider(workInProgress); 51225 } 51226 51227 break; 51228 } 51229 51230 case HostPortal: 51231 pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); 51232 break; 51233 51234 case ContextProvider: 51235 { 51236 var newValue = workInProgress.memoizedProps.value; 51237 pushProvider(workInProgress, newValue); 51238 break; 51239 } 51240 51241 case Profiler: 51242 { 51243 // Profiler should only call onRender when one of its descendants actually rendered. 51244 var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime; 51245 51246 if (hasChildWork) { 51247 workInProgress.effectTag |= Update; 51248 } 51249 } 51250 51251 break; 51252 51253 case SuspenseComponent: 51254 { 51255 var state = workInProgress.memoizedState; 51256 51257 if (state !== null) { 51258 // whether to retry the primary children, or to skip over it and 51259 // go straight to the fallback. Check the priority of the primary 51260 // child fragment. 51261 51262 51263 var primaryChildFragment = workInProgress.child; 51264 var primaryChildExpirationTime = primaryChildFragment.childExpirationTime; 51265 51266 if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) { 51267 // The primary children have pending work. Use the normal path 51268 // to attempt to render the primary children again. 51269 return updateSuspenseComponent(current, workInProgress, renderExpirationTime); 51270 } else { 51271 pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient 51272 // priority. Bailout. 51273 51274 var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 51275 51276 if (child !== null) { 51277 // The fallback children have pending work. Skip over the 51278 // primary children and work on the fallback. 51279 return child.sibling; 51280 } else { 51281 return null; 51282 } 51283 } 51284 } else { 51285 pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); 51286 } 51287 51288 break; 51289 } 51290 51291 case SuspenseListComponent: 51292 { 51293 var didSuspendBefore = (current.effectTag & DidCapture) !== NoEffect; 51294 51295 var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime; 51296 51297 if (didSuspendBefore) { 51298 if (_hasChildWork) { 51299 // If something was in fallback state last time, and we have all the 51300 // same children then we're still in progressive loading state. 51301 // Something might get unblocked by state updates or retries in the 51302 // tree which will affect the tail. So we need to use the normal 51303 // path to compute the correct tail. 51304 return updateSuspenseListComponent(current, workInProgress, renderExpirationTime); 51305 } // If none of the children had any work, that means that none of 51306 // them got retried so they'll still be blocked in the same way 51307 // as before. We can fast bail out. 51308 51309 51310 workInProgress.effectTag |= DidCapture; 51311 } // If nothing suspended before and we're rendering the same children, 51312 // then the tail doesn't matter. Anything new that suspends will work 51313 // in the "together" mode, so we can continue from the state we had. 51314 51315 51316 var renderState = workInProgress.memoizedState; 51317 51318 if (renderState !== null) { 51319 // Reset to the "together" mode in case we've started a different 51320 // update in the past but didn't complete it. 51321 renderState.rendering = null; 51322 renderState.tail = null; 51323 } 51324 51325 pushSuspenseContext(workInProgress, suspenseStackCursor.current); 51326 51327 if (_hasChildWork) { 51328 break; 51329 } else { 51330 // If none of the children had any work, that means that none of 51331 // them got retried so they'll still be blocked in the same way 51332 // as before. We can fast bail out. 51333 return null; 51334 } 51335 } 51336 } 51337 51338 return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime); 51339 } else { 51340 // An update was scheduled on this fiber, but there are no new props 51341 // nor legacy context. Set this to false. If an update queue or context 51342 // consumer produces a changed value, it will set this to true. Otherwise, 51343 // the component will assume the children have not changed and bail out. 51344 didReceiveUpdate = false; 51345 } 51346 } else { 51347 didReceiveUpdate = false; 51348 } // Before entering the begin phase, clear pending update priority. 51349 // TODO: This assumes that we're about to evaluate the component and process 51350 // the update queue. However, there's an exception: SimpleMemoComponent 51351 // sometimes bails out later in the begin phase. This indicates that we should 51352 // move this assignment out of the common path and into each branch. 51353 51354 51355 workInProgress.expirationTime = NoWork; 51356 51357 switch (workInProgress.tag) { 51358 case IndeterminateComponent: 51359 { 51360 return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderExpirationTime); 51361 } 51362 51363 case LazyComponent: 51364 { 51365 var elementType = workInProgress.elementType; 51366 return mountLazyComponent(current, workInProgress, elementType, updateExpirationTime, renderExpirationTime); 51367 } 51368 51369 case FunctionComponent: 51370 { 51371 var _Component = workInProgress.type; 51372 var unresolvedProps = workInProgress.pendingProps; 51373 var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps); 51374 return updateFunctionComponent(current, workInProgress, _Component, resolvedProps, renderExpirationTime); 51375 } 51376 51377 case ClassComponent: 51378 { 51379 var _Component2 = workInProgress.type; 51380 var _unresolvedProps = workInProgress.pendingProps; 51381 51382 var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps); 51383 51384 return updateClassComponent(current, workInProgress, _Component2, _resolvedProps, renderExpirationTime); 51385 } 51386 51387 case HostRoot: 51388 return updateHostRoot(current, workInProgress, renderExpirationTime); 51389 51390 case HostComponent: 51391 return updateHostComponent(current, workInProgress, renderExpirationTime); 51392 51393 case HostText: 51394 return updateHostText(current, workInProgress); 51395 51396 case SuspenseComponent: 51397 return updateSuspenseComponent(current, workInProgress, renderExpirationTime); 51398 51399 case HostPortal: 51400 return updatePortalComponent(current, workInProgress, renderExpirationTime); 51401 51402 case ForwardRef: 51403 { 51404 var type = workInProgress.type; 51405 var _unresolvedProps2 = workInProgress.pendingProps; 51406 51407 var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2); 51408 51409 return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderExpirationTime); 51410 } 51411 51412 case Fragment: 51413 return updateFragment(current, workInProgress, renderExpirationTime); 51414 51415 case Mode: 51416 return updateMode(current, workInProgress, renderExpirationTime); 51417 51418 case Profiler: 51419 return updateProfiler(current, workInProgress, renderExpirationTime); 51420 51421 case ContextProvider: 51422 return updateContextProvider(current, workInProgress, renderExpirationTime); 51423 51424 case ContextConsumer: 51425 return updateContextConsumer(current, workInProgress, renderExpirationTime); 51426 51427 case MemoComponent: 51428 { 51429 var _type2 = workInProgress.type; 51430 var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props. 51431 51432 var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3); 51433 51434 { 51435 if (workInProgress.type !== workInProgress.elementType) { 51436 var outerPropTypes = _type2.propTypes; 51437 51438 if (outerPropTypes) { 51439 checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only 51440 'prop', getComponentName(_type2), getCurrentFiberStackInDev); 51441 } 51442 } 51443 } 51444 51445 _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3); 51446 return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime); 51447 } 51448 51449 case SimpleMemoComponent: 51450 { 51451 return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime); 51452 } 51453 51454 case IncompleteClassComponent: 51455 { 51456 var _Component3 = workInProgress.type; 51457 var _unresolvedProps4 = workInProgress.pendingProps; 51458 51459 var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4); 51460 51461 return mountIncompleteClassComponent(current, workInProgress, _Component3, _resolvedProps4, renderExpirationTime); 51462 } 51463 51464 case SuspenseListComponent: 51465 { 51466 return updateSuspenseListComponent(current, workInProgress, renderExpirationTime); 51467 } 51468 } 51469 51470 { 51471 { 51472 throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." ); 51473 } 51474 } 51475} 51476 51477function markUpdate(workInProgress) { 51478 // Tag the fiber with an update effect. This turns a Placement into 51479 // a PlacementAndUpdate. 51480 workInProgress.effectTag |= Update; 51481} 51482 51483function markRef$1(workInProgress) { 51484 workInProgress.effectTag |= Ref; 51485} 51486 51487var appendAllChildren; 51488var updateHostContainer; 51489var updateHostComponent$1; 51490var updateHostText$1; 51491 51492{ 51493 // Mutation mode 51494 appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) { 51495 // We only have the top Fiber that was created but we need recurse down its 51496 // children to find all the terminal nodes. 51497 var node = workInProgress.child; 51498 51499 while (node !== null) { 51500 if (node.tag === HostComponent || node.tag === HostText) { 51501 appendInitialChild(parent, node.stateNode); 51502 } else if (node.tag === HostPortal) ; else if (node.child !== null) { 51503 node.child.return = node; 51504 node = node.child; 51505 continue; 51506 } 51507 51508 if (node === workInProgress) { 51509 return; 51510 } 51511 51512 while (node.sibling === null) { 51513 if (node.return === null || node.return === workInProgress) { 51514 return; 51515 } 51516 51517 node = node.return; 51518 } 51519 51520 node.sibling.return = node.return; 51521 node = node.sibling; 51522 } 51523 }; 51524 51525 updateHostContainer = function (workInProgress) {// Noop 51526 }; 51527 51528 updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) { 51529 // If we have an alternate, that means this is an update and we need to 51530 // schedule a side-effect to do the updates. 51531 var oldProps = current.memoizedProps; 51532 51533 if (oldProps === newProps) { 51534 // In mutation mode, this is sufficient for a bailout because 51535 // we won't touch this node even if children changed. 51536 return; 51537 } // If we get updated because one of our children updated, we don't 51538 // have newProps so we'll have to reuse them. 51539 // TODO: Split the update API as separate for the props vs. children. 51540 // Even better would be if children weren't special cased at all tho. 51541 51542 51543 var instance = workInProgress.stateNode; 51544 var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host 51545 // component is hitting the resume path. Figure out why. Possibly 51546 // related to `hidden`. 51547 51548 var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component. 51549 51550 workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there 51551 // is a new ref we mark this as an update. All the work is done in commitWork. 51552 51553 if (updatePayload) { 51554 markUpdate(workInProgress); 51555 } 51556 }; 51557 51558 updateHostText$1 = function (current, workInProgress, oldText, newText) { 51559 // If the text differs, mark it as an update. All the work in done in commitWork. 51560 if (oldText !== newText) { 51561 markUpdate(workInProgress); 51562 } 51563 }; 51564} 51565 51566function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { 51567 switch (renderState.tailMode) { 51568 case 'hidden': 51569 { 51570 // Any insertions at the end of the tail list after this point 51571 // should be invisible. If there are already mounted boundaries 51572 // anything before them are not considered for collapsing. 51573 // Therefore we need to go through the whole tail to find if 51574 // there are any. 51575 var tailNode = renderState.tail; 51576 var lastTailNode = null; 51577 51578 while (tailNode !== null) { 51579 if (tailNode.alternate !== null) { 51580 lastTailNode = tailNode; 51581 } 51582 51583 tailNode = tailNode.sibling; 51584 } // Next we're simply going to delete all insertions after the 51585 // last rendered item. 51586 51587 51588 if (lastTailNode === null) { 51589 // All remaining items in the tail are insertions. 51590 renderState.tail = null; 51591 } else { 51592 // Detach the insertion after the last node that was already 51593 // inserted. 51594 lastTailNode.sibling = null; 51595 } 51596 51597 break; 51598 } 51599 51600 case 'collapsed': 51601 { 51602 // Any insertions at the end of the tail list after this point 51603 // should be invisible. If there are already mounted boundaries 51604 // anything before them are not considered for collapsing. 51605 // Therefore we need to go through the whole tail to find if 51606 // there are any. 51607 var _tailNode = renderState.tail; 51608 var _lastTailNode = null; 51609 51610 while (_tailNode !== null) { 51611 if (_tailNode.alternate !== null) { 51612 _lastTailNode = _tailNode; 51613 } 51614 51615 _tailNode = _tailNode.sibling; 51616 } // Next we're simply going to delete all insertions after the 51617 // last rendered item. 51618 51619 51620 if (_lastTailNode === null) { 51621 // All remaining items in the tail are insertions. 51622 if (!hasRenderedATailFallback && renderState.tail !== null) { 51623 // We suspended during the head. We want to show at least one 51624 // row at the tail. So we'll keep on and cut off the rest. 51625 renderState.tail.sibling = null; 51626 } else { 51627 renderState.tail = null; 51628 } 51629 } else { 51630 // Detach the insertion after the last node that was already 51631 // inserted. 51632 _lastTailNode.sibling = null; 51633 } 51634 51635 break; 51636 } 51637 } 51638} 51639 51640function completeWork(current, workInProgress, renderExpirationTime) { 51641 var newProps = workInProgress.pendingProps; 51642 51643 switch (workInProgress.tag) { 51644 case IndeterminateComponent: 51645 case LazyComponent: 51646 case SimpleMemoComponent: 51647 case FunctionComponent: 51648 case ForwardRef: 51649 case Fragment: 51650 case Mode: 51651 case Profiler: 51652 case ContextConsumer: 51653 case MemoComponent: 51654 return null; 51655 51656 case ClassComponent: 51657 { 51658 var Component = workInProgress.type; 51659 51660 if (isContextProvider(Component)) { 51661 popContext(workInProgress); 51662 } 51663 51664 return null; 51665 } 51666 51667 case HostRoot: 51668 { 51669 popHostContainer(workInProgress); 51670 popTopLevelContextObject(workInProgress); 51671 var fiberRoot = workInProgress.stateNode; 51672 51673 if (fiberRoot.pendingContext) { 51674 fiberRoot.context = fiberRoot.pendingContext; 51675 fiberRoot.pendingContext = null; 51676 } 51677 51678 if (current === null || current.child === null) { 51679 // If we hydrated, pop so that we can delete any remaining children 51680 // that weren't hydrated. 51681 var wasHydrated = popHydrationState(workInProgress); 51682 51683 if (wasHydrated) { 51684 // If we hydrated, then we'll need to schedule an update for 51685 // the commit side-effects on the root. 51686 markUpdate(workInProgress); 51687 } 51688 } 51689 51690 updateHostContainer(workInProgress); 51691 return null; 51692 } 51693 51694 case HostComponent: 51695 { 51696 popHostContext(workInProgress); 51697 var rootContainerInstance = getRootHostContainer(); 51698 var type = workInProgress.type; 51699 51700 if (current !== null && workInProgress.stateNode != null) { 51701 updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance); 51702 51703 if (current.ref !== workInProgress.ref) { 51704 markRef$1(workInProgress); 51705 } 51706 } else { 51707 if (!newProps) { 51708 if (!(workInProgress.stateNode !== null)) { 51709 { 51710 throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." ); 51711 } 51712 } // This can happen when we abort work. 51713 51714 51715 return null; 51716 } 51717 51718 var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context 51719 // "stack" as the parent. Then append children as we go in beginWork 51720 // or completeWork depending on whether we want to add them top->down or 51721 // bottom->up. Top->down is faster in IE11. 51722 51723 var _wasHydrated = popHydrationState(workInProgress); 51724 51725 if (_wasHydrated) { 51726 // TODO: Move this and createInstance step into the beginPhase 51727 // to consolidate. 51728 if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) { 51729 // If changes to the hydrated node need to be applied at the 51730 // commit-phase we mark this as such. 51731 markUpdate(workInProgress); 51732 } 51733 } else { 51734 var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress); 51735 appendAllChildren(instance, workInProgress, false, false); // This needs to be set before we mount Flare event listeners 51736 51737 workInProgress.stateNode = instance; 51738 // (eg DOM renderer supports auto-focus for certain elements). 51739 // Make sure such renderers get scheduled for later work. 51740 51741 51742 if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) { 51743 markUpdate(workInProgress); 51744 } 51745 } 51746 51747 if (workInProgress.ref !== null) { 51748 // If there is a ref on a host node we need to schedule a callback 51749 markRef$1(workInProgress); 51750 } 51751 } 51752 51753 return null; 51754 } 51755 51756 case HostText: 51757 { 51758 var newText = newProps; 51759 51760 if (current && workInProgress.stateNode != null) { 51761 var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need 51762 // to schedule a side-effect to do the updates. 51763 51764 updateHostText$1(current, workInProgress, oldText, newText); 51765 } else { 51766 if (typeof newText !== 'string') { 51767 if (!(workInProgress.stateNode !== null)) { 51768 { 51769 throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." ); 51770 } 51771 } // This can happen when we abort work. 51772 51773 } 51774 51775 var _rootContainerInstance = getRootHostContainer(); 51776 51777 var _currentHostContext = getHostContext(); 51778 51779 var _wasHydrated2 = popHydrationState(workInProgress); 51780 51781 if (_wasHydrated2) { 51782 if (prepareToHydrateHostTextInstance(workInProgress)) { 51783 markUpdate(workInProgress); 51784 } 51785 } else { 51786 workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress); 51787 } 51788 } 51789 51790 return null; 51791 } 51792 51793 case SuspenseComponent: 51794 { 51795 popSuspenseContext(workInProgress); 51796 var nextState = workInProgress.memoizedState; 51797 51798 if ((workInProgress.effectTag & DidCapture) !== NoEffect) { 51799 // Something suspended. Re-render with the fallback children. 51800 workInProgress.expirationTime = renderExpirationTime; // Do not reset the effect list. 51801 51802 return workInProgress; 51803 } 51804 51805 var nextDidTimeout = nextState !== null; 51806 var prevDidTimeout = false; 51807 51808 if (current === null) { 51809 if (workInProgress.memoizedProps.fallback !== undefined) { 51810 popHydrationState(workInProgress); 51811 } 51812 } else { 51813 var prevState = current.memoizedState; 51814 prevDidTimeout = prevState !== null; 51815 51816 if (!nextDidTimeout && prevState !== null) { 51817 // We just switched from the fallback to the normal children. 51818 // Delete the fallback. 51819 // TODO: Would it be better to store the fallback fragment on 51820 // the stateNode during the begin phase? 51821 var currentFallbackChild = current.child.sibling; 51822 51823 if (currentFallbackChild !== null) { 51824 // Deletions go at the beginning of the return fiber's effect list 51825 var first = workInProgress.firstEffect; 51826 51827 if (first !== null) { 51828 workInProgress.firstEffect = currentFallbackChild; 51829 currentFallbackChild.nextEffect = first; 51830 } else { 51831 workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild; 51832 currentFallbackChild.nextEffect = null; 51833 } 51834 51835 currentFallbackChild.effectTag = Deletion; 51836 } 51837 } 51838 } 51839 51840 if (nextDidTimeout && !prevDidTimeout) { 51841 // If this subtreee is running in blocking mode we can suspend, 51842 // otherwise we won't suspend. 51843 // TODO: This will still suspend a synchronous tree if anything 51844 // in the concurrent tree already suspended during this render. 51845 // This is a known bug. 51846 if ((workInProgress.mode & BlockingMode) !== NoMode) { 51847 // TODO: Move this back to throwException because this is too late 51848 // if this is a large tree which is common for initial loads. We 51849 // don't know if we should restart a render or not until we get 51850 // this marker, and this is too late. 51851 // If this render already had a ping or lower pri updates, 51852 // and this is the first time we know we're going to suspend we 51853 // should be able to immediately restart from within throwException. 51854 var hasInvisibleChildContext = current === null && workInProgress.memoizedProps.unstable_avoidThisFallback !== true; 51855 51856 if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) { 51857 // If this was in an invisible tree or a new render, then showing 51858 // this boundary is ok. 51859 renderDidSuspend(); 51860 } else { 51861 // Otherwise, we're going to have to hide content so we should 51862 // suspend for longer if possible. 51863 renderDidSuspendDelayIfPossible(); 51864 } 51865 } 51866 } 51867 51868 { 51869 // TODO: Only schedule updates if these values are non equal, i.e. it changed. 51870 if (nextDidTimeout || prevDidTimeout) { 51871 // If this boundary just timed out, schedule an effect to attach a 51872 // retry listener to the promise. This flag is also used to hide the 51873 // primary children. In mutation mode, we also need the flag to 51874 // *unhide* children that were previously hidden, so check if this 51875 // is currently timed out, too. 51876 workInProgress.effectTag |= Update; 51877 } 51878 } 51879 51880 return null; 51881 } 51882 51883 case HostPortal: 51884 popHostContainer(workInProgress); 51885 updateHostContainer(workInProgress); 51886 return null; 51887 51888 case ContextProvider: 51889 // Pop provider fiber 51890 popProvider(workInProgress); 51891 return null; 51892 51893 case IncompleteClassComponent: 51894 { 51895 // Same as class component case. I put it down here so that the tags are 51896 // sequential to ensure this switch is compiled to a jump table. 51897 var _Component = workInProgress.type; 51898 51899 if (isContextProvider(_Component)) { 51900 popContext(workInProgress); 51901 } 51902 51903 return null; 51904 } 51905 51906 case SuspenseListComponent: 51907 { 51908 popSuspenseContext(workInProgress); 51909 var renderState = workInProgress.memoizedState; 51910 51911 if (renderState === null) { 51912 // We're running in the default, "independent" mode. 51913 // We don't do anything in this mode. 51914 return null; 51915 } 51916 51917 var didSuspendAlready = (workInProgress.effectTag & DidCapture) !== NoEffect; 51918 var renderedTail = renderState.rendering; 51919 51920 if (renderedTail === null) { 51921 // We just rendered the head. 51922 if (!didSuspendAlready) { 51923 // This is the first pass. We need to figure out if anything is still 51924 // suspended in the rendered set. 51925 // If new content unsuspended, but there's still some content that 51926 // didn't. Then we need to do a second pass that forces everything 51927 // to keep showing their fallbacks. 51928 // We might be suspended if something in this render pass suspended, or 51929 // something in the previous committed pass suspended. Otherwise, 51930 // there's no chance so we can skip the expensive call to 51931 // findFirstSuspended. 51932 var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.effectTag & DidCapture) === NoEffect); 51933 51934 if (!cannotBeSuspended) { 51935 var row = workInProgress.child; 51936 51937 while (row !== null) { 51938 var suspended = findFirstSuspended(row); 51939 51940 if (suspended !== null) { 51941 didSuspendAlready = true; 51942 workInProgress.effectTag |= DidCapture; 51943 cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as 51944 // part of the second pass. In that case nothing will subscribe to 51945 // its thennables. Instead, we'll transfer its thennables to the 51946 // SuspenseList so that it can retry if they resolve. 51947 // There might be multiple of these in the list but since we're 51948 // going to wait for all of them anyway, it doesn't really matter 51949 // which ones gets to ping. In theory we could get clever and keep 51950 // track of how many dependencies remain but it gets tricky because 51951 // in the meantime, we can add/remove/change items and dependencies. 51952 // We might bail out of the loop before finding any but that 51953 // doesn't matter since that means that the other boundaries that 51954 // we did find already has their listeners attached. 51955 51956 var newThennables = suspended.updateQueue; 51957 51958 if (newThennables !== null) { 51959 workInProgress.updateQueue = newThennables; 51960 workInProgress.effectTag |= Update; 51961 } // Rerender the whole list, but this time, we'll force fallbacks 51962 // to stay in place. 51963 // Reset the effect list before doing the second pass since that's now invalid. 51964 51965 51966 if (renderState.lastEffect === null) { 51967 workInProgress.firstEffect = null; 51968 } 51969 51970 workInProgress.lastEffect = renderState.lastEffect; // Reset the child fibers to their original state. 51971 51972 resetChildFibers(workInProgress, renderExpirationTime); // Set up the Suspense Context to force suspense and immediately 51973 // rerender the children. 51974 51975 pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); 51976 return workInProgress.child; 51977 } 51978 51979 row = row.sibling; 51980 } 51981 } 51982 } else { 51983 cutOffTailIfNeeded(renderState, false); 51984 } // Next we're going to render the tail. 51985 51986 } else { 51987 // Append the rendered row to the child list. 51988 if (!didSuspendAlready) { 51989 var _suspended = findFirstSuspended(renderedTail); 51990 51991 if (_suspended !== null) { 51992 workInProgress.effectTag |= DidCapture; 51993 didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't 51994 // get lost if this row ends up dropped during a second pass. 51995 51996 var _newThennables = _suspended.updateQueue; 51997 51998 if (_newThennables !== null) { 51999 workInProgress.updateQueue = _newThennables; 52000 workInProgress.effectTag |= Update; 52001 } 52002 52003 cutOffTailIfNeeded(renderState, true); // This might have been modified. 52004 52005 if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) { 52006 // We need to delete the row we just rendered. 52007 // Reset the effect list to what it was before we rendered this 52008 // child. The nested children have already appended themselves. 52009 var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point. 52010 52011 if (lastEffect !== null) { 52012 lastEffect.nextEffect = null; 52013 } // We're done. 52014 52015 52016 return null; 52017 } 52018 } else if ( // The time it took to render last row is greater than time until 52019 // the expiration. 52020 now() * 2 - renderState.renderingStartTime > renderState.tailExpiration && renderExpirationTime > Never) { 52021 // We have now passed our CPU deadline and we'll just give up further 52022 // attempts to render the main content and only render fallbacks. 52023 // The assumption is that this is usually faster. 52024 workInProgress.effectTag |= DidCapture; 52025 didSuspendAlready = true; 52026 cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this 52027 // to get it started back up to attempt the next item. If we can show 52028 // them, then they really have the same priority as this render. 52029 // So we'll pick it back up the very next render pass once we've had 52030 // an opportunity to yield for paint. 52031 52032 var nextPriority = renderExpirationTime - 1; 52033 workInProgress.expirationTime = workInProgress.childExpirationTime = nextPriority; 52034 52035 { 52036 markSpawnedWork(nextPriority); 52037 } 52038 } 52039 } 52040 52041 if (renderState.isBackwards) { 52042 // The effect list of the backwards tail will have been added 52043 // to the end. This breaks the guarantee that life-cycles fire in 52044 // sibling order but that isn't a strong guarantee promised by React. 52045 // Especially since these might also just pop in during future commits. 52046 // Append to the beginning of the list. 52047 renderedTail.sibling = workInProgress.child; 52048 workInProgress.child = renderedTail; 52049 } else { 52050 var previousSibling = renderState.last; 52051 52052 if (previousSibling !== null) { 52053 previousSibling.sibling = renderedTail; 52054 } else { 52055 workInProgress.child = renderedTail; 52056 } 52057 52058 renderState.last = renderedTail; 52059 } 52060 } 52061 52062 if (renderState.tail !== null) { 52063 // We still have tail rows to render. 52064 if (renderState.tailExpiration === 0) { 52065 // Heuristic for how long we're willing to spend rendering rows 52066 // until we just give up and show what we have so far. 52067 var TAIL_EXPIRATION_TIMEOUT_MS = 500; 52068 renderState.tailExpiration = now() + TAIL_EXPIRATION_TIMEOUT_MS; // TODO: This is meant to mimic the train model or JND but this 52069 // is a per component value. It should really be since the start 52070 // of the total render or last commit. Consider using something like 52071 // globalMostRecentFallbackTime. That doesn't account for being 52072 // suspended for part of the time or when it's a new render. 52073 // It should probably use a global start time value instead. 52074 } // Pop a row. 52075 52076 52077 var next = renderState.tail; 52078 renderState.rendering = next; 52079 renderState.tail = next.sibling; 52080 renderState.lastEffect = workInProgress.lastEffect; 52081 renderState.renderingStartTime = now(); 52082 next.sibling = null; // Restore the context. 52083 // TODO: We can probably just avoid popping it instead and only 52084 // setting it the first time we go from not suspended to suspended. 52085 52086 var suspenseContext = suspenseStackCursor.current; 52087 52088 if (didSuspendAlready) { 52089 suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 52090 } else { 52091 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 52092 } 52093 52094 pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row. 52095 52096 return next; 52097 } 52098 52099 return null; 52100 } 52101 } 52102 52103 { 52104 { 52105 throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." ); 52106 } 52107 } 52108} 52109 52110function unwindWork(workInProgress, renderExpirationTime) { 52111 switch (workInProgress.tag) { 52112 case ClassComponent: 52113 { 52114 var Component = workInProgress.type; 52115 52116 if (isContextProvider(Component)) { 52117 popContext(workInProgress); 52118 } 52119 52120 var effectTag = workInProgress.effectTag; 52121 52122 if (effectTag & ShouldCapture) { 52123 workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture; 52124 return workInProgress; 52125 } 52126 52127 return null; 52128 } 52129 52130 case HostRoot: 52131 { 52132 popHostContainer(workInProgress); 52133 popTopLevelContextObject(workInProgress); 52134 var _effectTag = workInProgress.effectTag; 52135 52136 if (!((_effectTag & DidCapture) === NoEffect)) { 52137 { 52138 throw Error( "The root failed to unmount after an error. This is likely a bug in React. Please file an issue." ); 52139 } 52140 } 52141 52142 workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture; 52143 return workInProgress; 52144 } 52145 52146 case HostComponent: 52147 { 52148 // TODO: popHydrationState 52149 popHostContext(workInProgress); 52150 return null; 52151 } 52152 52153 case SuspenseComponent: 52154 { 52155 popSuspenseContext(workInProgress); 52156 52157 var _effectTag2 = workInProgress.effectTag; 52158 52159 if (_effectTag2 & ShouldCapture) { 52160 workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary. 52161 52162 return workInProgress; 52163 } 52164 52165 return null; 52166 } 52167 52168 case SuspenseListComponent: 52169 { 52170 popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been 52171 // caught by a nested boundary. If not, it should bubble through. 52172 52173 return null; 52174 } 52175 52176 case HostPortal: 52177 popHostContainer(workInProgress); 52178 return null; 52179 52180 case ContextProvider: 52181 popProvider(workInProgress); 52182 return null; 52183 52184 default: 52185 return null; 52186 } 52187} 52188 52189function unwindInterruptedWork(interruptedWork) { 52190 switch (interruptedWork.tag) { 52191 case ClassComponent: 52192 { 52193 var childContextTypes = interruptedWork.type.childContextTypes; 52194 52195 if (childContextTypes !== null && childContextTypes !== undefined) { 52196 popContext(interruptedWork); 52197 } 52198 52199 break; 52200 } 52201 52202 case HostRoot: 52203 { 52204 popHostContainer(interruptedWork); 52205 popTopLevelContextObject(interruptedWork); 52206 break; 52207 } 52208 52209 case HostComponent: 52210 { 52211 popHostContext(interruptedWork); 52212 break; 52213 } 52214 52215 case HostPortal: 52216 popHostContainer(interruptedWork); 52217 break; 52218 52219 case SuspenseComponent: 52220 popSuspenseContext(interruptedWork); 52221 break; 52222 52223 case SuspenseListComponent: 52224 popSuspenseContext(interruptedWork); 52225 break; 52226 52227 case ContextProvider: 52228 popProvider(interruptedWork); 52229 break; 52230 } 52231} 52232 52233function createCapturedValue(value, source) { 52234 // If the value is an error, call this function immediately after it is thrown 52235 // so the stack is accurate. 52236 return { 52237 value: value, 52238 source: source, 52239 stack: getStackByFiberInDevAndProd(source) 52240 }; 52241} 52242 52243function logCapturedError(capturedError) { 52244 52245 var error = capturedError.error; 52246 52247 { 52248 var componentName = capturedError.componentName, 52249 componentStack = capturedError.componentStack, 52250 errorBoundaryName = capturedError.errorBoundaryName, 52251 errorBoundaryFound = capturedError.errorBoundaryFound, 52252 willRetry = capturedError.willRetry; // Browsers support silencing uncaught errors by calling 52253 // `preventDefault()` in window `error` handler. 52254 // We record this information as an expando on the error. 52255 52256 if (error != null && error._suppressLogging) { 52257 if (errorBoundaryFound && willRetry) { 52258 // The error is recoverable and was silenced. 52259 // Ignore it and don't print the stack addendum. 52260 // This is handy for testing error boundaries without noise. 52261 return; 52262 } // The error is fatal. Since the silencing might have 52263 // been accidental, we'll surface it anyway. 52264 // However, the browser would have silenced the original error 52265 // so we'll print it first, and then print the stack addendum. 52266 52267 52268 console['error'](error); // Don't transform to our wrapper 52269 // For a more detailed description of this block, see: 52270 // https://github.com/facebook/react/pull/13384 52271 } 52272 52273 var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : 'The above error occurred in one of your React components:'; 52274 var errorBoundaryMessage; // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow. 52275 52276 if (errorBoundaryFound && errorBoundaryName) { 52277 if (willRetry) { 52278 errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + "."); 52279 } else { 52280 errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree."; 52281 } 52282 } else { 52283 errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.'; 52284 } 52285 52286 var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); // In development, we provide our own message with just the component stack. 52287 // We don't include the original error message and JS stack because the browser 52288 // has already printed it. Even if the application swallows the error, it is still 52289 // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils. 52290 52291 console['error'](combinedMessage); // Don't transform to our wrapper 52292 } 52293} 52294 52295var didWarnAboutUndefinedSnapshotBeforeUpdate = null; 52296 52297{ 52298 didWarnAboutUndefinedSnapshotBeforeUpdate = new Set(); 52299} 52300 52301var PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set; 52302function logError(boundary, errorInfo) { 52303 var source = errorInfo.source; 52304 var stack = errorInfo.stack; 52305 52306 if (stack === null && source !== null) { 52307 stack = getStackByFiberInDevAndProd(source); 52308 } 52309 52310 var capturedError = { 52311 componentName: source !== null ? getComponentName(source.type) : null, 52312 componentStack: stack !== null ? stack : '', 52313 error: errorInfo.value, 52314 errorBoundary: null, 52315 errorBoundaryName: null, 52316 errorBoundaryFound: false, 52317 willRetry: false 52318 }; 52319 52320 if (boundary !== null && boundary.tag === ClassComponent) { 52321 capturedError.errorBoundary = boundary.stateNode; 52322 capturedError.errorBoundaryName = getComponentName(boundary.type); 52323 capturedError.errorBoundaryFound = true; 52324 capturedError.willRetry = true; 52325 } 52326 52327 try { 52328 logCapturedError(capturedError); 52329 } catch (e) { 52330 // This method must not throw, or React internal state will get messed up. 52331 // If console.error is overridden, or logCapturedError() shows a dialog that throws, 52332 // we want to report this error outside of the normal stack as a last resort. 52333 // https://github.com/facebook/react/issues/13188 52334 setTimeout(function () { 52335 throw e; 52336 }); 52337 } 52338} 52339 52340var callComponentWillUnmountWithTimer = function (current, instance) { 52341 startPhaseTimer(current, 'componentWillUnmount'); 52342 instance.props = current.memoizedProps; 52343 instance.state = current.memoizedState; 52344 instance.componentWillUnmount(); 52345 stopPhaseTimer(); 52346}; // Capture errors so they don't interrupt unmounting. 52347 52348 52349function safelyCallComponentWillUnmount(current, instance) { 52350 { 52351 invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current, instance); 52352 52353 if (hasCaughtError()) { 52354 var unmountError = clearCaughtError(); 52355 captureCommitPhaseError(current, unmountError); 52356 } 52357 } 52358} 52359 52360function safelyDetachRef(current) { 52361 var ref = current.ref; 52362 52363 if (ref !== null) { 52364 if (typeof ref === 'function') { 52365 { 52366 invokeGuardedCallback(null, ref, null, null); 52367 52368 if (hasCaughtError()) { 52369 var refError = clearCaughtError(); 52370 captureCommitPhaseError(current, refError); 52371 } 52372 } 52373 } else { 52374 ref.current = null; 52375 } 52376 } 52377} 52378 52379function safelyCallDestroy(current, destroy) { 52380 { 52381 invokeGuardedCallback(null, destroy, null); 52382 52383 if (hasCaughtError()) { 52384 var error = clearCaughtError(); 52385 captureCommitPhaseError(current, error); 52386 } 52387 } 52388} 52389 52390function commitBeforeMutationLifeCycles(current, finishedWork) { 52391 switch (finishedWork.tag) { 52392 case FunctionComponent: 52393 case ForwardRef: 52394 case SimpleMemoComponent: 52395 case Block: 52396 { 52397 return; 52398 } 52399 52400 case ClassComponent: 52401 { 52402 if (finishedWork.effectTag & Snapshot) { 52403 if (current !== null) { 52404 var prevProps = current.memoizedProps; 52405 var prevState = current.memoizedState; 52406 startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate'); 52407 var instance = finishedWork.stateNode; // We could update instance props and state here, 52408 // but instead we rely on them being set during last render. 52409 // TODO: revisit this when we implement resuming. 52410 52411 { 52412 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 52413 if (instance.props !== finishedWork.memoizedProps) { 52414 error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52415 } 52416 52417 if (instance.state !== finishedWork.memoizedState) { 52418 error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52419 } 52420 } 52421 } 52422 52423 var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState); 52424 52425 { 52426 var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; 52427 52428 if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) { 52429 didWarnSet.add(finishedWork.type); 52430 52431 error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type)); 52432 } 52433 } 52434 52435 instance.__reactInternalSnapshotBeforeUpdate = snapshot; 52436 stopPhaseTimer(); 52437 } 52438 } 52439 52440 return; 52441 } 52442 52443 case HostRoot: 52444 case HostComponent: 52445 case HostText: 52446 case HostPortal: 52447 case IncompleteClassComponent: 52448 // Nothing to do for these component types 52449 return; 52450 } 52451 52452 { 52453 { 52454 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 52455 } 52456 } 52457} 52458 52459function commitHookEffectListUnmount(tag, finishedWork) { 52460 var updateQueue = finishedWork.updateQueue; 52461 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 52462 52463 if (lastEffect !== null) { 52464 var firstEffect = lastEffect.next; 52465 var effect = firstEffect; 52466 52467 do { 52468 if ((effect.tag & tag) === tag) { 52469 // Unmount 52470 var destroy = effect.destroy; 52471 effect.destroy = undefined; 52472 52473 if (destroy !== undefined) { 52474 destroy(); 52475 } 52476 } 52477 52478 effect = effect.next; 52479 } while (effect !== firstEffect); 52480 } 52481} 52482 52483function commitHookEffectListMount(tag, finishedWork) { 52484 var updateQueue = finishedWork.updateQueue; 52485 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 52486 52487 if (lastEffect !== null) { 52488 var firstEffect = lastEffect.next; 52489 var effect = firstEffect; 52490 52491 do { 52492 if ((effect.tag & tag) === tag) { 52493 // Mount 52494 var create = effect.create; 52495 effect.destroy = create(); 52496 52497 { 52498 var destroy = effect.destroy; 52499 52500 if (destroy !== undefined && typeof destroy !== 'function') { 52501 var addendum = void 0; 52502 52503 if (destroy === null) { 52504 addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).'; 52505 } else if (typeof destroy.then === 'function') { 52506 addendum = '\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useEffect(() => {\n' + ' async function fetchData() {\n' + ' // You can await here\n' + ' const response = await MyAPI.getData(someId);\n' + ' // ...\n' + ' }\n' + ' fetchData();\n' + "}, [someId]); // Or [] if effect doesn't need props or state\n\n" + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching'; 52507 } else { 52508 addendum = ' You returned: ' + destroy; 52509 } 52510 52511 error('An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork)); 52512 } 52513 } 52514 } 52515 52516 effect = effect.next; 52517 } while (effect !== firstEffect); 52518 } 52519} 52520 52521function commitPassiveHookEffects(finishedWork) { 52522 if ((finishedWork.effectTag & Passive) !== NoEffect) { 52523 switch (finishedWork.tag) { 52524 case FunctionComponent: 52525 case ForwardRef: 52526 case SimpleMemoComponent: 52527 case Block: 52528 { 52529 // TODO (#17945) We should call all passive destroy functions (for all fibers) 52530 // before calling any create functions. The current approach only serializes 52531 // these for a single fiber. 52532 commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork); 52533 commitHookEffectListMount(Passive$1 | HasEffect, finishedWork); 52534 break; 52535 } 52536 } 52537 } 52538} 52539 52540function commitLifeCycles(finishedRoot, current, finishedWork, committedExpirationTime) { 52541 switch (finishedWork.tag) { 52542 case FunctionComponent: 52543 case ForwardRef: 52544 case SimpleMemoComponent: 52545 case Block: 52546 { 52547 // At this point layout effects have already been destroyed (during mutation phase). 52548 // This is done to prevent sibling component effects from interfering with each other, 52549 // e.g. a destroy function in one component should never override a ref set 52550 // by a create function in another component during the same commit. 52551 commitHookEffectListMount(Layout | HasEffect, finishedWork); 52552 52553 return; 52554 } 52555 52556 case ClassComponent: 52557 { 52558 var instance = finishedWork.stateNode; 52559 52560 if (finishedWork.effectTag & Update) { 52561 if (current === null) { 52562 startPhaseTimer(finishedWork, 'componentDidMount'); // We could update instance props and state here, 52563 // but instead we rely on them being set during last render. 52564 // TODO: revisit this when we implement resuming. 52565 52566 { 52567 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 52568 if (instance.props !== finishedWork.memoizedProps) { 52569 error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52570 } 52571 52572 if (instance.state !== finishedWork.memoizedState) { 52573 error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52574 } 52575 } 52576 } 52577 52578 instance.componentDidMount(); 52579 stopPhaseTimer(); 52580 } else { 52581 var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps); 52582 var prevState = current.memoizedState; 52583 startPhaseTimer(finishedWork, 'componentDidUpdate'); // We could update instance props and state here, 52584 // but instead we rely on them being set during last render. 52585 // TODO: revisit this when we implement resuming. 52586 52587 { 52588 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 52589 if (instance.props !== finishedWork.memoizedProps) { 52590 error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52591 } 52592 52593 if (instance.state !== finishedWork.memoizedState) { 52594 error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52595 } 52596 } 52597 } 52598 52599 instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); 52600 stopPhaseTimer(); 52601 } 52602 } 52603 52604 var updateQueue = finishedWork.updateQueue; 52605 52606 if (updateQueue !== null) { 52607 { 52608 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 52609 if (instance.props !== finishedWork.memoizedProps) { 52610 error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52611 } 52612 52613 if (instance.state !== finishedWork.memoizedState) { 52614 error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance'); 52615 } 52616 } 52617 } // We could update instance props and state here, 52618 // but instead we rely on them being set during last render. 52619 // TODO: revisit this when we implement resuming. 52620 52621 52622 commitUpdateQueue(finishedWork, updateQueue, instance); 52623 } 52624 52625 return; 52626 } 52627 52628 case HostRoot: 52629 { 52630 var _updateQueue = finishedWork.updateQueue; 52631 52632 if (_updateQueue !== null) { 52633 var _instance = null; 52634 52635 if (finishedWork.child !== null) { 52636 switch (finishedWork.child.tag) { 52637 case HostComponent: 52638 _instance = getPublicInstance(finishedWork.child.stateNode); 52639 break; 52640 52641 case ClassComponent: 52642 _instance = finishedWork.child.stateNode; 52643 break; 52644 } 52645 } 52646 52647 commitUpdateQueue(finishedWork, _updateQueue, _instance); 52648 } 52649 52650 return; 52651 } 52652 52653 case HostComponent: 52654 { 52655 var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted 52656 // (eg DOM renderer may schedule auto-focus for inputs and form controls). 52657 // These effects should only be committed when components are first mounted, 52658 // aka when there is no current/alternate. 52659 52660 if (current === null && finishedWork.effectTag & Update) { 52661 var type = finishedWork.type; 52662 var props = finishedWork.memoizedProps; 52663 commitMount(_instance2, type, props); 52664 } 52665 52666 return; 52667 } 52668 52669 case HostText: 52670 { 52671 // We have no life-cycles associated with text. 52672 return; 52673 } 52674 52675 case HostPortal: 52676 { 52677 // We have no life-cycles associated with portals. 52678 return; 52679 } 52680 52681 case Profiler: 52682 { 52683 { 52684 var onRender = finishedWork.memoizedProps.onRender; 52685 52686 if (typeof onRender === 'function') { 52687 { 52688 onRender(finishedWork.memoizedProps.id, current === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions); 52689 } 52690 } 52691 } 52692 52693 return; 52694 } 52695 52696 case SuspenseComponent: 52697 { 52698 commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); 52699 return; 52700 } 52701 52702 case SuspenseListComponent: 52703 case IncompleteClassComponent: 52704 case FundamentalComponent: 52705 case ScopeComponent: 52706 return; 52707 } 52708 52709 { 52710 { 52711 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 52712 } 52713 } 52714} 52715 52716function hideOrUnhideAllChildren(finishedWork, isHidden) { 52717 { 52718 // We only have the top Fiber that was inserted but we need to recurse down its 52719 // children to find all the terminal nodes. 52720 var node = finishedWork; 52721 52722 while (true) { 52723 if (node.tag === HostComponent) { 52724 var instance = node.stateNode; 52725 52726 if (isHidden) { 52727 hideInstance(instance); 52728 } else { 52729 unhideInstance(node.stateNode, node.memoizedProps); 52730 } 52731 } else if (node.tag === HostText) { 52732 var _instance3 = node.stateNode; 52733 52734 if (isHidden) { 52735 hideTextInstance(_instance3); 52736 } else { 52737 unhideTextInstance(_instance3, node.memoizedProps); 52738 } 52739 } else if (node.tag === SuspenseComponent && node.memoizedState !== null && node.memoizedState.dehydrated === null) { 52740 // Found a nested Suspense component that timed out. Skip over the 52741 // primary child fragment, which should remain hidden. 52742 var fallbackChildFragment = node.child.sibling; 52743 fallbackChildFragment.return = node; 52744 node = fallbackChildFragment; 52745 continue; 52746 } else if (node.child !== null) { 52747 node.child.return = node; 52748 node = node.child; 52749 continue; 52750 } 52751 52752 if (node === finishedWork) { 52753 return; 52754 } 52755 52756 while (node.sibling === null) { 52757 if (node.return === null || node.return === finishedWork) { 52758 return; 52759 } 52760 52761 node = node.return; 52762 } 52763 52764 node.sibling.return = node.return; 52765 node = node.sibling; 52766 } 52767 } 52768} 52769 52770function commitAttachRef(finishedWork) { 52771 var ref = finishedWork.ref; 52772 52773 if (ref !== null) { 52774 var instance = finishedWork.stateNode; 52775 var instanceToUse; 52776 52777 switch (finishedWork.tag) { 52778 case HostComponent: 52779 instanceToUse = getPublicInstance(instance); 52780 break; 52781 52782 default: 52783 instanceToUse = instance; 52784 } // Moved outside to ensure DCE works with this flag 52785 52786 if (typeof ref === 'function') { 52787 ref(instanceToUse); 52788 } else { 52789 { 52790 if (!ref.hasOwnProperty('current')) { 52791 error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork)); 52792 } 52793 } 52794 52795 ref.current = instanceToUse; 52796 } 52797 } 52798} 52799 52800function commitDetachRef(current) { 52801 var currentRef = current.ref; 52802 52803 if (currentRef !== null) { 52804 if (typeof currentRef === 'function') { 52805 currentRef(null); 52806 } else { 52807 currentRef.current = null; 52808 } 52809 } 52810} // User-originating errors (lifecycles and refs) should not interrupt 52811// deletion, so don't let them throw. Host-originating errors should 52812// interrupt deletion, so it's okay 52813 52814 52815function commitUnmount(finishedRoot, current, renderPriorityLevel) { 52816 onCommitUnmount(current); 52817 52818 switch (current.tag) { 52819 case FunctionComponent: 52820 case ForwardRef: 52821 case MemoComponent: 52822 case SimpleMemoComponent: 52823 case Block: 52824 { 52825 var updateQueue = current.updateQueue; 52826 52827 if (updateQueue !== null) { 52828 var lastEffect = updateQueue.lastEffect; 52829 52830 if (lastEffect !== null) { 52831 var firstEffect = lastEffect.next; 52832 52833 { 52834 // When the owner fiber is deleted, the destroy function of a passive 52835 // effect hook is called during the synchronous commit phase. This is 52836 // a concession to implementation complexity. Calling it in the 52837 // passive effect phase (like they usually are, when dependencies 52838 // change during an update) would require either traversing the 52839 // children of the deleted fiber again, or including unmount effects 52840 // as part of the fiber effect list. 52841 // 52842 // Because this is during the sync commit phase, we need to change 52843 // the priority. 52844 // 52845 // TODO: Reconsider this implementation trade off. 52846 var priorityLevel = renderPriorityLevel > NormalPriority ? NormalPriority : renderPriorityLevel; 52847 runWithPriority$1(priorityLevel, function () { 52848 var effect = firstEffect; 52849 52850 do { 52851 var _destroy = effect.destroy; 52852 52853 if (_destroy !== undefined) { 52854 safelyCallDestroy(current, _destroy); 52855 } 52856 52857 effect = effect.next; 52858 } while (effect !== firstEffect); 52859 }); 52860 } 52861 } 52862 } 52863 52864 return; 52865 } 52866 52867 case ClassComponent: 52868 { 52869 safelyDetachRef(current); 52870 var instance = current.stateNode; 52871 52872 if (typeof instance.componentWillUnmount === 'function') { 52873 safelyCallComponentWillUnmount(current, instance); 52874 } 52875 52876 return; 52877 } 52878 52879 case HostComponent: 52880 { 52881 52882 safelyDetachRef(current); 52883 return; 52884 } 52885 52886 case HostPortal: 52887 { 52888 // TODO: this is recursive. 52889 // We are also not using this parent because 52890 // the portal will get pushed immediately. 52891 { 52892 unmountHostComponents(finishedRoot, current, renderPriorityLevel); 52893 } 52894 52895 return; 52896 } 52897 52898 case FundamentalComponent: 52899 { 52900 52901 return; 52902 } 52903 52904 case DehydratedFragment: 52905 { 52906 52907 return; 52908 } 52909 52910 case ScopeComponent: 52911 { 52912 52913 return; 52914 } 52915 } 52916} 52917 52918function commitNestedUnmounts(finishedRoot, root, renderPriorityLevel) { 52919 // While we're inside a removed host node we don't want to call 52920 // removeChild on the inner nodes because they're removed by the top 52921 // call anyway. We also want to call componentWillUnmount on all 52922 // composites before this host node is removed from the tree. Therefore 52923 // we do an inner loop while we're still inside the host node. 52924 var node = root; 52925 52926 while (true) { 52927 commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because they may contain more composite or host nodes. 52928 // Skip portals because commitUnmount() currently visits them recursively. 52929 52930 if (node.child !== null && ( // If we use mutation we drill down into portals using commitUnmount above. 52931 // If we don't use mutation we drill down into portals here instead. 52932 node.tag !== HostPortal)) { 52933 node.child.return = node; 52934 node = node.child; 52935 continue; 52936 } 52937 52938 if (node === root) { 52939 return; 52940 } 52941 52942 while (node.sibling === null) { 52943 if (node.return === null || node.return === root) { 52944 return; 52945 } 52946 52947 node = node.return; 52948 } 52949 52950 node.sibling.return = node.return; 52951 node = node.sibling; 52952 } 52953} 52954 52955function detachFiber(current) { 52956 var alternate = current.alternate; // Cut off the return pointers to disconnect it from the tree. Ideally, we 52957 // should clear the child pointer of the parent alternate to let this 52958 // get GC:ed but we don't know which for sure which parent is the current 52959 // one so we'll settle for GC:ing the subtree of this child. This child 52960 // itself will be GC:ed when the parent updates the next time. 52961 52962 current.return = null; 52963 current.child = null; 52964 current.memoizedState = null; 52965 current.updateQueue = null; 52966 current.dependencies = null; 52967 current.alternate = null; 52968 current.firstEffect = null; 52969 current.lastEffect = null; 52970 current.pendingProps = null; 52971 current.memoizedProps = null; 52972 current.stateNode = null; 52973 52974 if (alternate !== null) { 52975 detachFiber(alternate); 52976 } 52977} 52978 52979function getHostParentFiber(fiber) { 52980 var parent = fiber.return; 52981 52982 while (parent !== null) { 52983 if (isHostParent(parent)) { 52984 return parent; 52985 } 52986 52987 parent = parent.return; 52988 } 52989 52990 { 52991 { 52992 throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." ); 52993 } 52994 } 52995} 52996 52997function isHostParent(fiber) { 52998 return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; 52999} 53000 53001function getHostSibling(fiber) { 53002 // We're going to search forward into the tree until we find a sibling host 53003 // node. Unfortunately, if multiple insertions are done in a row we have to 53004 // search past them. This leads to exponential search for the next sibling. 53005 // TODO: Find a more efficient way to do this. 53006 var node = fiber; 53007 53008 siblings: while (true) { 53009 // If we didn't find anything, let's try the next sibling. 53010 while (node.sibling === null) { 53011 if (node.return === null || isHostParent(node.return)) { 53012 // If we pop out of the root or hit the parent the fiber we are the 53013 // last sibling. 53014 return null; 53015 } 53016 53017 node = node.return; 53018 } 53019 53020 node.sibling.return = node.return; 53021 node = node.sibling; 53022 53023 while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) { 53024 // If it is not host node and, we might have a host node inside it. 53025 // Try to search down until we find one. 53026 if (node.effectTag & Placement) { 53027 // If we don't have a child, try the siblings instead. 53028 continue siblings; 53029 } // If we don't have a child, try the siblings instead. 53030 // We also skip portals because they are not part of this host tree. 53031 53032 53033 if (node.child === null || node.tag === HostPortal) { 53034 continue siblings; 53035 } else { 53036 node.child.return = node; 53037 node = node.child; 53038 } 53039 } // Check if this host node is stable or about to be placed. 53040 53041 53042 if (!(node.effectTag & Placement)) { 53043 // Found it! 53044 return node.stateNode; 53045 } 53046 } 53047} 53048 53049function commitPlacement(finishedWork) { 53050 53051 53052 var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together. 53053 53054 var parent; 53055 var isContainer; 53056 var parentStateNode = parentFiber.stateNode; 53057 53058 switch (parentFiber.tag) { 53059 case HostComponent: 53060 parent = parentStateNode; 53061 isContainer = false; 53062 break; 53063 53064 case HostRoot: 53065 parent = parentStateNode.containerInfo; 53066 isContainer = true; 53067 break; 53068 53069 case HostPortal: 53070 parent = parentStateNode.containerInfo; 53071 isContainer = true; 53072 break; 53073 53074 case FundamentalComponent: 53075 53076 // eslint-disable-next-line-no-fallthrough 53077 53078 default: 53079 { 53080 { 53081 throw Error( "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." ); 53082 } 53083 } 53084 53085 } 53086 53087 if (parentFiber.effectTag & ContentReset) { 53088 // Reset the text content of the parent before doing any insertions 53089 resetTextContent(parent); // Clear ContentReset from the effect tag 53090 53091 parentFiber.effectTag &= ~ContentReset; 53092 } 53093 53094 var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its 53095 // children to find all the terminal nodes. 53096 53097 if (isContainer) { 53098 insertOrAppendPlacementNodeIntoContainer(finishedWork, before, parent); 53099 } else { 53100 insertOrAppendPlacementNode(finishedWork, before, parent); 53101 } 53102} 53103 53104function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { 53105 var tag = node.tag; 53106 var isHost = tag === HostComponent || tag === HostText; 53107 53108 if (isHost || enableFundamentalAPI ) { 53109 var stateNode = isHost ? node.stateNode : node.stateNode.instance; 53110 53111 if (before) { 53112 insertInContainerBefore(parent, stateNode, before); 53113 } else { 53114 appendChildToContainer(parent, stateNode); 53115 } 53116 } else if (tag === HostPortal) ; else { 53117 var child = node.child; 53118 53119 if (child !== null) { 53120 insertOrAppendPlacementNodeIntoContainer(child, before, parent); 53121 var sibling = child.sibling; 53122 53123 while (sibling !== null) { 53124 insertOrAppendPlacementNodeIntoContainer(sibling, before, parent); 53125 sibling = sibling.sibling; 53126 } 53127 } 53128 } 53129} 53130 53131function insertOrAppendPlacementNode(node, before, parent) { 53132 var tag = node.tag; 53133 var isHost = tag === HostComponent || tag === HostText; 53134 53135 if (isHost || enableFundamentalAPI ) { 53136 var stateNode = isHost ? node.stateNode : node.stateNode.instance; 53137 53138 if (before) { 53139 insertBefore(parent, stateNode, before); 53140 } else { 53141 appendChild(parent, stateNode); 53142 } 53143 } else if (tag === HostPortal) ; else { 53144 var child = node.child; 53145 53146 if (child !== null) { 53147 insertOrAppendPlacementNode(child, before, parent); 53148 var sibling = child.sibling; 53149 53150 while (sibling !== null) { 53151 insertOrAppendPlacementNode(sibling, before, parent); 53152 sibling = sibling.sibling; 53153 } 53154 } 53155 } 53156} 53157 53158function unmountHostComponents(finishedRoot, current, renderPriorityLevel) { 53159 // We only have the top Fiber that was deleted but we need to recurse down its 53160 // children to find all the terminal nodes. 53161 var node = current; // Each iteration, currentParent is populated with node's host parent if not 53162 // currentParentIsValid. 53163 53164 var currentParentIsValid = false; // Note: these two variables *must* always be updated together. 53165 53166 var currentParent; 53167 var currentParentIsContainer; 53168 53169 while (true) { 53170 if (!currentParentIsValid) { 53171 var parent = node.return; 53172 53173 findParent: while (true) { 53174 if (!(parent !== null)) { 53175 { 53176 throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." ); 53177 } 53178 } 53179 53180 var parentStateNode = parent.stateNode; 53181 53182 switch (parent.tag) { 53183 case HostComponent: 53184 currentParent = parentStateNode; 53185 currentParentIsContainer = false; 53186 break findParent; 53187 53188 case HostRoot: 53189 currentParent = parentStateNode.containerInfo; 53190 currentParentIsContainer = true; 53191 break findParent; 53192 53193 case HostPortal: 53194 currentParent = parentStateNode.containerInfo; 53195 currentParentIsContainer = true; 53196 break findParent; 53197 53198 } 53199 53200 parent = parent.return; 53201 } 53202 53203 currentParentIsValid = true; 53204 } 53205 53206 if (node.tag === HostComponent || node.tag === HostText) { 53207 commitNestedUnmounts(finishedRoot, node, renderPriorityLevel); // After all the children have unmounted, it is now safe to remove the 53208 // node from the tree. 53209 53210 if (currentParentIsContainer) { 53211 removeChildFromContainer(currentParent, node.stateNode); 53212 } else { 53213 removeChild(currentParent, node.stateNode); 53214 } // Don't visit children because we already visited them. 53215 53216 } else if (node.tag === HostPortal) { 53217 if (node.child !== null) { 53218 // When we go into a portal, it becomes the parent to remove from. 53219 // We will reassign it back when we pop the portal on the way up. 53220 currentParent = node.stateNode.containerInfo; 53221 currentParentIsContainer = true; // Visit children because portals might contain host components. 53222 53223 node.child.return = node; 53224 node = node.child; 53225 continue; 53226 } 53227 } else { 53228 commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because we may find more host components below. 53229 53230 if (node.child !== null) { 53231 node.child.return = node; 53232 node = node.child; 53233 continue; 53234 } 53235 } 53236 53237 if (node === current) { 53238 return; 53239 } 53240 53241 while (node.sibling === null) { 53242 if (node.return === null || node.return === current) { 53243 return; 53244 } 53245 53246 node = node.return; 53247 53248 if (node.tag === HostPortal) { 53249 // When we go out of the portal, we need to restore the parent. 53250 // Since we don't keep a stack of them, we will search for it. 53251 currentParentIsValid = false; 53252 } 53253 } 53254 53255 node.sibling.return = node.return; 53256 node = node.sibling; 53257 } 53258} 53259 53260function commitDeletion(finishedRoot, current, renderPriorityLevel) { 53261 { 53262 // Recursively delete all host nodes from the parent. 53263 // Detach refs and call componentWillUnmount() on the whole subtree. 53264 unmountHostComponents(finishedRoot, current, renderPriorityLevel); 53265 } 53266 53267 detachFiber(current); 53268} 53269 53270function commitWork(current, finishedWork) { 53271 53272 switch (finishedWork.tag) { 53273 case FunctionComponent: 53274 case ForwardRef: 53275 case MemoComponent: 53276 case SimpleMemoComponent: 53277 case Block: 53278 { 53279 // Layout effects are destroyed during the mutation phase so that all 53280 // destroy functions for all fibers are called before any create functions. 53281 // This prevents sibling component effects from interfering with each other, 53282 // e.g. a destroy function in one component should never override a ref set 53283 // by a create function in another component during the same commit. 53284 commitHookEffectListUnmount(Layout | HasEffect, finishedWork); 53285 return; 53286 } 53287 53288 case ClassComponent: 53289 { 53290 return; 53291 } 53292 53293 case HostComponent: 53294 { 53295 var instance = finishedWork.stateNode; 53296 53297 if (instance != null) { 53298 // Commit the work prepared earlier. 53299 var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps 53300 // as the newProps. The updatePayload will contain the real change in 53301 // this case. 53302 53303 var oldProps = current !== null ? current.memoizedProps : newProps; 53304 var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components. 53305 53306 var updatePayload = finishedWork.updateQueue; 53307 finishedWork.updateQueue = null; 53308 53309 if (updatePayload !== null) { 53310 commitUpdate(instance, updatePayload, type, oldProps, newProps); 53311 } 53312 } 53313 53314 return; 53315 } 53316 53317 case HostText: 53318 { 53319 if (!(finishedWork.stateNode !== null)) { 53320 { 53321 throw Error( "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." ); 53322 } 53323 } 53324 53325 var textInstance = finishedWork.stateNode; 53326 var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps 53327 // as the newProps. The updatePayload will contain the real change in 53328 // this case. 53329 53330 var oldText = current !== null ? current.memoizedProps : newText; 53331 commitTextUpdate(textInstance, oldText, newText); 53332 return; 53333 } 53334 53335 case HostRoot: 53336 { 53337 { 53338 var _root = finishedWork.stateNode; 53339 53340 if (_root.hydrate) { 53341 // We've just hydrated. No need to hydrate again. 53342 _root.hydrate = false; 53343 commitHydratedContainer(_root.containerInfo); 53344 } 53345 } 53346 53347 return; 53348 } 53349 53350 case Profiler: 53351 { 53352 return; 53353 } 53354 53355 case SuspenseComponent: 53356 { 53357 commitSuspenseComponent(finishedWork); 53358 attachSuspenseRetryListeners(finishedWork); 53359 return; 53360 } 53361 53362 case SuspenseListComponent: 53363 { 53364 attachSuspenseRetryListeners(finishedWork); 53365 return; 53366 } 53367 53368 case IncompleteClassComponent: 53369 { 53370 return; 53371 } 53372 } 53373 53374 { 53375 { 53376 throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." ); 53377 } 53378 } 53379} 53380 53381function commitSuspenseComponent(finishedWork) { 53382 var newState = finishedWork.memoizedState; 53383 var newDidTimeout; 53384 var primaryChildParent = finishedWork; 53385 53386 if (newState === null) { 53387 newDidTimeout = false; 53388 } else { 53389 newDidTimeout = true; 53390 primaryChildParent = finishedWork.child; 53391 markCommitTimeOfFallback(); 53392 } 53393 53394 if ( primaryChildParent !== null) { 53395 hideOrUnhideAllChildren(primaryChildParent, newDidTimeout); 53396 } 53397} 53398 53399function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { 53400 53401 var newState = finishedWork.memoizedState; 53402 53403 if (newState === null) { 53404 var current = finishedWork.alternate; 53405 53406 if (current !== null) { 53407 var prevState = current.memoizedState; 53408 53409 if (prevState !== null) { 53410 var suspenseInstance = prevState.dehydrated; 53411 53412 if (suspenseInstance !== null) { 53413 commitHydratedSuspenseInstance(suspenseInstance); 53414 } 53415 } 53416 } 53417 } 53418} 53419 53420function attachSuspenseRetryListeners(finishedWork) { 53421 // If this boundary just timed out, then it will have a set of thenables. 53422 // For each thenable, attach a listener so that when it resolves, React 53423 // attempts to re-render the boundary in the primary (pre-timeout) state. 53424 var thenables = finishedWork.updateQueue; 53425 53426 if (thenables !== null) { 53427 finishedWork.updateQueue = null; 53428 var retryCache = finishedWork.stateNode; 53429 53430 if (retryCache === null) { 53431 retryCache = finishedWork.stateNode = new PossiblyWeakSet(); 53432 } 53433 53434 thenables.forEach(function (thenable) { 53435 // Memoize using the boundary fiber to prevent redundant listeners. 53436 var retry = resolveRetryThenable.bind(null, finishedWork, thenable); 53437 53438 if (!retryCache.has(thenable)) { 53439 { 53440 if (thenable.__reactDoNotTraceInteractions !== true) { 53441 retry = tracing.unstable_wrap(retry); 53442 } 53443 } 53444 53445 retryCache.add(thenable); 53446 thenable.then(retry, retry); 53447 } 53448 }); 53449 } 53450} 53451 53452function commitResetTextContent(current) { 53453 53454 resetTextContent(current.stateNode); 53455} 53456 53457var PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map; 53458 53459function createRootErrorUpdate(fiber, errorInfo, expirationTime) { 53460 var update = createUpdate(expirationTime, null); // Unmount the root by rendering null. 53461 53462 update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property 53463 // being called "element". 53464 53465 update.payload = { 53466 element: null 53467 }; 53468 var error = errorInfo.value; 53469 53470 update.callback = function () { 53471 onUncaughtError(error); 53472 logError(fiber, errorInfo); 53473 }; 53474 53475 return update; 53476} 53477 53478function createClassErrorUpdate(fiber, errorInfo, expirationTime) { 53479 var update = createUpdate(expirationTime, null); 53480 update.tag = CaptureUpdate; 53481 var getDerivedStateFromError = fiber.type.getDerivedStateFromError; 53482 53483 if (typeof getDerivedStateFromError === 'function') { 53484 var error$1 = errorInfo.value; 53485 53486 update.payload = function () { 53487 logError(fiber, errorInfo); 53488 return getDerivedStateFromError(error$1); 53489 }; 53490 } 53491 53492 var inst = fiber.stateNode; 53493 53494 if (inst !== null && typeof inst.componentDidCatch === 'function') { 53495 update.callback = function callback() { 53496 { 53497 markFailedErrorBoundaryForHotReloading(fiber); 53498 } 53499 53500 if (typeof getDerivedStateFromError !== 'function') { 53501 // To preserve the preexisting retry behavior of error boundaries, 53502 // we keep track of which ones already failed during this batch. 53503 // This gets reset before we yield back to the browser. 53504 // TODO: Warn in strict mode if getDerivedStateFromError is 53505 // not defined. 53506 markLegacyErrorBoundaryAsFailed(this); // Only log here if componentDidCatch is the only error boundary method defined 53507 53508 logError(fiber, errorInfo); 53509 } 53510 53511 var error$1 = errorInfo.value; 53512 var stack = errorInfo.stack; 53513 this.componentDidCatch(error$1, { 53514 componentStack: stack !== null ? stack : '' 53515 }); 53516 53517 { 53518 if (typeof getDerivedStateFromError !== 'function') { 53519 // If componentDidCatch is the only error boundary method defined, 53520 // then it needs to call setState to recover from errors. 53521 // If no state update is scheduled then the boundary will swallow the error. 53522 if (fiber.expirationTime !== Sync) { 53523 error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown'); 53524 } 53525 } 53526 } 53527 }; 53528 } else { 53529 update.callback = function () { 53530 markFailedErrorBoundaryForHotReloading(fiber); 53531 }; 53532 } 53533 53534 return update; 53535} 53536 53537function attachPingListener(root, renderExpirationTime, thenable) { 53538 // Attach a listener to the promise to "ping" the root and retry. But 53539 // only if one does not already exist for the current render expiration 53540 // time (which acts like a "thread ID" here). 53541 var pingCache = root.pingCache; 53542 var threadIDs; 53543 53544 if (pingCache === null) { 53545 pingCache = root.pingCache = new PossiblyWeakMap$1(); 53546 threadIDs = new Set(); 53547 pingCache.set(thenable, threadIDs); 53548 } else { 53549 threadIDs = pingCache.get(thenable); 53550 53551 if (threadIDs === undefined) { 53552 threadIDs = new Set(); 53553 pingCache.set(thenable, threadIDs); 53554 } 53555 } 53556 53557 if (!threadIDs.has(renderExpirationTime)) { 53558 // Memoize using the thread ID to prevent redundant listeners. 53559 threadIDs.add(renderExpirationTime); 53560 var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime); 53561 thenable.then(ping, ping); 53562 } 53563} 53564 53565function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) { 53566 // The source fiber did not complete. 53567 sourceFiber.effectTag |= Incomplete; // Its effect list is no longer valid. 53568 53569 sourceFiber.firstEffect = sourceFiber.lastEffect = null; 53570 53571 if (value !== null && typeof value === 'object' && typeof value.then === 'function') { 53572 // This is a thenable. 53573 var thenable = value; 53574 53575 if ((sourceFiber.mode & BlockingMode) === NoMode) { 53576 // Reset the memoizedState to what it was before we attempted 53577 // to render it. 53578 var currentSource = sourceFiber.alternate; 53579 53580 if (currentSource) { 53581 sourceFiber.updateQueue = currentSource.updateQueue; 53582 sourceFiber.memoizedState = currentSource.memoizedState; 53583 sourceFiber.expirationTime = currentSource.expirationTime; 53584 } else { 53585 sourceFiber.updateQueue = null; 53586 sourceFiber.memoizedState = null; 53587 } 53588 } 53589 53590 var hasInvisibleParentBoundary = hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext); // Schedule the nearest Suspense to re-render the timed out view. 53591 53592 var _workInProgress = returnFiber; 53593 53594 do { 53595 if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress, hasInvisibleParentBoundary)) { 53596 // Found the nearest boundary. 53597 // Stash the promise on the boundary fiber. If the boundary times out, we'll 53598 // attach another listener to flip the boundary back to its normal state. 53599 var thenables = _workInProgress.updateQueue; 53600 53601 if (thenables === null) { 53602 var updateQueue = new Set(); 53603 updateQueue.add(thenable); 53604 _workInProgress.updateQueue = updateQueue; 53605 } else { 53606 thenables.add(thenable); 53607 } // If the boundary is outside of blocking mode, we should *not* 53608 // suspend the commit. Pretend as if the suspended component rendered 53609 // null and keep rendering. In the commit phase, we'll schedule a 53610 // subsequent synchronous update to re-render the Suspense. 53611 // 53612 // Note: It doesn't matter whether the component that suspended was 53613 // inside a blocking mode tree. If the Suspense is outside of it, we 53614 // should *not* suspend the commit. 53615 53616 53617 if ((_workInProgress.mode & BlockingMode) === NoMode) { 53618 _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete. 53619 // But we shouldn't call any lifecycle methods or callbacks. Remove 53620 // all lifecycle effect tags. 53621 53622 sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete); 53623 53624 if (sourceFiber.tag === ClassComponent) { 53625 var currentSourceFiber = sourceFiber.alternate; 53626 53627 if (currentSourceFiber === null) { 53628 // This is a new mount. Change the tag so it's not mistaken for a 53629 // completed class component. For example, we should not call 53630 // componentWillUnmount if it is deleted. 53631 sourceFiber.tag = IncompleteClassComponent; 53632 } else { 53633 // When we try rendering again, we should not reuse the current fiber, 53634 // since it's known to be in an inconsistent state. Use a force update to 53635 // prevent a bail out. 53636 var update = createUpdate(Sync, null); 53637 update.tag = ForceUpdate; 53638 enqueueUpdate(sourceFiber, update); 53639 } 53640 } // The source fiber did not complete. Mark it with Sync priority to 53641 // indicate that it still has pending work. 53642 53643 53644 sourceFiber.expirationTime = Sync; // Exit without suspending. 53645 53646 return; 53647 } // Confirmed that the boundary is in a concurrent mode tree. Continue 53648 // with the normal suspend path. 53649 // 53650 // After this we'll use a set of heuristics to determine whether this 53651 // render pass will run to completion or restart or "suspend" the commit. 53652 // The actual logic for this is spread out in different places. 53653 // 53654 // This first principle is that if we're going to suspend when we complete 53655 // a root, then we should also restart if we get an update or ping that 53656 // might unsuspend it, and vice versa. The only reason to suspend is 53657 // because you think you might want to restart before committing. However, 53658 // it doesn't make sense to restart only while in the period we're suspended. 53659 // 53660 // Restarting too aggressively is also not good because it starves out any 53661 // intermediate loading state. So we use heuristics to determine when. 53662 // Suspense Heuristics 53663 // 53664 // If nothing threw a Promise or all the same fallbacks are already showing, 53665 // then don't suspend/restart. 53666 // 53667 // If this is an initial render of a new tree of Suspense boundaries and 53668 // those trigger a fallback, then don't suspend/restart. We want to ensure 53669 // that we can show the initial loading state as quickly as possible. 53670 // 53671 // If we hit a "Delayed" case, such as when we'd switch from content back into 53672 // a fallback, then we should always suspend/restart. SuspenseConfig applies to 53673 // this case. If none is defined, JND is used instead. 53674 // 53675 // If we're already showing a fallback and it gets "retried", allowing us to show 53676 // another level, but there's still an inner boundary that would show a fallback, 53677 // then we suspend/restart for 500ms since the last time we showed a fallback 53678 // anywhere in the tree. This effectively throttles progressive loading into a 53679 // consistent train of commits. This also gives us an opportunity to restart to 53680 // get to the completed state slightly earlier. 53681 // 53682 // If there's ambiguity due to batching it's resolved in preference of: 53683 // 1) "delayed", 2) "initial render", 3) "retry". 53684 // 53685 // We want to ensure that a "busy" state doesn't get force committed. We want to 53686 // ensure that new initial loading states can commit as soon as possible. 53687 53688 53689 attachPingListener(root, renderExpirationTime, thenable); 53690 _workInProgress.effectTag |= ShouldCapture; 53691 _workInProgress.expirationTime = renderExpirationTime; 53692 return; 53693 } // This boundary already captured during this render. Continue to the next 53694 // boundary. 53695 53696 53697 _workInProgress = _workInProgress.return; 53698 } while (_workInProgress !== null); // No boundary was found. Fallthrough to error mode. 53699 // TODO: Use invariant so the message is stripped in prod? 53700 53701 53702 value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\n' + '\n' + 'Add a <Suspense fallback=...> component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber)); 53703 } // We didn't find a boundary that could handle this type of exception. Start 53704 // over and traverse parent path again, this time treating the exception 53705 // as an error. 53706 53707 53708 renderDidError(); 53709 value = createCapturedValue(value, sourceFiber); 53710 var workInProgress = returnFiber; 53711 53712 do { 53713 switch (workInProgress.tag) { 53714 case HostRoot: 53715 { 53716 var _errorInfo = value; 53717 workInProgress.effectTag |= ShouldCapture; 53718 workInProgress.expirationTime = renderExpirationTime; 53719 53720 var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime); 53721 53722 enqueueCapturedUpdate(workInProgress, _update); 53723 return; 53724 } 53725 53726 case ClassComponent: 53727 // Capture and retry 53728 var errorInfo = value; 53729 var ctor = workInProgress.type; 53730 var instance = workInProgress.stateNode; 53731 53732 if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) { 53733 workInProgress.effectTag |= ShouldCapture; 53734 workInProgress.expirationTime = renderExpirationTime; // Schedule the error boundary to re-render using updated state 53735 53736 var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime); 53737 53738 enqueueCapturedUpdate(workInProgress, _update2); 53739 return; 53740 } 53741 53742 break; 53743 } 53744 53745 workInProgress = workInProgress.return; 53746 } while (workInProgress !== null); 53747} 53748 53749var ceil = Math.ceil; 53750var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher, 53751 ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner, 53752 IsSomeRendererActing = ReactSharedInternals.IsSomeRendererActing; 53753var NoContext = 53754/* */ 537550; 53756var BatchedContext = 53757/* */ 537581; 53759var EventContext = 53760/* */ 537612; 53762var DiscreteEventContext = 53763/* */ 537644; 53765var LegacyUnbatchedContext = 53766/* */ 537678; 53768var RenderContext = 53769/* */ 5377016; 53771var CommitContext = 53772/* */ 5377332; 53774var RootIncomplete = 0; 53775var RootFatalErrored = 1; 53776var RootErrored = 2; 53777var RootSuspended = 3; 53778var RootSuspendedWithDelay = 4; 53779var RootCompleted = 5; 53780// Describes where we are in the React execution stack 53781var executionContext = NoContext; // The root we're working on 53782 53783var workInProgressRoot = null; // The fiber we're working on 53784 53785var workInProgress = null; // The expiration time we're rendering 53786 53787var renderExpirationTime$1 = NoWork; // Whether to root completed, errored, suspended, etc. 53788 53789var workInProgressRootExitStatus = RootIncomplete; // A fatal error, if one is thrown 53790 53791var workInProgressRootFatalError = null; // Most recent event time among processed updates during this render. 53792// This is conceptually a time stamp but expressed in terms of an ExpirationTime 53793// because we deal mostly with expiration times in the hot path, so this avoids 53794// the conversion happening in the hot path. 53795 53796var workInProgressRootLatestProcessedExpirationTime = Sync; 53797var workInProgressRootLatestSuspenseTimeout = Sync; 53798var workInProgressRootCanSuspendUsingConfig = null; // The work left over by components that were visited during this render. Only 53799// includes unprocessed updates, not work in bailed out children. 53800 53801var workInProgressRootNextUnprocessedUpdateTime = NoWork; // If we're pinged while rendering we don't always restart immediately. 53802// This flag determines if it might be worthwhile to restart if an opportunity 53803// happens latere. 53804 53805var workInProgressRootHasPendingPing = false; // The most recent time we committed a fallback. This lets us ensure a train 53806// model where we don't commit new loading states in too quick succession. 53807 53808var globalMostRecentFallbackTime = 0; 53809var FALLBACK_THROTTLE_MS = 500; 53810var nextEffect = null; 53811var hasUncaughtError = false; 53812var firstUncaughtError = null; 53813var legacyErrorBoundariesThatAlreadyFailed = null; 53814var rootDoesHavePassiveEffects = false; 53815var rootWithPendingPassiveEffects = null; 53816var pendingPassiveEffectsRenderPriority = NoPriority; 53817var pendingPassiveEffectsExpirationTime = NoWork; 53818var rootsWithPendingDiscreteUpdates = null; // Use these to prevent an infinite loop of nested updates 53819 53820var NESTED_UPDATE_LIMIT = 50; 53821var nestedUpdateCount = 0; 53822var rootWithNestedUpdates = null; 53823var NESTED_PASSIVE_UPDATE_LIMIT = 50; 53824var nestedPassiveUpdateCount = 0; 53825var interruptedBy = null; // Marks the need to reschedule pending interactions at these expiration times 53826// during the commit phase. This enables them to be traced across components 53827// that spawn new work during render. E.g. hidden boundaries, suspended SSR 53828// hydration or SuspenseList. 53829 53830var spawnedWorkDuringRender = null; // Expiration times are computed by adding to the current time (the start 53831// time). However, if two updates are scheduled within the same event, we 53832// should treat their start times as simultaneous, even if the actual clock 53833// time has advanced between the first and second call. 53834// In other words, because expiration times determine how updates are batched, 53835// we want all updates of like priority that occur within the same event to 53836// receive the same expiration time. Otherwise we get tearing. 53837 53838var currentEventTime = NoWork; 53839function requestCurrentTimeForUpdate() { 53840 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { 53841 // We're inside React, so it's fine to read the actual time. 53842 return msToExpirationTime(now()); 53843 } // We're not inside React, so we may be in the middle of a browser event. 53844 53845 53846 if (currentEventTime !== NoWork) { 53847 // Use the same start time for all updates until we enter React again. 53848 return currentEventTime; 53849 } // This is the first update since React yielded. Compute a new start time. 53850 53851 53852 currentEventTime = msToExpirationTime(now()); 53853 return currentEventTime; 53854} 53855function getCurrentTime() { 53856 return msToExpirationTime(now()); 53857} 53858function computeExpirationForFiber(currentTime, fiber, suspenseConfig) { 53859 var mode = fiber.mode; 53860 53861 if ((mode & BlockingMode) === NoMode) { 53862 return Sync; 53863 } 53864 53865 var priorityLevel = getCurrentPriorityLevel(); 53866 53867 if ((mode & ConcurrentMode) === NoMode) { 53868 return priorityLevel === ImmediatePriority ? Sync : Batched; 53869 } 53870 53871 if ((executionContext & RenderContext) !== NoContext) { 53872 // Use whatever time we're already rendering 53873 // TODO: Should there be a way to opt out, like with `runWithPriority`? 53874 return renderExpirationTime$1; 53875 } 53876 53877 var expirationTime; 53878 53879 if (suspenseConfig !== null) { 53880 // Compute an expiration time based on the Suspense timeout. 53881 expirationTime = computeSuspenseExpiration(currentTime, suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION); 53882 } else { 53883 // Compute an expiration time based on the Scheduler priority. 53884 switch (priorityLevel) { 53885 case ImmediatePriority: 53886 expirationTime = Sync; 53887 break; 53888 53889 case UserBlockingPriority$1: 53890 // TODO: Rename this to computeUserBlockingExpiration 53891 expirationTime = computeInteractiveExpiration(currentTime); 53892 break; 53893 53894 case NormalPriority: 53895 case LowPriority: 53896 // TODO: Handle LowPriority 53897 // TODO: Rename this to... something better. 53898 expirationTime = computeAsyncExpiration(currentTime); 53899 break; 53900 53901 case IdlePriority: 53902 expirationTime = Idle; 53903 break; 53904 53905 default: 53906 { 53907 { 53908 throw Error( "Expected a valid priority level" ); 53909 } 53910 } 53911 53912 } 53913 } // If we're in the middle of rendering a tree, do not update at the same 53914 // expiration time that is already rendering. 53915 // TODO: We shouldn't have to do this if the update is on a different root. 53916 // Refactor computeExpirationForFiber + scheduleUpdate so we have access to 53917 // the root when we check for this condition. 53918 53919 53920 if (workInProgressRoot !== null && expirationTime === renderExpirationTime$1) { 53921 // This is a trick to move this update into a separate batch 53922 expirationTime -= 1; 53923 } 53924 53925 return expirationTime; 53926} 53927function scheduleUpdateOnFiber(fiber, expirationTime) { 53928 checkForNestedUpdates(); 53929 warnAboutRenderPhaseUpdatesInDEV(fiber); 53930 var root = markUpdateTimeFromFiberToRoot(fiber, expirationTime); 53931 53932 if (root === null) { 53933 warnAboutUpdateOnUnmountedFiberInDEV(fiber); 53934 return; 53935 } 53936 53937 checkForInterruption(fiber, expirationTime); 53938 recordScheduleUpdate(); // TODO: computeExpirationForFiber also reads the priority. Pass the 53939 // priority as an argument to that function and this one. 53940 53941 var priorityLevel = getCurrentPriorityLevel(); 53942 53943 if (expirationTime === Sync) { 53944 if ( // Check if we're inside unbatchedUpdates 53945 (executionContext & LegacyUnbatchedContext) !== NoContext && // Check if we're not already rendering 53946 (executionContext & (RenderContext | CommitContext)) === NoContext) { 53947 // Register pending interactions on the root to avoid losing traced interaction data. 53948 schedulePendingInteractions(root, expirationTime); // This is a legacy edge case. The initial mount of a ReactDOM.render-ed 53949 // root inside of batchedUpdates should be synchronous, but layout updates 53950 // should be deferred until the end of the batch. 53951 53952 performSyncWorkOnRoot(root); 53953 } else { 53954 ensureRootIsScheduled(root); 53955 schedulePendingInteractions(root, expirationTime); 53956 53957 if (executionContext === NoContext) { 53958 // Flush the synchronous work now, unless we're already working or inside 53959 // a batch. This is intentionally inside scheduleUpdateOnFiber instead of 53960 // scheduleCallbackForFiber to preserve the ability to schedule a callback 53961 // without immediately flushing it. We only do this for user-initiated 53962 // updates, to preserve historical behavior of legacy mode. 53963 flushSyncCallbackQueue(); 53964 } 53965 } 53966 } else { 53967 ensureRootIsScheduled(root); 53968 schedulePendingInteractions(root, expirationTime); 53969 } 53970 53971 if ((executionContext & DiscreteEventContext) !== NoContext && ( // Only updates at user-blocking priority or greater are considered 53972 // discrete, even inside a discrete event. 53973 priorityLevel === UserBlockingPriority$1 || priorityLevel === ImmediatePriority)) { 53974 // This is the result of a discrete event. Track the lowest priority 53975 // discrete update per root so we can flush them early, if needed. 53976 if (rootsWithPendingDiscreteUpdates === null) { 53977 rootsWithPendingDiscreteUpdates = new Map([[root, expirationTime]]); 53978 } else { 53979 var lastDiscreteTime = rootsWithPendingDiscreteUpdates.get(root); 53980 53981 if (lastDiscreteTime === undefined || lastDiscreteTime > expirationTime) { 53982 rootsWithPendingDiscreteUpdates.set(root, expirationTime); 53983 } 53984 } 53985 } 53986} 53987var scheduleWork = scheduleUpdateOnFiber; // This is split into a separate function so we can mark a fiber with pending 53988// work without treating it as a typical update that originates from an event; 53989// e.g. retrying a Suspense boundary isn't an update, but it does schedule work 53990// on a fiber. 53991 53992function markUpdateTimeFromFiberToRoot(fiber, expirationTime) { 53993 // Update the source fiber's expiration time 53994 if (fiber.expirationTime < expirationTime) { 53995 fiber.expirationTime = expirationTime; 53996 } 53997 53998 var alternate = fiber.alternate; 53999 54000 if (alternate !== null && alternate.expirationTime < expirationTime) { 54001 alternate.expirationTime = expirationTime; 54002 } // Walk the parent path to the root and update the child expiration time. 54003 54004 54005 var node = fiber.return; 54006 var root = null; 54007 54008 if (node === null && fiber.tag === HostRoot) { 54009 root = fiber.stateNode; 54010 } else { 54011 while (node !== null) { 54012 alternate = node.alternate; 54013 54014 if (node.childExpirationTime < expirationTime) { 54015 node.childExpirationTime = expirationTime; 54016 54017 if (alternate !== null && alternate.childExpirationTime < expirationTime) { 54018 alternate.childExpirationTime = expirationTime; 54019 } 54020 } else if (alternate !== null && alternate.childExpirationTime < expirationTime) { 54021 alternate.childExpirationTime = expirationTime; 54022 } 54023 54024 if (node.return === null && node.tag === HostRoot) { 54025 root = node.stateNode; 54026 break; 54027 } 54028 54029 node = node.return; 54030 } 54031 } 54032 54033 if (root !== null) { 54034 if (workInProgressRoot === root) { 54035 // Received an update to a tree that's in the middle of rendering. Mark 54036 // that's unprocessed work on this root. 54037 markUnprocessedUpdateTime(expirationTime); 54038 54039 if (workInProgressRootExitStatus === RootSuspendedWithDelay) { 54040 // The root already suspended with a delay, which means this render 54041 // definitely won't finish. Since we have a new update, let's mark it as 54042 // suspended now, right before marking the incoming update. This has the 54043 // effect of interrupting the current render and switching to the update. 54044 // TODO: This happens to work when receiving an update during the render 54045 // phase, because of the trick inside computeExpirationForFiber to 54046 // subtract 1 from `renderExpirationTime` to move it into a 54047 // separate bucket. But we should probably model it with an exception, 54048 // using the same mechanism we use to force hydration of a subtree. 54049 // TODO: This does not account for low pri updates that were already 54050 // scheduled before the root started rendering. Need to track the next 54051 // pending expiration time (perhaps by backtracking the return path) and 54052 // then trigger a restart in the `renderDidSuspendDelayIfPossible` path. 54053 markRootSuspendedAtTime(root, renderExpirationTime$1); 54054 } 54055 } // Mark that the root has a pending update. 54056 54057 54058 markRootUpdatedAtTime(root, expirationTime); 54059 } 54060 54061 return root; 54062} 54063 54064function getNextRootExpirationTimeToWorkOn(root) { 54065 // Determines the next expiration time that the root should render, taking 54066 // into account levels that may be suspended, or levels that may have 54067 // received a ping. 54068 var lastExpiredTime = root.lastExpiredTime; 54069 54070 if (lastExpiredTime !== NoWork) { 54071 return lastExpiredTime; 54072 } // "Pending" refers to any update that hasn't committed yet, including if it 54073 // suspended. The "suspended" range is therefore a subset. 54074 54075 54076 var firstPendingTime = root.firstPendingTime; 54077 54078 if (!isRootSuspendedAtTime(root, firstPendingTime)) { 54079 // The highest priority pending time is not suspended. Let's work on that. 54080 return firstPendingTime; 54081 } // If the first pending time is suspended, check if there's a lower priority 54082 // pending level that we know about. Or check if we received a ping. Work 54083 // on whichever is higher priority. 54084 54085 54086 var lastPingedTime = root.lastPingedTime; 54087 var nextKnownPendingLevel = root.nextKnownPendingLevel; 54088 var nextLevel = lastPingedTime > nextKnownPendingLevel ? lastPingedTime : nextKnownPendingLevel; 54089 54090 if ( nextLevel <= Idle && firstPendingTime !== nextLevel) { 54091 // Don't work on Idle/Never priority unless everything else is committed. 54092 return NoWork; 54093 } 54094 54095 return nextLevel; 54096} // Use this function to schedule a task for a root. There's only one task per 54097// root; if a task was already scheduled, we'll check to make sure the 54098// expiration time of the existing task is the same as the expiration time of 54099// the next level that the root has work on. This function is called on every 54100// update, and right before exiting a task. 54101 54102 54103function ensureRootIsScheduled(root) { 54104 var lastExpiredTime = root.lastExpiredTime; 54105 54106 if (lastExpiredTime !== NoWork) { 54107 // Special case: Expired work should flush synchronously. 54108 root.callbackExpirationTime = Sync; 54109 root.callbackPriority = ImmediatePriority; 54110 root.callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root)); 54111 return; 54112 } 54113 54114 var expirationTime = getNextRootExpirationTimeToWorkOn(root); 54115 var existingCallbackNode = root.callbackNode; 54116 54117 if (expirationTime === NoWork) { 54118 // There's nothing to work on. 54119 if (existingCallbackNode !== null) { 54120 root.callbackNode = null; 54121 root.callbackExpirationTime = NoWork; 54122 root.callbackPriority = NoPriority; 54123 } 54124 54125 return; 54126 } // TODO: If this is an update, we already read the current time. Pass the 54127 // time as an argument. 54128 54129 54130 var currentTime = requestCurrentTimeForUpdate(); 54131 var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); // If there's an existing render task, confirm it has the correct priority and 54132 // expiration time. Otherwise, we'll cancel it and schedule a new one. 54133 54134 if (existingCallbackNode !== null) { 54135 var existingCallbackPriority = root.callbackPriority; 54136 var existingCallbackExpirationTime = root.callbackExpirationTime; 54137 54138 if ( // Callback must have the exact same expiration time. 54139 existingCallbackExpirationTime === expirationTime && // Callback must have greater or equal priority. 54140 existingCallbackPriority >= priorityLevel) { 54141 // Existing callback is sufficient. 54142 return; 54143 } // Need to schedule a new task. 54144 // TODO: Instead of scheduling a new task, we should be able to change the 54145 // priority of the existing one. 54146 54147 54148 cancelCallback(existingCallbackNode); 54149 } 54150 54151 root.callbackExpirationTime = expirationTime; 54152 root.callbackPriority = priorityLevel; 54153 var callbackNode; 54154 54155 if (expirationTime === Sync) { 54156 // Sync React callbacks are scheduled on a special internal queue 54157 callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root)); 54158 } else { 54159 callbackNode = scheduleCallback(priorityLevel, performConcurrentWorkOnRoot.bind(null, root), // Compute a task timeout based on the expiration time. This also affects 54160 // ordering because tasks are processed in timeout order. 54161 { 54162 timeout: expirationTimeToMs(expirationTime) - now() 54163 }); 54164 } 54165 54166 root.callbackNode = callbackNode; 54167} // This is the entry point for every concurrent task, i.e. anything that 54168// goes through Scheduler. 54169 54170 54171function performConcurrentWorkOnRoot(root, didTimeout) { 54172 // Since we know we're in a React event, we can clear the current 54173 // event time. The next update will compute a new event time. 54174 currentEventTime = NoWork; 54175 54176 if (didTimeout) { 54177 // The render task took too long to complete. Mark the current time as 54178 // expired to synchronously render all expired work in a single batch. 54179 var currentTime = requestCurrentTimeForUpdate(); 54180 markRootExpiredAtTime(root, currentTime); // This will schedule a synchronous callback. 54181 54182 ensureRootIsScheduled(root); 54183 return null; 54184 } // Determine the next expiration time to work on, using the fields stored 54185 // on the root. 54186 54187 54188 var expirationTime = getNextRootExpirationTimeToWorkOn(root); 54189 54190 if (expirationTime !== NoWork) { 54191 var originalCallbackNode = root.callbackNode; 54192 54193 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 54194 { 54195 throw Error( "Should not already be working." ); 54196 } 54197 } 54198 54199 flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack 54200 // and prepare a fresh one. Otherwise we'll continue where we left off. 54201 54202 if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) { 54203 prepareFreshStack(root, expirationTime); 54204 startWorkOnPendingInteractions(root, expirationTime); 54205 } // If we have a work-in-progress fiber, it means there's still work to do 54206 // in this root. 54207 54208 54209 if (workInProgress !== null) { 54210 var prevExecutionContext = executionContext; 54211 executionContext |= RenderContext; 54212 var prevDispatcher = pushDispatcher(); 54213 var prevInteractions = pushInteractions(root); 54214 startWorkLoopTimer(workInProgress); 54215 54216 do { 54217 try { 54218 workLoopConcurrent(); 54219 break; 54220 } catch (thrownValue) { 54221 handleError(root, thrownValue); 54222 } 54223 } while (true); 54224 54225 resetContextDependencies(); 54226 executionContext = prevExecutionContext; 54227 popDispatcher(prevDispatcher); 54228 54229 { 54230 popInteractions(prevInteractions); 54231 } 54232 54233 if (workInProgressRootExitStatus === RootFatalErrored) { 54234 var fatalError = workInProgressRootFatalError; 54235 stopInterruptedWorkLoopTimer(); 54236 prepareFreshStack(root, expirationTime); 54237 markRootSuspendedAtTime(root, expirationTime); 54238 ensureRootIsScheduled(root); 54239 throw fatalError; 54240 } 54241 54242 if (workInProgress !== null) { 54243 // There's still work left over. Exit without committing. 54244 stopInterruptedWorkLoopTimer(); 54245 } else { 54246 // We now have a consistent tree. The next step is either to commit it, 54247 // or, if something suspended, wait to commit it after a timeout. 54248 stopFinishedWorkLoopTimer(); 54249 var finishedWork = root.finishedWork = root.current.alternate; 54250 root.finishedExpirationTime = expirationTime; 54251 finishConcurrentRender(root, finishedWork, workInProgressRootExitStatus, expirationTime); 54252 } 54253 54254 ensureRootIsScheduled(root); 54255 54256 if (root.callbackNode === originalCallbackNode) { 54257 // The task node scheduled for this root is the same one that's 54258 // currently executed. Need to return a continuation. 54259 return performConcurrentWorkOnRoot.bind(null, root); 54260 } 54261 } 54262 } 54263 54264 return null; 54265} 54266 54267function finishConcurrentRender(root, finishedWork, exitStatus, expirationTime) { 54268 // Set this to null to indicate there's no in-progress render. 54269 workInProgressRoot = null; 54270 54271 switch (exitStatus) { 54272 case RootIncomplete: 54273 case RootFatalErrored: 54274 { 54275 { 54276 { 54277 throw Error( "Root did not complete. This is a bug in React." ); 54278 } 54279 } 54280 } 54281 // Flow knows about invariant, so it complains if I add a break 54282 // statement, but eslint doesn't know about invariant, so it complains 54283 // if I do. eslint-disable-next-line no-fallthrough 54284 54285 case RootErrored: 54286 { 54287 // If this was an async render, the error may have happened due to 54288 // a mutation in a concurrent event. Try rendering one more time, 54289 // synchronously, to see if the error goes away. If there are 54290 // lower priority updates, let's include those, too, in case they 54291 // fix the inconsistency. Render at Idle to include all updates. 54292 // If it was Idle or Never or some not-yet-invented time, render 54293 // at that time. 54294 markRootExpiredAtTime(root, expirationTime > Idle ? Idle : expirationTime); // We assume that this second render pass will be synchronous 54295 // and therefore not hit this path again. 54296 54297 break; 54298 } 54299 54300 case RootSuspended: 54301 { 54302 markRootSuspendedAtTime(root, expirationTime); 54303 var lastSuspendedTime = root.lastSuspendedTime; 54304 54305 if (expirationTime === lastSuspendedTime) { 54306 root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork); 54307 } // We have an acceptable loading state. We need to figure out if we 54308 // should immediately commit it or wait a bit. 54309 // If we have processed new updates during this render, we may now 54310 // have a new loading state ready. We want to ensure that we commit 54311 // that as soon as possible. 54312 54313 54314 var hasNotProcessedNewUpdates = workInProgressRootLatestProcessedExpirationTime === Sync; 54315 54316 if (hasNotProcessedNewUpdates && // do not delay if we're inside an act() scope 54317 !( IsThisRendererActing.current)) { 54318 // If we have not processed any new updates during this pass, then 54319 // this is either a retry of an existing fallback state or a 54320 // hidden tree. Hidden trees shouldn't be batched with other work 54321 // and after that's fixed it can only be a retry. We're going to 54322 // throttle committing retries so that we don't show too many 54323 // loading states too quickly. 54324 var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time. 54325 54326 if (msUntilTimeout > 10) { 54327 if (workInProgressRootHasPendingPing) { 54328 var lastPingedTime = root.lastPingedTime; 54329 54330 if (lastPingedTime === NoWork || lastPingedTime >= expirationTime) { 54331 // This render was pinged but we didn't get to restart 54332 // earlier so try restarting now instead. 54333 root.lastPingedTime = expirationTime; 54334 prepareFreshStack(root, expirationTime); 54335 break; 54336 } 54337 } 54338 54339 var nextTime = getNextRootExpirationTimeToWorkOn(root); 54340 54341 if (nextTime !== NoWork && nextTime !== expirationTime) { 54342 // There's additional work on this root. 54343 break; 54344 } 54345 54346 if (lastSuspendedTime !== NoWork && lastSuspendedTime !== expirationTime) { 54347 // We should prefer to render the fallback of at the last 54348 // suspended level. Ping the last suspended level to try 54349 // rendering it again. 54350 root.lastPingedTime = lastSuspendedTime; 54351 break; 54352 } // The render is suspended, it hasn't timed out, and there's no 54353 // lower priority work to do. Instead of committing the fallback 54354 // immediately, wait for more data to arrive. 54355 54356 54357 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), msUntilTimeout); 54358 break; 54359 } 54360 } // The work expired. Commit immediately. 54361 54362 54363 commitRoot(root); 54364 break; 54365 } 54366 54367 case RootSuspendedWithDelay: 54368 { 54369 markRootSuspendedAtTime(root, expirationTime); 54370 var _lastSuspendedTime = root.lastSuspendedTime; 54371 54372 if (expirationTime === _lastSuspendedTime) { 54373 root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork); 54374 } 54375 54376 if ( // do not delay if we're inside an act() scope 54377 !( IsThisRendererActing.current)) { 54378 // We're suspended in a state that should be avoided. We'll try to 54379 // avoid committing it for as long as the timeouts let us. 54380 if (workInProgressRootHasPendingPing) { 54381 var _lastPingedTime = root.lastPingedTime; 54382 54383 if (_lastPingedTime === NoWork || _lastPingedTime >= expirationTime) { 54384 // This render was pinged but we didn't get to restart earlier 54385 // so try restarting now instead. 54386 root.lastPingedTime = expirationTime; 54387 prepareFreshStack(root, expirationTime); 54388 break; 54389 } 54390 } 54391 54392 var _nextTime = getNextRootExpirationTimeToWorkOn(root); 54393 54394 if (_nextTime !== NoWork && _nextTime !== expirationTime) { 54395 // There's additional work on this root. 54396 break; 54397 } 54398 54399 if (_lastSuspendedTime !== NoWork && _lastSuspendedTime !== expirationTime) { 54400 // We should prefer to render the fallback of at the last 54401 // suspended level. Ping the last suspended level to try 54402 // rendering it again. 54403 root.lastPingedTime = _lastSuspendedTime; 54404 break; 54405 } 54406 54407 var _msUntilTimeout; 54408 54409 if (workInProgressRootLatestSuspenseTimeout !== Sync) { 54410 // We have processed a suspense config whose expiration time we 54411 // can use as the timeout. 54412 _msUntilTimeout = expirationTimeToMs(workInProgressRootLatestSuspenseTimeout) - now(); 54413 } else if (workInProgressRootLatestProcessedExpirationTime === Sync) { 54414 // This should never normally happen because only new updates 54415 // cause delayed states, so we should have processed something. 54416 // However, this could also happen in an offscreen tree. 54417 _msUntilTimeout = 0; 54418 } else { 54419 // If we don't have a suspense config, we're going to use a 54420 // heuristic to determine how long we can suspend. 54421 var eventTimeMs = inferTimeFromExpirationTime(workInProgressRootLatestProcessedExpirationTime); 54422 var currentTimeMs = now(); 54423 var timeUntilExpirationMs = expirationTimeToMs(expirationTime) - currentTimeMs; 54424 var timeElapsed = currentTimeMs - eventTimeMs; 54425 54426 if (timeElapsed < 0) { 54427 // We get this wrong some time since we estimate the time. 54428 timeElapsed = 0; 54429 } 54430 54431 _msUntilTimeout = jnd(timeElapsed) - timeElapsed; // Clamp the timeout to the expiration time. TODO: Once the 54432 // event time is exact instead of inferred from expiration time 54433 // we don't need this. 54434 54435 if (timeUntilExpirationMs < _msUntilTimeout) { 54436 _msUntilTimeout = timeUntilExpirationMs; 54437 } 54438 } // Don't bother with a very short suspense time. 54439 54440 54441 if (_msUntilTimeout > 10) { 54442 // The render is suspended, it hasn't timed out, and there's no 54443 // lower priority work to do. Instead of committing the fallback 54444 // immediately, wait for more data to arrive. 54445 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout); 54446 break; 54447 } 54448 } // The work expired. Commit immediately. 54449 54450 54451 commitRoot(root); 54452 break; 54453 } 54454 54455 case RootCompleted: 54456 { 54457 // The work completed. Ready to commit. 54458 if ( // do not delay if we're inside an act() scope 54459 !( IsThisRendererActing.current) && workInProgressRootLatestProcessedExpirationTime !== Sync && workInProgressRootCanSuspendUsingConfig !== null) { 54460 // If we have exceeded the minimum loading delay, which probably 54461 // means we have shown a spinner already, we might have to suspend 54462 // a bit longer to ensure that the spinner is shown for 54463 // enough time. 54464 var _msUntilTimeout2 = computeMsUntilSuspenseLoadingDelay(workInProgressRootLatestProcessedExpirationTime, expirationTime, workInProgressRootCanSuspendUsingConfig); 54465 54466 if (_msUntilTimeout2 > 10) { 54467 markRootSuspendedAtTime(root, expirationTime); 54468 root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout2); 54469 break; 54470 } 54471 } 54472 54473 commitRoot(root); 54474 break; 54475 } 54476 54477 default: 54478 { 54479 { 54480 { 54481 throw Error( "Unknown root exit status." ); 54482 } 54483 } 54484 } 54485 } 54486} // This is the entry point for synchronous tasks that don't go 54487// through Scheduler 54488 54489 54490function performSyncWorkOnRoot(root) { 54491 // Check if there's expired work on this root. Otherwise, render at Sync. 54492 var lastExpiredTime = root.lastExpiredTime; 54493 var expirationTime = lastExpiredTime !== NoWork ? lastExpiredTime : Sync; 54494 54495 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 54496 { 54497 throw Error( "Should not already be working." ); 54498 } 54499 } 54500 54501 flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack 54502 // and prepare a fresh one. Otherwise we'll continue where we left off. 54503 54504 if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) { 54505 prepareFreshStack(root, expirationTime); 54506 startWorkOnPendingInteractions(root, expirationTime); 54507 } // If we have a work-in-progress fiber, it means there's still work to do 54508 // in this root. 54509 54510 54511 if (workInProgress !== null) { 54512 var prevExecutionContext = executionContext; 54513 executionContext |= RenderContext; 54514 var prevDispatcher = pushDispatcher(); 54515 var prevInteractions = pushInteractions(root); 54516 startWorkLoopTimer(workInProgress); 54517 54518 do { 54519 try { 54520 workLoopSync(); 54521 break; 54522 } catch (thrownValue) { 54523 handleError(root, thrownValue); 54524 } 54525 } while (true); 54526 54527 resetContextDependencies(); 54528 executionContext = prevExecutionContext; 54529 popDispatcher(prevDispatcher); 54530 54531 { 54532 popInteractions(prevInteractions); 54533 } 54534 54535 if (workInProgressRootExitStatus === RootFatalErrored) { 54536 var fatalError = workInProgressRootFatalError; 54537 stopInterruptedWorkLoopTimer(); 54538 prepareFreshStack(root, expirationTime); 54539 markRootSuspendedAtTime(root, expirationTime); 54540 ensureRootIsScheduled(root); 54541 throw fatalError; 54542 } 54543 54544 if (workInProgress !== null) { 54545 // This is a sync render, so we should have finished the whole tree. 54546 { 54547 { 54548 throw Error( "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue." ); 54549 } 54550 } 54551 } else { 54552 // We now have a consistent tree. Because this is a sync render, we 54553 // will commit it even if something suspended. 54554 stopFinishedWorkLoopTimer(); 54555 root.finishedWork = root.current.alternate; 54556 root.finishedExpirationTime = expirationTime; 54557 finishSyncRender(root); 54558 } // Before exiting, make sure there's a callback scheduled for the next 54559 // pending level. 54560 54561 54562 ensureRootIsScheduled(root); 54563 } 54564 54565 return null; 54566} 54567 54568function finishSyncRender(root) { 54569 // Set this to null to indicate there's no in-progress render. 54570 workInProgressRoot = null; 54571 commitRoot(root); 54572} 54573function flushDiscreteUpdates() { 54574 // TODO: Should be able to flush inside batchedUpdates, but not inside `act`. 54575 // However, `act` uses `batchedUpdates`, so there's no way to distinguish 54576 // those two cases. Need to fix this before exposing flushDiscreteUpdates 54577 // as a public API. 54578 if ((executionContext & (BatchedContext | RenderContext | CommitContext)) !== NoContext) { 54579 { 54580 if ((executionContext & RenderContext) !== NoContext) { 54581 error('unstable_flushDiscreteUpdates: Cannot flush updates when React is ' + 'already rendering.'); 54582 } 54583 } // We're already rendering, so we can't synchronously flush pending work. 54584 // This is probably a nested event dispatch triggered by a lifecycle/effect, 54585 // like `el.focus()`. Exit. 54586 54587 54588 return; 54589 } 54590 54591 flushPendingDiscreteUpdates(); // If the discrete updates scheduled passive effects, flush them now so that 54592 // they fire before the next serial event. 54593 54594 flushPassiveEffects(); 54595} 54596function syncUpdates(fn, a, b, c) { 54597 return runWithPriority$1(ImmediatePriority, fn.bind(null, a, b, c)); 54598} 54599 54600function flushPendingDiscreteUpdates() { 54601 if (rootsWithPendingDiscreteUpdates !== null) { 54602 // For each root with pending discrete updates, schedule a callback to 54603 // immediately flush them. 54604 var roots = rootsWithPendingDiscreteUpdates; 54605 rootsWithPendingDiscreteUpdates = null; 54606 roots.forEach(function (expirationTime, root) { 54607 markRootExpiredAtTime(root, expirationTime); 54608 ensureRootIsScheduled(root); 54609 }); // Now flush the immediate queue. 54610 54611 flushSyncCallbackQueue(); 54612 } 54613} 54614 54615function batchedUpdates$1(fn, a) { 54616 var prevExecutionContext = executionContext; 54617 executionContext |= BatchedContext; 54618 54619 try { 54620 return fn(a); 54621 } finally { 54622 executionContext = prevExecutionContext; 54623 54624 if (executionContext === NoContext) { 54625 // Flush the immediate callbacks that were scheduled during this batch 54626 flushSyncCallbackQueue(); 54627 } 54628 } 54629} 54630function batchedEventUpdates$1(fn, a) { 54631 var prevExecutionContext = executionContext; 54632 executionContext |= EventContext; 54633 54634 try { 54635 return fn(a); 54636 } finally { 54637 executionContext = prevExecutionContext; 54638 54639 if (executionContext === NoContext) { 54640 // Flush the immediate callbacks that were scheduled during this batch 54641 flushSyncCallbackQueue(); 54642 } 54643 } 54644} 54645function discreteUpdates$1(fn, a, b, c, d) { 54646 var prevExecutionContext = executionContext; 54647 executionContext |= DiscreteEventContext; 54648 54649 try { 54650 // Should this 54651 return runWithPriority$1(UserBlockingPriority$1, fn.bind(null, a, b, c, d)); 54652 } finally { 54653 executionContext = prevExecutionContext; 54654 54655 if (executionContext === NoContext) { 54656 // Flush the immediate callbacks that were scheduled during this batch 54657 flushSyncCallbackQueue(); 54658 } 54659 } 54660} 54661function unbatchedUpdates(fn, a) { 54662 var prevExecutionContext = executionContext; 54663 executionContext &= ~BatchedContext; 54664 executionContext |= LegacyUnbatchedContext; 54665 54666 try { 54667 return fn(a); 54668 } finally { 54669 executionContext = prevExecutionContext; 54670 54671 if (executionContext === NoContext) { 54672 // Flush the immediate callbacks that were scheduled during this batch 54673 flushSyncCallbackQueue(); 54674 } 54675 } 54676} 54677function flushSync(fn, a) { 54678 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { 54679 { 54680 { 54681 throw Error( "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering." ); 54682 } 54683 } 54684 } 54685 54686 var prevExecutionContext = executionContext; 54687 executionContext |= BatchedContext; 54688 54689 try { 54690 return runWithPriority$1(ImmediatePriority, fn.bind(null, a)); 54691 } finally { 54692 executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch. 54693 // Note that this will happen even if batchedUpdates is higher up 54694 // the stack. 54695 54696 flushSyncCallbackQueue(); 54697 } 54698} 54699 54700function prepareFreshStack(root, expirationTime) { 54701 root.finishedWork = null; 54702 root.finishedExpirationTime = NoWork; 54703 var timeoutHandle = root.timeoutHandle; 54704 54705 if (timeoutHandle !== noTimeout) { 54706 // The root previous suspended and scheduled a timeout to commit a fallback 54707 // state. Now that we have additional work, cancel the timeout. 54708 root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above 54709 54710 cancelTimeout(timeoutHandle); 54711 } 54712 54713 if (workInProgress !== null) { 54714 var interruptedWork = workInProgress.return; 54715 54716 while (interruptedWork !== null) { 54717 unwindInterruptedWork(interruptedWork); 54718 interruptedWork = interruptedWork.return; 54719 } 54720 } 54721 54722 workInProgressRoot = root; 54723 workInProgress = createWorkInProgress(root.current, null); 54724 renderExpirationTime$1 = expirationTime; 54725 workInProgressRootExitStatus = RootIncomplete; 54726 workInProgressRootFatalError = null; 54727 workInProgressRootLatestProcessedExpirationTime = Sync; 54728 workInProgressRootLatestSuspenseTimeout = Sync; 54729 workInProgressRootCanSuspendUsingConfig = null; 54730 workInProgressRootNextUnprocessedUpdateTime = NoWork; 54731 workInProgressRootHasPendingPing = false; 54732 54733 { 54734 spawnedWorkDuringRender = null; 54735 } 54736 54737 { 54738 ReactStrictModeWarnings.discardPendingWarnings(); 54739 } 54740} 54741 54742function handleError(root, thrownValue) { 54743 do { 54744 try { 54745 // Reset module-level state that was set during the render phase. 54746 resetContextDependencies(); 54747 resetHooksAfterThrow(); 54748 resetCurrentFiber(); 54749 54750 if (workInProgress === null || workInProgress.return === null) { 54751 // Expected to be working on a non-root fiber. This is a fatal error 54752 // because there's no ancestor that can handle it; the root is 54753 // supposed to capture all errors that weren't caught by an error 54754 // boundary. 54755 workInProgressRootExitStatus = RootFatalErrored; 54756 workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next 54757 // sibling, or the parent if there are no siblings. But since the root 54758 // has no siblings nor a parent, we set it to null. Usually this is 54759 // handled by `completeUnitOfWork` or `unwindWork`, but since we're 54760 // interntionally not calling those, we need set it here. 54761 // TODO: Consider calling `unwindWork` to pop the contexts. 54762 54763 workInProgress = null; 54764 return null; 54765 } 54766 54767 if (enableProfilerTimer && workInProgress.mode & ProfileMode) { 54768 // Record the time spent rendering before an error was thrown. This 54769 // avoids inaccurate Profiler durations in the case of a 54770 // suspended render. 54771 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true); 54772 } 54773 54774 throwException(root, workInProgress.return, workInProgress, thrownValue, renderExpirationTime$1); 54775 workInProgress = completeUnitOfWork(workInProgress); 54776 } catch (yetAnotherThrownValue) { 54777 // Something in the return path also threw. 54778 thrownValue = yetAnotherThrownValue; 54779 continue; 54780 } // Return to the normal work loop. 54781 54782 54783 return; 54784 } while (true); 54785} 54786 54787function pushDispatcher(root) { 54788 var prevDispatcher = ReactCurrentDispatcher$1.current; 54789 ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; 54790 54791 if (prevDispatcher === null) { 54792 // The React isomorphic package does not include a default dispatcher. 54793 // Instead the first renderer will lazily attach one, in order to give 54794 // nicer error messages. 54795 return ContextOnlyDispatcher; 54796 } else { 54797 return prevDispatcher; 54798 } 54799} 54800 54801function popDispatcher(prevDispatcher) { 54802 ReactCurrentDispatcher$1.current = prevDispatcher; 54803} 54804 54805function pushInteractions(root) { 54806 { 54807 var prevInteractions = tracing.__interactionsRef.current; 54808 tracing.__interactionsRef.current = root.memoizedInteractions; 54809 return prevInteractions; 54810 } 54811} 54812 54813function popInteractions(prevInteractions) { 54814 { 54815 tracing.__interactionsRef.current = prevInteractions; 54816 } 54817} 54818 54819function markCommitTimeOfFallback() { 54820 globalMostRecentFallbackTime = now(); 54821} 54822function markRenderEventTimeAndConfig(expirationTime, suspenseConfig) { 54823 if (expirationTime < workInProgressRootLatestProcessedExpirationTime && expirationTime > Idle) { 54824 workInProgressRootLatestProcessedExpirationTime = expirationTime; 54825 } 54826 54827 if (suspenseConfig !== null) { 54828 if (expirationTime < workInProgressRootLatestSuspenseTimeout && expirationTime > Idle) { 54829 workInProgressRootLatestSuspenseTimeout = expirationTime; // Most of the time we only have one config and getting wrong is not bad. 54830 54831 workInProgressRootCanSuspendUsingConfig = suspenseConfig; 54832 } 54833 } 54834} 54835function markUnprocessedUpdateTime(expirationTime) { 54836 if (expirationTime > workInProgressRootNextUnprocessedUpdateTime) { 54837 workInProgressRootNextUnprocessedUpdateTime = expirationTime; 54838 } 54839} 54840function renderDidSuspend() { 54841 if (workInProgressRootExitStatus === RootIncomplete) { 54842 workInProgressRootExitStatus = RootSuspended; 54843 } 54844} 54845function renderDidSuspendDelayIfPossible() { 54846 if (workInProgressRootExitStatus === RootIncomplete || workInProgressRootExitStatus === RootSuspended) { 54847 workInProgressRootExitStatus = RootSuspendedWithDelay; 54848 } // Check if there's a lower priority update somewhere else in the tree. 54849 54850 54851 if (workInProgressRootNextUnprocessedUpdateTime !== NoWork && workInProgressRoot !== null) { 54852 // Mark the current render as suspended, and then mark that there's a 54853 // pending update. 54854 // TODO: This should immediately interrupt the current render, instead 54855 // of waiting until the next time we yield. 54856 markRootSuspendedAtTime(workInProgressRoot, renderExpirationTime$1); 54857 markRootUpdatedAtTime(workInProgressRoot, workInProgressRootNextUnprocessedUpdateTime); 54858 } 54859} 54860function renderDidError() { 54861 if (workInProgressRootExitStatus !== RootCompleted) { 54862 workInProgressRootExitStatus = RootErrored; 54863 } 54864} // Called during render to determine if anything has suspended. 54865// Returns false if we're not sure. 54866 54867function renderHasNotSuspendedYet() { 54868 // If something errored or completed, we can't really be sure, 54869 // so those are false. 54870 return workInProgressRootExitStatus === RootIncomplete; 54871} 54872 54873function inferTimeFromExpirationTime(expirationTime) { 54874 // We don't know exactly when the update was scheduled, but we can infer an 54875 // approximate start time from the expiration time. 54876 var earliestExpirationTimeMs = expirationTimeToMs(expirationTime); 54877 return earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION; 54878} 54879 54880function inferTimeFromExpirationTimeWithSuspenseConfig(expirationTime, suspenseConfig) { 54881 // We don't know exactly when the update was scheduled, but we can infer an 54882 // approximate start time from the expiration time by subtracting the timeout 54883 // that was added to the event time. 54884 var earliestExpirationTimeMs = expirationTimeToMs(expirationTime); 54885 return earliestExpirationTimeMs - (suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION); 54886} // The work loop is an extremely hot path. Tell Closure not to inline it. 54887 54888/** @noinline */ 54889 54890 54891function workLoopSync() { 54892 // Already timed out, so perform work without checking if we need to yield. 54893 while (workInProgress !== null) { 54894 workInProgress = performUnitOfWork(workInProgress); 54895 } 54896} 54897/** @noinline */ 54898 54899 54900function workLoopConcurrent() { 54901 // Perform work until Scheduler asks us to yield 54902 while (workInProgress !== null && !shouldYield()) { 54903 workInProgress = performUnitOfWork(workInProgress); 54904 } 54905} 54906 54907function performUnitOfWork(unitOfWork) { 54908 // The current, flushed, state of this fiber is the alternate. Ideally 54909 // nothing should rely on this, but relying on it here means that we don't 54910 // need an additional field on the work in progress. 54911 var current = unitOfWork.alternate; 54912 startWorkTimer(unitOfWork); 54913 setCurrentFiber(unitOfWork); 54914 var next; 54915 54916 if ( (unitOfWork.mode & ProfileMode) !== NoMode) { 54917 startProfilerTimer(unitOfWork); 54918 next = beginWork$1(current, unitOfWork, renderExpirationTime$1); 54919 stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true); 54920 } else { 54921 next = beginWork$1(current, unitOfWork, renderExpirationTime$1); 54922 } 54923 54924 resetCurrentFiber(); 54925 unitOfWork.memoizedProps = unitOfWork.pendingProps; 54926 54927 if (next === null) { 54928 // If this doesn't spawn new work, complete the current work. 54929 next = completeUnitOfWork(unitOfWork); 54930 } 54931 54932 ReactCurrentOwner$2.current = null; 54933 return next; 54934} 54935 54936function completeUnitOfWork(unitOfWork) { 54937 // Attempt to complete the current unit of work, then move to the next 54938 // sibling. If there are no more siblings, return to the parent fiber. 54939 workInProgress = unitOfWork; 54940 54941 do { 54942 // The current, flushed, state of this fiber is the alternate. Ideally 54943 // nothing should rely on this, but relying on it here means that we don't 54944 // need an additional field on the work in progress. 54945 var current = workInProgress.alternate; 54946 var returnFiber = workInProgress.return; // Check if the work completed or if something threw. 54947 54948 if ((workInProgress.effectTag & Incomplete) === NoEffect) { 54949 setCurrentFiber(workInProgress); 54950 var next = void 0; 54951 54952 if ( (workInProgress.mode & ProfileMode) === NoMode) { 54953 next = completeWork(current, workInProgress, renderExpirationTime$1); 54954 } else { 54955 startProfilerTimer(workInProgress); 54956 next = completeWork(current, workInProgress, renderExpirationTime$1); // Update render duration assuming we didn't error. 54957 54958 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); 54959 } 54960 54961 stopWorkTimer(workInProgress); 54962 resetCurrentFiber(); 54963 resetChildExpirationTime(workInProgress); 54964 54965 if (next !== null) { 54966 // Completing this fiber spawned new work. Work on that next. 54967 return next; 54968 } 54969 54970 if (returnFiber !== null && // Do not append effects to parents if a sibling failed to complete 54971 (returnFiber.effectTag & Incomplete) === NoEffect) { 54972 // Append all the effects of the subtree and this fiber onto the effect 54973 // list of the parent. The completion order of the children affects the 54974 // side-effect order. 54975 if (returnFiber.firstEffect === null) { 54976 returnFiber.firstEffect = workInProgress.firstEffect; 54977 } 54978 54979 if (workInProgress.lastEffect !== null) { 54980 if (returnFiber.lastEffect !== null) { 54981 returnFiber.lastEffect.nextEffect = workInProgress.firstEffect; 54982 } 54983 54984 returnFiber.lastEffect = workInProgress.lastEffect; 54985 } // If this fiber had side-effects, we append it AFTER the children's 54986 // side-effects. We can perform certain side-effects earlier if needed, 54987 // by doing multiple passes over the effect list. We don't want to 54988 // schedule our own side-effect on our own list because if end up 54989 // reusing children we'll schedule this effect onto itself since we're 54990 // at the end. 54991 54992 54993 var effectTag = workInProgress.effectTag; // Skip both NoWork and PerformedWork tags when creating the effect 54994 // list. PerformedWork effect is read by React DevTools but shouldn't be 54995 // committed. 54996 54997 if (effectTag > PerformedWork) { 54998 if (returnFiber.lastEffect !== null) { 54999 returnFiber.lastEffect.nextEffect = workInProgress; 55000 } else { 55001 returnFiber.firstEffect = workInProgress; 55002 } 55003 55004 returnFiber.lastEffect = workInProgress; 55005 } 55006 } 55007 } else { 55008 // This fiber did not complete because something threw. Pop values off 55009 // the stack without entering the complete phase. If this is a boundary, 55010 // capture values if possible. 55011 var _next = unwindWork(workInProgress); // Because this fiber did not complete, don't reset its expiration time. 55012 55013 55014 if ( (workInProgress.mode & ProfileMode) !== NoMode) { 55015 // Record the render duration for the fiber that errored. 55016 stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); // Include the time spent working on failed children before continuing. 55017 55018 var actualDuration = workInProgress.actualDuration; 55019 var child = workInProgress.child; 55020 55021 while (child !== null) { 55022 actualDuration += child.actualDuration; 55023 child = child.sibling; 55024 } 55025 55026 workInProgress.actualDuration = actualDuration; 55027 } 55028 55029 if (_next !== null) { 55030 // If completing this work spawned new work, do that next. We'll come 55031 // back here again. 55032 // Since we're restarting, remove anything that is not a host effect 55033 // from the effect tag. 55034 // TODO: The name stopFailedWorkTimer is misleading because Suspense 55035 // also captures and restarts. 55036 stopFailedWorkTimer(workInProgress); 55037 _next.effectTag &= HostEffectMask; 55038 return _next; 55039 } 55040 55041 stopWorkTimer(workInProgress); 55042 55043 if (returnFiber !== null) { 55044 // Mark the parent fiber as incomplete and clear its effect list. 55045 returnFiber.firstEffect = returnFiber.lastEffect = null; 55046 returnFiber.effectTag |= Incomplete; 55047 } 55048 } 55049 55050 var siblingFiber = workInProgress.sibling; 55051 55052 if (siblingFiber !== null) { 55053 // If there is more work to do in this returnFiber, do that next. 55054 return siblingFiber; 55055 } // Otherwise, return to the parent 55056 55057 55058 workInProgress = returnFiber; 55059 } while (workInProgress !== null); // We've reached the root. 55060 55061 55062 if (workInProgressRootExitStatus === RootIncomplete) { 55063 workInProgressRootExitStatus = RootCompleted; 55064 } 55065 55066 return null; 55067} 55068 55069function getRemainingExpirationTime(fiber) { 55070 var updateExpirationTime = fiber.expirationTime; 55071 var childExpirationTime = fiber.childExpirationTime; 55072 return updateExpirationTime > childExpirationTime ? updateExpirationTime : childExpirationTime; 55073} 55074 55075function resetChildExpirationTime(completedWork) { 55076 if (renderExpirationTime$1 !== Never && completedWork.childExpirationTime === Never) { 55077 // The children of this component are hidden. Don't bubble their 55078 // expiration times. 55079 return; 55080 } 55081 55082 var newChildExpirationTime = NoWork; // Bubble up the earliest expiration time. 55083 55084 if ( (completedWork.mode & ProfileMode) !== NoMode) { 55085 // In profiling mode, resetChildExpirationTime is also used to reset 55086 // profiler durations. 55087 var actualDuration = completedWork.actualDuration; 55088 var treeBaseDuration = completedWork.selfBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will 55089 // only be updated if work is done on the fiber (i.e. it doesn't bailout). 55090 // When work is done, it should bubble to the parent's actualDuration. If 55091 // the fiber has not been cloned though, (meaning no work was done), then 55092 // this value will reflect the amount of time spent working on a previous 55093 // render. In that case it should not bubble. We determine whether it was 55094 // cloned by comparing the child pointer. 55095 55096 var shouldBubbleActualDurations = completedWork.alternate === null || completedWork.child !== completedWork.alternate.child; 55097 var child = completedWork.child; 55098 55099 while (child !== null) { 55100 var childUpdateExpirationTime = child.expirationTime; 55101 var childChildExpirationTime = child.childExpirationTime; 55102 55103 if (childUpdateExpirationTime > newChildExpirationTime) { 55104 newChildExpirationTime = childUpdateExpirationTime; 55105 } 55106 55107 if (childChildExpirationTime > newChildExpirationTime) { 55108 newChildExpirationTime = childChildExpirationTime; 55109 } 55110 55111 if (shouldBubbleActualDurations) { 55112 actualDuration += child.actualDuration; 55113 } 55114 55115 treeBaseDuration += child.treeBaseDuration; 55116 child = child.sibling; 55117 } 55118 55119 completedWork.actualDuration = actualDuration; 55120 completedWork.treeBaseDuration = treeBaseDuration; 55121 } else { 55122 var _child = completedWork.child; 55123 55124 while (_child !== null) { 55125 var _childUpdateExpirationTime = _child.expirationTime; 55126 var _childChildExpirationTime = _child.childExpirationTime; 55127 55128 if (_childUpdateExpirationTime > newChildExpirationTime) { 55129 newChildExpirationTime = _childUpdateExpirationTime; 55130 } 55131 55132 if (_childChildExpirationTime > newChildExpirationTime) { 55133 newChildExpirationTime = _childChildExpirationTime; 55134 } 55135 55136 _child = _child.sibling; 55137 } 55138 } 55139 55140 completedWork.childExpirationTime = newChildExpirationTime; 55141} 55142 55143function commitRoot(root) { 55144 var renderPriorityLevel = getCurrentPriorityLevel(); 55145 runWithPriority$1(ImmediatePriority, commitRootImpl.bind(null, root, renderPriorityLevel)); 55146 return null; 55147} 55148 55149function commitRootImpl(root, renderPriorityLevel) { 55150 do { 55151 // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which 55152 // means `flushPassiveEffects` will sometimes result in additional 55153 // passive effects. So we need to keep flushing in a loop until there are 55154 // no more pending effects. 55155 // TODO: Might be better if `flushPassiveEffects` did not automatically 55156 // flush synchronous work at the end, to avoid factoring hazards like this. 55157 flushPassiveEffects(); 55158 } while (rootWithPendingPassiveEffects !== null); 55159 55160 flushRenderPhaseStrictModeWarningsInDEV(); 55161 55162 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 55163 { 55164 throw Error( "Should not already be working." ); 55165 } 55166 } 55167 55168 var finishedWork = root.finishedWork; 55169 var expirationTime = root.finishedExpirationTime; 55170 55171 if (finishedWork === null) { 55172 return null; 55173 } 55174 55175 root.finishedWork = null; 55176 root.finishedExpirationTime = NoWork; 55177 55178 if (!(finishedWork !== root.current)) { 55179 { 55180 throw Error( "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." ); 55181 } 55182 } // commitRoot never returns a continuation; it always finishes synchronously. 55183 // So we can clear these now to allow a new callback to be scheduled. 55184 55185 55186 root.callbackNode = null; 55187 root.callbackExpirationTime = NoWork; 55188 root.callbackPriority = NoPriority; 55189 root.nextKnownPendingLevel = NoWork; 55190 startCommitTimer(); // Update the first and last pending times on this root. The new first 55191 // pending time is whatever is left on the root fiber. 55192 55193 var remainingExpirationTimeBeforeCommit = getRemainingExpirationTime(finishedWork); 55194 markRootFinishedAtTime(root, expirationTime, remainingExpirationTimeBeforeCommit); 55195 55196 if (root === workInProgressRoot) { 55197 // We can reset these now that they are finished. 55198 workInProgressRoot = null; 55199 workInProgress = null; 55200 renderExpirationTime$1 = NoWork; 55201 } // This indicates that the last root we worked on is not the same one that 55202 // we're committing now. This most commonly happens when a suspended root 55203 // times out. 55204 // Get the list of effects. 55205 55206 55207 var firstEffect; 55208 55209 if (finishedWork.effectTag > PerformedWork) { 55210 // A fiber's effect list consists only of its children, not itself. So if 55211 // the root has an effect, we need to add it to the end of the list. The 55212 // resulting list is the set that would belong to the root's parent, if it 55213 // had one; that is, all the effects in the tree including the root. 55214 if (finishedWork.lastEffect !== null) { 55215 finishedWork.lastEffect.nextEffect = finishedWork; 55216 firstEffect = finishedWork.firstEffect; 55217 } else { 55218 firstEffect = finishedWork; 55219 } 55220 } else { 55221 // There is no effect on the root. 55222 firstEffect = finishedWork.firstEffect; 55223 } 55224 55225 if (firstEffect !== null) { 55226 var prevExecutionContext = executionContext; 55227 executionContext |= CommitContext; 55228 var prevInteractions = pushInteractions(root); // Reset this to null before calling lifecycles 55229 55230 ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass 55231 // of the effect list for each phase: all mutation effects come before all 55232 // layout effects, and so on. 55233 // The first phase a "before mutation" phase. We use this phase to read the 55234 // state of the host tree right before we mutate it. This is where 55235 // getSnapshotBeforeUpdate is called. 55236 55237 startCommitSnapshotEffectsTimer(); 55238 prepareForCommit(root.containerInfo); 55239 nextEffect = firstEffect; 55240 55241 do { 55242 { 55243 invokeGuardedCallback(null, commitBeforeMutationEffects, null); 55244 55245 if (hasCaughtError()) { 55246 if (!(nextEffect !== null)) { 55247 { 55248 throw Error( "Should be working on an effect." ); 55249 } 55250 } 55251 55252 var error = clearCaughtError(); 55253 captureCommitPhaseError(nextEffect, error); 55254 nextEffect = nextEffect.nextEffect; 55255 } 55256 } 55257 } while (nextEffect !== null); 55258 55259 stopCommitSnapshotEffectsTimer(); 55260 55261 { 55262 // Mark the current commit time to be shared by all Profilers in this 55263 // batch. This enables them to be grouped later. 55264 recordCommitTime(); 55265 } // The next phase is the mutation phase, where we mutate the host tree. 55266 55267 55268 startCommitHostEffectsTimer(); 55269 nextEffect = firstEffect; 55270 55271 do { 55272 { 55273 invokeGuardedCallback(null, commitMutationEffects, null, root, renderPriorityLevel); 55274 55275 if (hasCaughtError()) { 55276 if (!(nextEffect !== null)) { 55277 { 55278 throw Error( "Should be working on an effect." ); 55279 } 55280 } 55281 55282 var _error = clearCaughtError(); 55283 55284 captureCommitPhaseError(nextEffect, _error); 55285 nextEffect = nextEffect.nextEffect; 55286 } 55287 } 55288 } while (nextEffect !== null); 55289 55290 stopCommitHostEffectsTimer(); 55291 resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after 55292 // the mutation phase, so that the previous tree is still current during 55293 // componentWillUnmount, but before the layout phase, so that the finished 55294 // work is current during componentDidMount/Update. 55295 55296 root.current = finishedWork; // The next phase is the layout phase, where we call effects that read 55297 // the host tree after it's been mutated. The idiomatic use case for this is 55298 // layout, but class component lifecycles also fire here for legacy reasons. 55299 55300 startCommitLifeCyclesTimer(); 55301 nextEffect = firstEffect; 55302 55303 do { 55304 { 55305 invokeGuardedCallback(null, commitLayoutEffects, null, root, expirationTime); 55306 55307 if (hasCaughtError()) { 55308 if (!(nextEffect !== null)) { 55309 { 55310 throw Error( "Should be working on an effect." ); 55311 } 55312 } 55313 55314 var _error2 = clearCaughtError(); 55315 55316 captureCommitPhaseError(nextEffect, _error2); 55317 nextEffect = nextEffect.nextEffect; 55318 } 55319 } 55320 } while (nextEffect !== null); 55321 55322 stopCommitLifeCyclesTimer(); 55323 nextEffect = null; // Tell Scheduler to yield at the end of the frame, so the browser has an 55324 // opportunity to paint. 55325 55326 requestPaint(); 55327 55328 { 55329 popInteractions(prevInteractions); 55330 } 55331 55332 executionContext = prevExecutionContext; 55333 } else { 55334 // No effects. 55335 root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were 55336 // no effects. 55337 // TODO: Maybe there's a better way to report this. 55338 55339 startCommitSnapshotEffectsTimer(); 55340 stopCommitSnapshotEffectsTimer(); 55341 55342 { 55343 recordCommitTime(); 55344 } 55345 55346 startCommitHostEffectsTimer(); 55347 stopCommitHostEffectsTimer(); 55348 startCommitLifeCyclesTimer(); 55349 stopCommitLifeCyclesTimer(); 55350 } 55351 55352 stopCommitTimer(); 55353 var rootDidHavePassiveEffects = rootDoesHavePassiveEffects; 55354 55355 if (rootDoesHavePassiveEffects) { 55356 // This commit has passive effects. Stash a reference to them. But don't 55357 // schedule a callback until after flushing layout work. 55358 rootDoesHavePassiveEffects = false; 55359 rootWithPendingPassiveEffects = root; 55360 pendingPassiveEffectsExpirationTime = expirationTime; 55361 pendingPassiveEffectsRenderPriority = renderPriorityLevel; 55362 } else { 55363 // We are done with the effect chain at this point so let's clear the 55364 // nextEffect pointers to assist with GC. If we have passive effects, we'll 55365 // clear this in flushPassiveEffects. 55366 nextEffect = firstEffect; 55367 55368 while (nextEffect !== null) { 55369 var nextNextEffect = nextEffect.nextEffect; 55370 nextEffect.nextEffect = null; 55371 nextEffect = nextNextEffect; 55372 } 55373 } // Check if there's remaining work on this root 55374 55375 55376 var remainingExpirationTime = root.firstPendingTime; 55377 55378 if (remainingExpirationTime !== NoWork) { 55379 { 55380 if (spawnedWorkDuringRender !== null) { 55381 var expirationTimes = spawnedWorkDuringRender; 55382 spawnedWorkDuringRender = null; 55383 55384 for (var i = 0; i < expirationTimes.length; i++) { 55385 scheduleInteractions(root, expirationTimes[i], root.memoizedInteractions); 55386 } 55387 } 55388 55389 schedulePendingInteractions(root, remainingExpirationTime); 55390 } 55391 } else { 55392 // If there's no remaining work, we can clear the set of already failed 55393 // error boundaries. 55394 legacyErrorBoundariesThatAlreadyFailed = null; 55395 } 55396 55397 { 55398 if (!rootDidHavePassiveEffects) { 55399 // If there are no passive effects, then we can complete the pending interactions. 55400 // Otherwise, we'll wait until after the passive effects are flushed. 55401 // Wait to do this until after remaining work has been scheduled, 55402 // so that we don't prematurely signal complete for interactions when there's e.g. hidden work. 55403 finishPendingInteractions(root, expirationTime); 55404 } 55405 } 55406 55407 if (remainingExpirationTime === Sync) { 55408 // Count the number of times the root synchronously re-renders without 55409 // finishing. If there are too many, it indicates an infinite update loop. 55410 if (root === rootWithNestedUpdates) { 55411 nestedUpdateCount++; 55412 } else { 55413 nestedUpdateCount = 0; 55414 rootWithNestedUpdates = root; 55415 } 55416 } else { 55417 nestedUpdateCount = 0; 55418 } 55419 55420 onCommitRoot(finishedWork.stateNode, expirationTime); // Always call this before exiting `commitRoot`, to ensure that any 55421 // additional work on this root is scheduled. 55422 55423 ensureRootIsScheduled(root); 55424 55425 if (hasUncaughtError) { 55426 hasUncaughtError = false; 55427 var _error3 = firstUncaughtError; 55428 firstUncaughtError = null; 55429 throw _error3; 55430 } 55431 55432 if ((executionContext & LegacyUnbatchedContext) !== NoContext) { 55433 // This is a legacy edge case. We just committed the initial mount of 55434 // a ReactDOM.render-ed root inside of batchedUpdates. The commit fired 55435 // synchronously, but layout updates should be deferred until the end 55436 // of the batch. 55437 return null; 55438 } // If layout work was scheduled, flush it now. 55439 55440 55441 flushSyncCallbackQueue(); 55442 return null; 55443} 55444 55445function commitBeforeMutationEffects() { 55446 while (nextEffect !== null) { 55447 var effectTag = nextEffect.effectTag; 55448 55449 if ((effectTag & Snapshot) !== NoEffect) { 55450 setCurrentFiber(nextEffect); 55451 recordEffect(); 55452 var current = nextEffect.alternate; 55453 commitBeforeMutationLifeCycles(current, nextEffect); 55454 resetCurrentFiber(); 55455 } 55456 55457 if ((effectTag & Passive) !== NoEffect) { 55458 // If there are passive effects, schedule a callback to flush at 55459 // the earliest opportunity. 55460 if (!rootDoesHavePassiveEffects) { 55461 rootDoesHavePassiveEffects = true; 55462 scheduleCallback(NormalPriority, function () { 55463 flushPassiveEffects(); 55464 return null; 55465 }); 55466 } 55467 } 55468 55469 nextEffect = nextEffect.nextEffect; 55470 } 55471} 55472 55473function commitMutationEffects(root, renderPriorityLevel) { 55474 // TODO: Should probably move the bulk of this function to commitWork. 55475 while (nextEffect !== null) { 55476 setCurrentFiber(nextEffect); 55477 var effectTag = nextEffect.effectTag; 55478 55479 if (effectTag & ContentReset) { 55480 commitResetTextContent(nextEffect); 55481 } 55482 55483 if (effectTag & Ref) { 55484 var current = nextEffect.alternate; 55485 55486 if (current !== null) { 55487 commitDetachRef(current); 55488 } 55489 } // The following switch statement is only concerned about placement, 55490 // updates, and deletions. To avoid needing to add a case for every possible 55491 // bitmap value, we remove the secondary effects from the effect tag and 55492 // switch on that value. 55493 55494 55495 var primaryEffectTag = effectTag & (Placement | Update | Deletion | Hydrating); 55496 55497 switch (primaryEffectTag) { 55498 case Placement: 55499 { 55500 commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is 55501 // inserted, before any life-cycles like componentDidMount gets called. 55502 // TODO: findDOMNode doesn't rely on this any more but isMounted does 55503 // and isMounted is deprecated anyway so we should be able to kill this. 55504 55505 nextEffect.effectTag &= ~Placement; 55506 break; 55507 } 55508 55509 case PlacementAndUpdate: 55510 { 55511 // Placement 55512 commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is 55513 // inserted, before any life-cycles like componentDidMount gets called. 55514 55515 nextEffect.effectTag &= ~Placement; // Update 55516 55517 var _current = nextEffect.alternate; 55518 commitWork(_current, nextEffect); 55519 break; 55520 } 55521 55522 case Hydrating: 55523 { 55524 nextEffect.effectTag &= ~Hydrating; 55525 break; 55526 } 55527 55528 case HydratingAndUpdate: 55529 { 55530 nextEffect.effectTag &= ~Hydrating; // Update 55531 55532 var _current2 = nextEffect.alternate; 55533 commitWork(_current2, nextEffect); 55534 break; 55535 } 55536 55537 case Update: 55538 { 55539 var _current3 = nextEffect.alternate; 55540 commitWork(_current3, nextEffect); 55541 break; 55542 } 55543 55544 case Deletion: 55545 { 55546 commitDeletion(root, nextEffect, renderPriorityLevel); 55547 break; 55548 } 55549 } // TODO: Only record a mutation effect if primaryEffectTag is non-zero. 55550 55551 55552 recordEffect(); 55553 resetCurrentFiber(); 55554 nextEffect = nextEffect.nextEffect; 55555 } 55556} 55557 55558function commitLayoutEffects(root, committedExpirationTime) { 55559 // TODO: Should probably move the bulk of this function to commitWork. 55560 while (nextEffect !== null) { 55561 setCurrentFiber(nextEffect); 55562 var effectTag = nextEffect.effectTag; 55563 55564 if (effectTag & (Update | Callback)) { 55565 recordEffect(); 55566 var current = nextEffect.alternate; 55567 commitLifeCycles(root, current, nextEffect); 55568 } 55569 55570 if (effectTag & Ref) { 55571 recordEffect(); 55572 commitAttachRef(nextEffect); 55573 } 55574 55575 resetCurrentFiber(); 55576 nextEffect = nextEffect.nextEffect; 55577 } 55578} 55579 55580function flushPassiveEffects() { 55581 if (pendingPassiveEffectsRenderPriority !== NoPriority) { 55582 var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority ? NormalPriority : pendingPassiveEffectsRenderPriority; 55583 pendingPassiveEffectsRenderPriority = NoPriority; 55584 return runWithPriority$1(priorityLevel, flushPassiveEffectsImpl); 55585 } 55586} 55587 55588function flushPassiveEffectsImpl() { 55589 if (rootWithPendingPassiveEffects === null) { 55590 return false; 55591 } 55592 55593 var root = rootWithPendingPassiveEffects; 55594 var expirationTime = pendingPassiveEffectsExpirationTime; 55595 rootWithPendingPassiveEffects = null; 55596 pendingPassiveEffectsExpirationTime = NoWork; 55597 55598 if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) { 55599 { 55600 throw Error( "Cannot flush passive effects while already rendering." ); 55601 } 55602 } 55603 55604 var prevExecutionContext = executionContext; 55605 executionContext |= CommitContext; 55606 var prevInteractions = pushInteractions(root); 55607 55608 { 55609 // Note: This currently assumes there are no passive effects on the root fiber 55610 // because the root is not part of its own effect list. 55611 // This could change in the future. 55612 var _effect2 = root.current.firstEffect; 55613 55614 while (_effect2 !== null) { 55615 { 55616 setCurrentFiber(_effect2); 55617 invokeGuardedCallback(null, commitPassiveHookEffects, null, _effect2); 55618 55619 if (hasCaughtError()) { 55620 if (!(_effect2 !== null)) { 55621 { 55622 throw Error( "Should be working on an effect." ); 55623 } 55624 } 55625 55626 var _error5 = clearCaughtError(); 55627 55628 captureCommitPhaseError(_effect2, _error5); 55629 } 55630 55631 resetCurrentFiber(); 55632 } 55633 55634 var nextNextEffect = _effect2.nextEffect; // Remove nextEffect pointer to assist GC 55635 55636 _effect2.nextEffect = null; 55637 _effect2 = nextNextEffect; 55638 } 55639 } 55640 55641 { 55642 popInteractions(prevInteractions); 55643 finishPendingInteractions(root, expirationTime); 55644 } 55645 55646 executionContext = prevExecutionContext; 55647 flushSyncCallbackQueue(); // If additional passive effects were scheduled, increment a counter. If this 55648 // exceeds the limit, we'll fire a warning. 55649 55650 nestedPassiveUpdateCount = rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; 55651 return true; 55652} 55653 55654function isAlreadyFailedLegacyErrorBoundary(instance) { 55655 return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); 55656} 55657function markLegacyErrorBoundaryAsFailed(instance) { 55658 if (legacyErrorBoundariesThatAlreadyFailed === null) { 55659 legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); 55660 } else { 55661 legacyErrorBoundariesThatAlreadyFailed.add(instance); 55662 } 55663} 55664 55665function prepareToThrowUncaughtError(error) { 55666 if (!hasUncaughtError) { 55667 hasUncaughtError = true; 55668 firstUncaughtError = error; 55669 } 55670} 55671 55672var onUncaughtError = prepareToThrowUncaughtError; 55673 55674function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { 55675 var errorInfo = createCapturedValue(error, sourceFiber); 55676 var update = createRootErrorUpdate(rootFiber, errorInfo, Sync); 55677 enqueueUpdate(rootFiber, update); 55678 var root = markUpdateTimeFromFiberToRoot(rootFiber, Sync); 55679 55680 if (root !== null) { 55681 ensureRootIsScheduled(root); 55682 schedulePendingInteractions(root, Sync); 55683 } 55684} 55685 55686function captureCommitPhaseError(sourceFiber, error) { 55687 if (sourceFiber.tag === HostRoot) { 55688 // Error was thrown at the root. There is no parent, so the root 55689 // itself should capture it. 55690 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); 55691 return; 55692 } 55693 55694 var fiber = sourceFiber.return; 55695 55696 while (fiber !== null) { 55697 if (fiber.tag === HostRoot) { 55698 captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error); 55699 return; 55700 } else if (fiber.tag === ClassComponent) { 55701 var ctor = fiber.type; 55702 var instance = fiber.stateNode; 55703 55704 if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) { 55705 var errorInfo = createCapturedValue(error, sourceFiber); 55706 var update = createClassErrorUpdate(fiber, errorInfo, // TODO: This is always sync 55707 Sync); 55708 enqueueUpdate(fiber, update); 55709 var root = markUpdateTimeFromFiberToRoot(fiber, Sync); 55710 55711 if (root !== null) { 55712 ensureRootIsScheduled(root); 55713 schedulePendingInteractions(root, Sync); 55714 } 55715 55716 return; 55717 } 55718 } 55719 55720 fiber = fiber.return; 55721 } 55722} 55723function pingSuspendedRoot(root, thenable, suspendedTime) { 55724 var pingCache = root.pingCache; 55725 55726 if (pingCache !== null) { 55727 // The thenable resolved, so we no longer need to memoize, because it will 55728 // never be thrown again. 55729 pingCache.delete(thenable); 55730 } 55731 55732 if (workInProgressRoot === root && renderExpirationTime$1 === suspendedTime) { 55733 // Received a ping at the same priority level at which we're currently 55734 // rendering. We might want to restart this render. This should mirror 55735 // the logic of whether or not a root suspends once it completes. 55736 // TODO: If we're rendering sync either due to Sync, Batched or expired, 55737 // we should probably never restart. 55738 // If we're suspended with delay, we'll always suspend so we can always 55739 // restart. If we're suspended without any updates, it might be a retry. 55740 // If it's early in the retry we can restart. We can't know for sure 55741 // whether we'll eventually process an update during this render pass, 55742 // but it's somewhat unlikely that we get to a ping before that, since 55743 // getting to the root most update is usually very fast. 55744 if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && workInProgressRootLatestProcessedExpirationTime === Sync && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) { 55745 // Restart from the root. Don't need to schedule a ping because 55746 // we're already working on this tree. 55747 prepareFreshStack(root, renderExpirationTime$1); 55748 } else { 55749 // Even though we can't restart right now, we might get an 55750 // opportunity later. So we mark this render as having a ping. 55751 workInProgressRootHasPendingPing = true; 55752 } 55753 55754 return; 55755 } 55756 55757 if (!isRootSuspendedAtTime(root, suspendedTime)) { 55758 // The root is no longer suspended at this time. 55759 return; 55760 } 55761 55762 var lastPingedTime = root.lastPingedTime; 55763 55764 if (lastPingedTime !== NoWork && lastPingedTime < suspendedTime) { 55765 // There's already a lower priority ping scheduled. 55766 return; 55767 } // Mark the time at which this ping was scheduled. 55768 55769 55770 root.lastPingedTime = suspendedTime; 55771 55772 ensureRootIsScheduled(root); 55773 schedulePendingInteractions(root, suspendedTime); 55774} 55775 55776function retryTimedOutBoundary(boundaryFiber, retryTime) { 55777 // The boundary fiber (a Suspense component or SuspenseList component) 55778 // previously was rendered in its fallback state. One of the promises that 55779 // suspended it has resolved, which means at least part of the tree was 55780 // likely unblocked. Try rendering again, at a new expiration time. 55781 if (retryTime === NoWork) { 55782 var suspenseConfig = null; // Retries don't carry over the already committed update. 55783 55784 var currentTime = requestCurrentTimeForUpdate(); 55785 retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig); 55786 } // TODO: Special case idle priority? 55787 55788 55789 var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime); 55790 55791 if (root !== null) { 55792 ensureRootIsScheduled(root); 55793 schedulePendingInteractions(root, retryTime); 55794 } 55795} 55796function resolveRetryThenable(boundaryFiber, thenable) { 55797 var retryTime = NoWork; // Default 55798 55799 var retryCache; 55800 55801 { 55802 retryCache = boundaryFiber.stateNode; 55803 } 55804 55805 if (retryCache !== null) { 55806 // The thenable resolved, so we no longer need to memoize, because it will 55807 // never be thrown again. 55808 retryCache.delete(thenable); 55809 } 55810 55811 retryTimedOutBoundary(boundaryFiber, retryTime); 55812} // Computes the next Just Noticeable Difference (JND) boundary. 55813// The theory is that a person can't tell the difference between small differences in time. 55814// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable 55815// difference in the experience. However, waiting for longer might mean that we can avoid 55816// showing an intermediate loading state. The longer we have already waited, the harder it 55817// is to tell small differences in time. Therefore, the longer we've already waited, 55818// the longer we can wait additionally. At some point we have to give up though. 55819// We pick a train model where the next boundary commits at a consistent schedule. 55820// These particular numbers are vague estimates. We expect to adjust them based on research. 55821 55822function jnd(timeElapsed) { 55823 return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960; 55824} 55825 55826function computeMsUntilSuspenseLoadingDelay(mostRecentEventTime, committedExpirationTime, suspenseConfig) { 55827 var busyMinDurationMs = suspenseConfig.busyMinDurationMs | 0; 55828 55829 if (busyMinDurationMs <= 0) { 55830 return 0; 55831 } 55832 55833 var busyDelayMs = suspenseConfig.busyDelayMs | 0; // Compute the time until this render pass would expire. 55834 55835 var currentTimeMs = now(); 55836 var eventTimeMs = inferTimeFromExpirationTimeWithSuspenseConfig(mostRecentEventTime, suspenseConfig); 55837 var timeElapsed = currentTimeMs - eventTimeMs; 55838 55839 if (timeElapsed <= busyDelayMs) { 55840 // If we haven't yet waited longer than the initial delay, we don't 55841 // have to wait any additional time. 55842 return 0; 55843 } 55844 55845 var msUntilTimeout = busyDelayMs + busyMinDurationMs - timeElapsed; // This is the value that is passed to `setTimeout`. 55846 55847 return msUntilTimeout; 55848} 55849 55850function checkForNestedUpdates() { 55851 if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { 55852 nestedUpdateCount = 0; 55853 rootWithNestedUpdates = null; 55854 55855 { 55856 { 55857 throw Error( "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." ); 55858 } 55859 } 55860 } 55861 55862 { 55863 if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) { 55864 nestedPassiveUpdateCount = 0; 55865 55866 error('Maximum update depth exceeded. This can happen when a component ' + "calls setState inside useEffect, but useEffect either doesn't " + 'have a dependency array, or one of the dependencies changes on ' + 'every render.'); 55867 } 55868 } 55869} 55870 55871function flushRenderPhaseStrictModeWarningsInDEV() { 55872 { 55873 ReactStrictModeWarnings.flushLegacyContextWarning(); 55874 55875 { 55876 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); 55877 } 55878 } 55879} 55880 55881function stopFinishedWorkLoopTimer() { 55882 var didCompleteRoot = true; 55883 stopWorkLoopTimer(interruptedBy, didCompleteRoot); 55884 interruptedBy = null; 55885} 55886 55887function stopInterruptedWorkLoopTimer() { 55888 // TODO: Track which fiber caused the interruption. 55889 var didCompleteRoot = false; 55890 stopWorkLoopTimer(interruptedBy, didCompleteRoot); 55891 interruptedBy = null; 55892} 55893 55894function checkForInterruption(fiberThatReceivedUpdate, updateExpirationTime) { 55895 if ( workInProgressRoot !== null && updateExpirationTime > renderExpirationTime$1) { 55896 interruptedBy = fiberThatReceivedUpdate; 55897 } 55898} 55899 55900var didWarnStateUpdateForUnmountedComponent = null; 55901 55902function warnAboutUpdateOnUnmountedFiberInDEV(fiber) { 55903 { 55904 var tag = fiber.tag; 55905 55906 if (tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent && tag !== Block) { 55907 // Only warn for user-defined components, not internal ones like Suspense. 55908 return; 55909 } 55910 // the problematic code almost always lies inside that component. 55911 55912 55913 var componentName = getComponentName(fiber.type) || 'ReactComponent'; 55914 55915 if (didWarnStateUpdateForUnmountedComponent !== null) { 55916 if (didWarnStateUpdateForUnmountedComponent.has(componentName)) { 55917 return; 55918 } 55919 55920 didWarnStateUpdateForUnmountedComponent.add(componentName); 55921 } else { 55922 didWarnStateUpdateForUnmountedComponent = new Set([componentName]); 55923 } 55924 55925 error("Can't perform a React state update on an unmounted component. This " + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', tag === ClassComponent ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber)); 55926 } 55927} 55928 55929var beginWork$1; 55930 55931{ 55932 var dummyFiber = null; 55933 55934 beginWork$1 = function (current, unitOfWork, expirationTime) { 55935 // If a component throws an error, we replay it again in a synchronously 55936 // dispatched event, so that the debugger will treat it as an uncaught 55937 // error See ReactErrorUtils for more information. 55938 // Before entering the begin phase, copy the work-in-progress onto a dummy 55939 // fiber. If beginWork throws, we'll use this to reset the state. 55940 var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork); 55941 55942 try { 55943 return beginWork(current, unitOfWork, expirationTime); 55944 } catch (originalError) { 55945 if (originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') { 55946 // Don't replay promises. Treat everything else like an error. 55947 throw originalError; 55948 } // Keep this code in sync with handleError; any changes here must have 55949 // corresponding changes there. 55950 55951 55952 resetContextDependencies(); 55953 resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the 55954 // same fiber again. 55955 // Unwind the failed stack frame 55956 55957 unwindInterruptedWork(unitOfWork); // Restore the original properties of the fiber. 55958 55959 assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy); 55960 55961 if ( unitOfWork.mode & ProfileMode) { 55962 // Reset the profiler timer. 55963 startProfilerTimer(unitOfWork); 55964 } // Run beginWork again. 55965 55966 55967 invokeGuardedCallback(null, beginWork, null, current, unitOfWork, expirationTime); 55968 55969 if (hasCaughtError()) { 55970 var replayError = clearCaughtError(); // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`. 55971 // Rethrow this error instead of the original one. 55972 55973 throw replayError; 55974 } else { 55975 // This branch is reachable if the render phase is impure. 55976 throw originalError; 55977 } 55978 } 55979 }; 55980} 55981 55982var didWarnAboutUpdateInRender = false; 55983var didWarnAboutUpdateInRenderForAnotherComponent; 55984 55985{ 55986 didWarnAboutUpdateInRenderForAnotherComponent = new Set(); 55987} 55988 55989function warnAboutRenderPhaseUpdatesInDEV(fiber) { 55990 { 55991 if (isRendering && (executionContext & RenderContext) !== NoContext) { 55992 switch (fiber.tag) { 55993 case FunctionComponent: 55994 case ForwardRef: 55995 case SimpleMemoComponent: 55996 { 55997 var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed. 55998 55999 var dedupeKey = renderingComponentName; 56000 56001 if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) { 56002 didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey); 56003 var setStateComponentName = getComponentName(fiber.type) || 'Unknown'; 56004 56005 error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName); 56006 } 56007 56008 break; 56009 } 56010 56011 case ClassComponent: 56012 { 56013 if (!didWarnAboutUpdateInRender) { 56014 error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.'); 56015 56016 didWarnAboutUpdateInRender = true; 56017 } 56018 56019 break; 56020 } 56021 } 56022 } 56023 } 56024} // a 'shared' variable that changes when act() opens/closes in tests. 56025 56026 56027var IsThisRendererActing = { 56028 current: false 56029}; 56030function warnIfNotScopedWithMatchingAct(fiber) { 56031 { 56032 if ( IsSomeRendererActing.current === true && IsThisRendererActing.current !== true) { 56033 error("It looks like you're using the wrong act() around your test interactions.\n" + 'Be sure to use the matching version of act() corresponding to your renderer:\n\n' + '// for react-dom:\n' + "import {act} from 'react-dom/test-utils';\n" + '// ...\n' + 'act(() => ...);\n\n' + '// for react-test-renderer:\n' + "import TestRenderer from 'react-test-renderer';\n" + 'const {act} = TestRenderer;\n' + '// ...\n' + 'act(() => ...);' + '%s', getStackByFiberInDevAndProd(fiber)); 56034 } 56035 } 56036} 56037function warnIfNotCurrentlyActingEffectsInDEV(fiber) { 56038 { 56039 if ( (fiber.mode & StrictMode) !== NoMode && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) { 56040 error('An update to %s ran an effect, but was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + ' /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber)); 56041 } 56042 } 56043} 56044 56045function warnIfNotCurrentlyActingUpdatesInDEV(fiber) { 56046 { 56047 if ( executionContext === NoContext && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) { 56048 error('An update to %s inside a test was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + ' /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber)); 56049 } 56050 } 56051} 56052 56053var warnIfNotCurrentlyActingUpdatesInDev = warnIfNotCurrentlyActingUpdatesInDEV; // In tests, we want to enforce a mocked scheduler. 56054 56055var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked 56056// scheduler is the actual recommendation. The alternative could be a testing build, 56057// a new lib, or whatever; we dunno just yet. This message is for early adopters 56058// to get their tests right. 56059 56060function warnIfUnmockedScheduler(fiber) { 56061 { 56062 if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) { 56063 if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) { 56064 didWarnAboutUnmockedScheduler = true; 56065 56066 error('In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler'); 56067 } 56068 } 56069 } 56070} 56071 56072function computeThreadID(root, expirationTime) { 56073 // Interaction threads are unique per root and expiration time. 56074 return expirationTime * 1000 + root.interactionThreadID; 56075} 56076 56077function markSpawnedWork(expirationTime) { 56078 56079 if (spawnedWorkDuringRender === null) { 56080 spawnedWorkDuringRender = [expirationTime]; 56081 } else { 56082 spawnedWorkDuringRender.push(expirationTime); 56083 } 56084} 56085 56086function scheduleInteractions(root, expirationTime, interactions) { 56087 56088 if (interactions.size > 0) { 56089 var pendingInteractionMap = root.pendingInteractionMap; 56090 var pendingInteractions = pendingInteractionMap.get(expirationTime); 56091 56092 if (pendingInteractions != null) { 56093 interactions.forEach(function (interaction) { 56094 if (!pendingInteractions.has(interaction)) { 56095 // Update the pending async work count for previously unscheduled interaction. 56096 interaction.__count++; 56097 } 56098 56099 pendingInteractions.add(interaction); 56100 }); 56101 } else { 56102 pendingInteractionMap.set(expirationTime, new Set(interactions)); // Update the pending async work count for the current interactions. 56103 56104 interactions.forEach(function (interaction) { 56105 interaction.__count++; 56106 }); 56107 } 56108 56109 var subscriber = tracing.__subscriberRef.current; 56110 56111 if (subscriber !== null) { 56112 var threadID = computeThreadID(root, expirationTime); 56113 subscriber.onWorkScheduled(interactions, threadID); 56114 } 56115 } 56116} 56117 56118function schedulePendingInteractions(root, expirationTime) { 56119 56120 scheduleInteractions(root, expirationTime, tracing.__interactionsRef.current); 56121} 56122 56123function startWorkOnPendingInteractions(root, expirationTime) { 56124 // we can accurately attribute time spent working on it, And so that cascading 56125 // work triggered during the render phase will be associated with it. 56126 56127 56128 var interactions = new Set(); 56129 root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { 56130 if (scheduledExpirationTime >= expirationTime) { 56131 scheduledInteractions.forEach(function (interaction) { 56132 return interactions.add(interaction); 56133 }); 56134 } 56135 }); // Store the current set of interactions on the FiberRoot for a few reasons: 56136 // We can re-use it in hot functions like performConcurrentWorkOnRoot() 56137 // without having to recalculate it. We will also use it in commitWork() to 56138 // pass to any Profiler onRender() hooks. This also provides DevTools with a 56139 // way to access it when the onCommitRoot() hook is called. 56140 56141 root.memoizedInteractions = interactions; 56142 56143 if (interactions.size > 0) { 56144 var subscriber = tracing.__subscriberRef.current; 56145 56146 if (subscriber !== null) { 56147 var threadID = computeThreadID(root, expirationTime); 56148 56149 try { 56150 subscriber.onWorkStarted(interactions, threadID); 56151 } catch (error) { 56152 // If the subscriber throws, rethrow it in a separate task 56153 scheduleCallback(ImmediatePriority, function () { 56154 throw error; 56155 }); 56156 } 56157 } 56158 } 56159} 56160 56161function finishPendingInteractions(root, committedExpirationTime) { 56162 56163 var earliestRemainingTimeAfterCommit = root.firstPendingTime; 56164 var subscriber; 56165 56166 try { 56167 subscriber = tracing.__subscriberRef.current; 56168 56169 if (subscriber !== null && root.memoizedInteractions.size > 0) { 56170 var threadID = computeThreadID(root, committedExpirationTime); 56171 subscriber.onWorkStopped(root.memoizedInteractions, threadID); 56172 } 56173 } catch (error) { 56174 // If the subscriber throws, rethrow it in a separate task 56175 scheduleCallback(ImmediatePriority, function () { 56176 throw error; 56177 }); 56178 } finally { 56179 // Clear completed interactions from the pending Map. 56180 // Unless the render was suspended or cascading work was scheduled, 56181 // In which caseâ leave pending interactions until the subsequent render. 56182 var pendingInteractionMap = root.pendingInteractionMap; 56183 pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { 56184 // Only decrement the pending interaction count if we're done. 56185 // If there's still work at the current priority, 56186 // That indicates that we are waiting for suspense data. 56187 if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) { 56188 pendingInteractionMap.delete(scheduledExpirationTime); 56189 scheduledInteractions.forEach(function (interaction) { 56190 interaction.__count--; 56191 56192 if (subscriber !== null && interaction.__count === 0) { 56193 try { 56194 subscriber.onInteractionScheduledWorkCompleted(interaction); 56195 } catch (error) { 56196 // If the subscriber throws, rethrow it in a separate task 56197 scheduleCallback(ImmediatePriority, function () { 56198 throw error; 56199 }); 56200 } 56201 } 56202 }); 56203 } 56204 }); 56205 } 56206} 56207 56208var onScheduleFiberRoot = null; 56209var onCommitFiberRoot = null; 56210var onCommitFiberUnmount = null; 56211var hasLoggedError = false; 56212var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined'; 56213function injectInternals(internals) { 56214 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { 56215 // No DevTools 56216 return false; 56217 } 56218 56219 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; 56220 56221 if (hook.isDisabled) { 56222 // This isn't a real property on the hook, but it can be set to opt out 56223 // of DevTools integration and associated warnings and logs. 56224 // https://github.com/facebook/react/issues/3877 56225 return true; 56226 } 56227 56228 if (!hook.supportsFiber) { 56229 { 56230 error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools'); 56231 } // DevTools exists, even though it doesn't support Fiber. 56232 56233 56234 return true; 56235 } 56236 56237 try { 56238 var rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks. 56239 56240 if (true) { 56241 // Only used by Fast Refresh 56242 if (typeof hook.onScheduleFiberRoot === 'function') { 56243 onScheduleFiberRoot = function (root, children) { 56244 try { 56245 hook.onScheduleFiberRoot(rendererID, root, children); 56246 } catch (err) { 56247 if ( true && !hasLoggedError) { 56248 hasLoggedError = true; 56249 56250 error('React instrumentation encountered an error: %s', err); 56251 } 56252 } 56253 }; 56254 } 56255 } 56256 56257 onCommitFiberRoot = function (root, expirationTime) { 56258 try { 56259 var didError = (root.current.effectTag & DidCapture) === DidCapture; 56260 56261 if (enableProfilerTimer) { 56262 var currentTime = getCurrentTime(); 56263 var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); 56264 hook.onCommitFiberRoot(rendererID, root, priorityLevel, didError); 56265 } else { 56266 hook.onCommitFiberRoot(rendererID, root, undefined, didError); 56267 } 56268 } catch (err) { 56269 if (true) { 56270 if (!hasLoggedError) { 56271 hasLoggedError = true; 56272 56273 error('React instrumentation encountered an error: %s', err); 56274 } 56275 } 56276 } 56277 }; 56278 56279 onCommitFiberUnmount = function (fiber) { 56280 try { 56281 hook.onCommitFiberUnmount(rendererID, fiber); 56282 } catch (err) { 56283 if (true) { 56284 if (!hasLoggedError) { 56285 hasLoggedError = true; 56286 56287 error('React instrumentation encountered an error: %s', err); 56288 } 56289 } 56290 } 56291 }; 56292 } catch (err) { 56293 // Catch all errors because it is unsafe to throw during initialization. 56294 { 56295 error('React instrumentation encountered an error: %s.', err); 56296 } 56297 } // DevTools exists 56298 56299 56300 return true; 56301} 56302function onScheduleRoot(root, children) { 56303 if (typeof onScheduleFiberRoot === 'function') { 56304 onScheduleFiberRoot(root, children); 56305 } 56306} 56307function onCommitRoot(root, expirationTime) { 56308 if (typeof onCommitFiberRoot === 'function') { 56309 onCommitFiberRoot(root, expirationTime); 56310 } 56311} 56312function onCommitUnmount(fiber) { 56313 if (typeof onCommitFiberUnmount === 'function') { 56314 onCommitFiberUnmount(fiber); 56315 } 56316} 56317 56318var hasBadMapPolyfill; 56319 56320{ 56321 hasBadMapPolyfill = false; 56322 56323 try { 56324 var nonExtensibleObject = Object.preventExtensions({}); 56325 var testMap = new Map([[nonExtensibleObject, null]]); 56326 var testSet = new Set([nonExtensibleObject]); // This is necessary for Rollup to not consider these unused. 56327 // https://github.com/rollup/rollup/issues/1771 56328 // TODO: we can remove these if Rollup fixes the bug. 56329 56330 testMap.set(0, 0); 56331 testSet.add(0); 56332 } catch (e) { 56333 // TODO: Consider warning about bad polyfills 56334 hasBadMapPolyfill = true; 56335 } 56336} 56337 56338var debugCounter = 1; 56339 56340function FiberNode(tag, pendingProps, key, mode) { 56341 // Instance 56342 this.tag = tag; 56343 this.key = key; 56344 this.elementType = null; 56345 this.type = null; 56346 this.stateNode = null; // Fiber 56347 56348 this.return = null; 56349 this.child = null; 56350 this.sibling = null; 56351 this.index = 0; 56352 this.ref = null; 56353 this.pendingProps = pendingProps; 56354 this.memoizedProps = null; 56355 this.updateQueue = null; 56356 this.memoizedState = null; 56357 this.dependencies = null; 56358 this.mode = mode; // Effects 56359 56360 this.effectTag = NoEffect; 56361 this.nextEffect = null; 56362 this.firstEffect = null; 56363 this.lastEffect = null; 56364 this.expirationTime = NoWork; 56365 this.childExpirationTime = NoWork; 56366 this.alternate = null; 56367 56368 { 56369 // Note: The following is done to avoid a v8 performance cliff. 56370 // 56371 // Initializing the fields below to smis and later updating them with 56372 // double values will cause Fibers to end up having separate shapes. 56373 // This behavior/bug has something to do with Object.preventExtension(). 56374 // Fortunately this only impacts DEV builds. 56375 // Unfortunately it makes React unusably slow for some applications. 56376 // To work around this, initialize the fields below with doubles. 56377 // 56378 // Learn more about this here: 56379 // https://github.com/facebook/react/issues/14365 56380 // https://bugs.chromium.org/p/v8/issues/detail?id=8538 56381 this.actualDuration = Number.NaN; 56382 this.actualStartTime = Number.NaN; 56383 this.selfBaseDuration = Number.NaN; 56384 this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization. 56385 // This won't trigger the performance cliff mentioned above, 56386 // and it simplifies other profiler code (including DevTools). 56387 56388 this.actualDuration = 0; 56389 this.actualStartTime = -1; 56390 this.selfBaseDuration = 0; 56391 this.treeBaseDuration = 0; 56392 } // This is normally DEV-only except www when it adds listeners. 56393 // TODO: remove the User Timing integration in favor of Root Events. 56394 56395 56396 { 56397 this._debugID = debugCounter++; 56398 this._debugIsCurrentlyTiming = false; 56399 } 56400 56401 { 56402 this._debugSource = null; 56403 this._debugOwner = null; 56404 this._debugNeedsRemount = false; 56405 this._debugHookTypes = null; 56406 56407 if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') { 56408 Object.preventExtensions(this); 56409 } 56410 } 56411} // This is a constructor function, rather than a POJO constructor, still 56412// please ensure we do the following: 56413// 1) Nobody should add any instance methods on this. Instance methods can be 56414// more difficult to predict when they get optimized and they are almost 56415// never inlined properly in static compilers. 56416// 2) Nobody should rely on `instanceof Fiber` for type testing. We should 56417// always know when it is a fiber. 56418// 3) We might want to experiment with using numeric keys since they are easier 56419// to optimize in a non-JIT environment. 56420// 4) We can easily go from a constructor to a createFiber object literal if that 56421// is faster. 56422// 5) It should be easy to port this to a C struct and keep a C implementation 56423// compatible. 56424 56425 56426var createFiber = function (tag, pendingProps, key, mode) { 56427 // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors 56428 return new FiberNode(tag, pendingProps, key, mode); 56429}; 56430 56431function shouldConstruct(Component) { 56432 var prototype = Component.prototype; 56433 return !!(prototype && prototype.isReactComponent); 56434} 56435 56436function isSimpleFunctionComponent(type) { 56437 return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined; 56438} 56439function resolveLazyComponentTag(Component) { 56440 if (typeof Component === 'function') { 56441 return shouldConstruct(Component) ? ClassComponent : FunctionComponent; 56442 } else if (Component !== undefined && Component !== null) { 56443 var $$typeof = Component.$$typeof; 56444 56445 if ($$typeof === REACT_FORWARD_REF_TYPE) { 56446 return ForwardRef; 56447 } 56448 56449 if ($$typeof === REACT_MEMO_TYPE) { 56450 return MemoComponent; 56451 } 56452 } 56453 56454 return IndeterminateComponent; 56455} // This is used to create an alternate fiber to do work on. 56456 56457function createWorkInProgress(current, pendingProps) { 56458 var workInProgress = current.alternate; 56459 56460 if (workInProgress === null) { 56461 // We use a double buffering pooling technique because we know that we'll 56462 // only ever need at most two versions of a tree. We pool the "other" unused 56463 // node that we're free to reuse. This is lazily created to avoid allocating 56464 // extra objects for things that are never updated. It also allow us to 56465 // reclaim the extra memory if needed. 56466 workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode); 56467 workInProgress.elementType = current.elementType; 56468 workInProgress.type = current.type; 56469 workInProgress.stateNode = current.stateNode; 56470 56471 { 56472 // DEV-only fields 56473 { 56474 workInProgress._debugID = current._debugID; 56475 } 56476 56477 workInProgress._debugSource = current._debugSource; 56478 workInProgress._debugOwner = current._debugOwner; 56479 workInProgress._debugHookTypes = current._debugHookTypes; 56480 } 56481 56482 workInProgress.alternate = current; 56483 current.alternate = workInProgress; 56484 } else { 56485 workInProgress.pendingProps = pendingProps; // We already have an alternate. 56486 // Reset the effect tag. 56487 56488 workInProgress.effectTag = NoEffect; // The effect list is no longer valid. 56489 56490 workInProgress.nextEffect = null; 56491 workInProgress.firstEffect = null; 56492 workInProgress.lastEffect = null; 56493 56494 { 56495 // We intentionally reset, rather than copy, actualDuration & actualStartTime. 56496 // This prevents time from endlessly accumulating in new commits. 56497 // This has the downside of resetting values for different priority renders, 56498 // But works for yielding (the common case) and should support resuming. 56499 workInProgress.actualDuration = 0; 56500 workInProgress.actualStartTime = -1; 56501 } 56502 } 56503 56504 workInProgress.childExpirationTime = current.childExpirationTime; 56505 workInProgress.expirationTime = current.expirationTime; 56506 workInProgress.child = current.child; 56507 workInProgress.memoizedProps = current.memoizedProps; 56508 workInProgress.memoizedState = current.memoizedState; 56509 workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so 56510 // it cannot be shared with the current fiber. 56511 56512 var currentDependencies = current.dependencies; 56513 workInProgress.dependencies = currentDependencies === null ? null : { 56514 expirationTime: currentDependencies.expirationTime, 56515 firstContext: currentDependencies.firstContext, 56516 responders: currentDependencies.responders 56517 }; // These will be overridden during the parent's reconciliation 56518 56519 workInProgress.sibling = current.sibling; 56520 workInProgress.index = current.index; 56521 workInProgress.ref = current.ref; 56522 56523 { 56524 workInProgress.selfBaseDuration = current.selfBaseDuration; 56525 workInProgress.treeBaseDuration = current.treeBaseDuration; 56526 } 56527 56528 { 56529 workInProgress._debugNeedsRemount = current._debugNeedsRemount; 56530 56531 switch (workInProgress.tag) { 56532 case IndeterminateComponent: 56533 case FunctionComponent: 56534 case SimpleMemoComponent: 56535 workInProgress.type = resolveFunctionForHotReloading(current.type); 56536 break; 56537 56538 case ClassComponent: 56539 workInProgress.type = resolveClassForHotReloading(current.type); 56540 break; 56541 56542 case ForwardRef: 56543 workInProgress.type = resolveForwardRefForHotReloading(current.type); 56544 break; 56545 } 56546 } 56547 56548 return workInProgress; 56549} // Used to reuse a Fiber for a second pass. 56550 56551function resetWorkInProgress(workInProgress, renderExpirationTime) { 56552 // This resets the Fiber to what createFiber or createWorkInProgress would 56553 // have set the values to before during the first pass. Ideally this wouldn't 56554 // be necessary but unfortunately many code paths reads from the workInProgress 56555 // when they should be reading from current and writing to workInProgress. 56556 // We assume pendingProps, index, key, ref, return are still untouched to 56557 // avoid doing another reconciliation. 56558 // Reset the effect tag but keep any Placement tags, since that's something 56559 // that child fiber is setting, not the reconciliation. 56560 workInProgress.effectTag &= Placement; // The effect list is no longer valid. 56561 56562 workInProgress.nextEffect = null; 56563 workInProgress.firstEffect = null; 56564 workInProgress.lastEffect = null; 56565 var current = workInProgress.alternate; 56566 56567 if (current === null) { 56568 // Reset to createFiber's initial values. 56569 workInProgress.childExpirationTime = NoWork; 56570 workInProgress.expirationTime = renderExpirationTime; 56571 workInProgress.child = null; 56572 workInProgress.memoizedProps = null; 56573 workInProgress.memoizedState = null; 56574 workInProgress.updateQueue = null; 56575 workInProgress.dependencies = null; 56576 56577 { 56578 // Note: We don't reset the actualTime counts. It's useful to accumulate 56579 // actual time across multiple render passes. 56580 workInProgress.selfBaseDuration = 0; 56581 workInProgress.treeBaseDuration = 0; 56582 } 56583 } else { 56584 // Reset to the cloned values that createWorkInProgress would've. 56585 workInProgress.childExpirationTime = current.childExpirationTime; 56586 workInProgress.expirationTime = current.expirationTime; 56587 workInProgress.child = current.child; 56588 workInProgress.memoizedProps = current.memoizedProps; 56589 workInProgress.memoizedState = current.memoizedState; 56590 workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so 56591 // it cannot be shared with the current fiber. 56592 56593 var currentDependencies = current.dependencies; 56594 workInProgress.dependencies = currentDependencies === null ? null : { 56595 expirationTime: currentDependencies.expirationTime, 56596 firstContext: currentDependencies.firstContext, 56597 responders: currentDependencies.responders 56598 }; 56599 56600 { 56601 // Note: We don't reset the actualTime counts. It's useful to accumulate 56602 // actual time across multiple render passes. 56603 workInProgress.selfBaseDuration = current.selfBaseDuration; 56604 workInProgress.treeBaseDuration = current.treeBaseDuration; 56605 } 56606 } 56607 56608 return workInProgress; 56609} 56610function createHostRootFiber(tag) { 56611 var mode; 56612 56613 if (tag === ConcurrentRoot) { 56614 mode = ConcurrentMode | BlockingMode | StrictMode; 56615 } else if (tag === BlockingRoot) { 56616 mode = BlockingMode | StrictMode; 56617 } else { 56618 mode = NoMode; 56619 } 56620 56621 if ( isDevToolsPresent) { 56622 // Always collect profile timings when DevTools are present. 56623 // This enables DevTools to start capturing timing at any pointâ 56624 // Without some nodes in the tree having empty base times. 56625 mode |= ProfileMode; 56626 } 56627 56628 return createFiber(HostRoot, null, null, mode); 56629} 56630function createFiberFromTypeAndProps(type, // React$ElementType 56631key, pendingProps, owner, mode, expirationTime) { 56632 var fiber; 56633 var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy. 56634 56635 var resolvedType = type; 56636 56637 if (typeof type === 'function') { 56638 if (shouldConstruct(type)) { 56639 fiberTag = ClassComponent; 56640 56641 { 56642 resolvedType = resolveClassForHotReloading(resolvedType); 56643 } 56644 } else { 56645 { 56646 resolvedType = resolveFunctionForHotReloading(resolvedType); 56647 } 56648 } 56649 } else if (typeof type === 'string') { 56650 fiberTag = HostComponent; 56651 } else { 56652 getTag: switch (type) { 56653 case REACT_FRAGMENT_TYPE: 56654 return createFiberFromFragment(pendingProps.children, mode, expirationTime, key); 56655 56656 case REACT_CONCURRENT_MODE_TYPE: 56657 fiberTag = Mode; 56658 mode |= ConcurrentMode | BlockingMode | StrictMode; 56659 break; 56660 56661 case REACT_STRICT_MODE_TYPE: 56662 fiberTag = Mode; 56663 mode |= StrictMode; 56664 break; 56665 56666 case REACT_PROFILER_TYPE: 56667 return createFiberFromProfiler(pendingProps, mode, expirationTime, key); 56668 56669 case REACT_SUSPENSE_TYPE: 56670 return createFiberFromSuspense(pendingProps, mode, expirationTime, key); 56671 56672 case REACT_SUSPENSE_LIST_TYPE: 56673 return createFiberFromSuspenseList(pendingProps, mode, expirationTime, key); 56674 56675 default: 56676 { 56677 if (typeof type === 'object' && type !== null) { 56678 switch (type.$$typeof) { 56679 case REACT_PROVIDER_TYPE: 56680 fiberTag = ContextProvider; 56681 break getTag; 56682 56683 case REACT_CONTEXT_TYPE: 56684 // This is a consumer 56685 fiberTag = ContextConsumer; 56686 break getTag; 56687 56688 case REACT_FORWARD_REF_TYPE: 56689 fiberTag = ForwardRef; 56690 56691 { 56692 resolvedType = resolveForwardRefForHotReloading(resolvedType); 56693 } 56694 56695 break getTag; 56696 56697 case REACT_MEMO_TYPE: 56698 fiberTag = MemoComponent; 56699 break getTag; 56700 56701 case REACT_LAZY_TYPE: 56702 fiberTag = LazyComponent; 56703 resolvedType = null; 56704 break getTag; 56705 56706 case REACT_BLOCK_TYPE: 56707 fiberTag = Block; 56708 break getTag; 56709 56710 } 56711 } 56712 56713 var info = ''; 56714 56715 { 56716 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { 56717 info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.'; 56718 } 56719 56720 var ownerName = owner ? getComponentName(owner.type) : null; 56721 56722 if (ownerName) { 56723 info += '\n\nCheck the render method of `' + ownerName + '`.'; 56724 } 56725 } 56726 56727 { 56728 { 56729 throw Error( "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (type == null ? type : typeof type) + "." + info ); 56730 } 56731 } 56732 } 56733 } 56734 } 56735 56736 fiber = createFiber(fiberTag, pendingProps, key, mode); 56737 fiber.elementType = type; 56738 fiber.type = resolvedType; 56739 fiber.expirationTime = expirationTime; 56740 return fiber; 56741} 56742function createFiberFromElement(element, mode, expirationTime) { 56743 var owner = null; 56744 56745 { 56746 owner = element._owner; 56747 } 56748 56749 var type = element.type; 56750 var key = element.key; 56751 var pendingProps = element.props; 56752 var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime); 56753 56754 { 56755 fiber._debugSource = element._source; 56756 fiber._debugOwner = element._owner; 56757 } 56758 56759 return fiber; 56760} 56761function createFiberFromFragment(elements, mode, expirationTime, key) { 56762 var fiber = createFiber(Fragment, elements, key, mode); 56763 fiber.expirationTime = expirationTime; 56764 return fiber; 56765} 56766 56767function createFiberFromProfiler(pendingProps, mode, expirationTime, key) { 56768 { 56769 if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') { 56770 error('Profiler must specify an "id" string and "onRender" function as props'); 56771 } 56772 } 56773 56774 var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); // TODO: The Profiler fiber shouldn't have a type. It has a tag. 56775 56776 fiber.elementType = REACT_PROFILER_TYPE; 56777 fiber.type = REACT_PROFILER_TYPE; 56778 fiber.expirationTime = expirationTime; 56779 return fiber; 56780} 56781 56782function createFiberFromSuspense(pendingProps, mode, expirationTime, key) { 56783 var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag. 56784 // This needs to be fixed in getComponentName so that it relies on the tag 56785 // instead. 56786 56787 fiber.type = REACT_SUSPENSE_TYPE; 56788 fiber.elementType = REACT_SUSPENSE_TYPE; 56789 fiber.expirationTime = expirationTime; 56790 return fiber; 56791} 56792function createFiberFromSuspenseList(pendingProps, mode, expirationTime, key) { 56793 var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode); 56794 56795 { 56796 // TODO: The SuspenseListComponent fiber shouldn't have a type. It has a tag. 56797 // This needs to be fixed in getComponentName so that it relies on the tag 56798 // instead. 56799 fiber.type = REACT_SUSPENSE_LIST_TYPE; 56800 } 56801 56802 fiber.elementType = REACT_SUSPENSE_LIST_TYPE; 56803 fiber.expirationTime = expirationTime; 56804 return fiber; 56805} 56806function createFiberFromText(content, mode, expirationTime) { 56807 var fiber = createFiber(HostText, content, null, mode); 56808 fiber.expirationTime = expirationTime; 56809 return fiber; 56810} 56811function createFiberFromHostInstanceForDeletion() { 56812 var fiber = createFiber(HostComponent, null, null, NoMode); // TODO: These should not need a type. 56813 56814 fiber.elementType = 'DELETED'; 56815 fiber.type = 'DELETED'; 56816 return fiber; 56817} 56818function createFiberFromPortal(portal, mode, expirationTime) { 56819 var pendingProps = portal.children !== null ? portal.children : []; 56820 var fiber = createFiber(HostPortal, pendingProps, portal.key, mode); 56821 fiber.expirationTime = expirationTime; 56822 fiber.stateNode = { 56823 containerInfo: portal.containerInfo, 56824 pendingChildren: null, 56825 // Used by persistent updates 56826 implementation: portal.implementation 56827 }; 56828 return fiber; 56829} // Used for stashing WIP properties to replay failed work in DEV. 56830 56831function assignFiberPropertiesInDEV(target, source) { 56832 if (target === null) { 56833 // This Fiber's initial properties will always be overwritten. 56834 // We only use a Fiber to ensure the same hidden class so DEV isn't slow. 56835 target = createFiber(IndeterminateComponent, null, null, NoMode); 56836 } // This is intentionally written as a list of all properties. 56837 // We tried to use Object.assign() instead but this is called in 56838 // the hottest path, and Object.assign() was too slow: 56839 // https://github.com/facebook/react/issues/12502 56840 // This code is DEV-only so size is not a concern. 56841 56842 56843 target.tag = source.tag; 56844 target.key = source.key; 56845 target.elementType = source.elementType; 56846 target.type = source.type; 56847 target.stateNode = source.stateNode; 56848 target.return = source.return; 56849 target.child = source.child; 56850 target.sibling = source.sibling; 56851 target.index = source.index; 56852 target.ref = source.ref; 56853 target.pendingProps = source.pendingProps; 56854 target.memoizedProps = source.memoizedProps; 56855 target.updateQueue = source.updateQueue; 56856 target.memoizedState = source.memoizedState; 56857 target.dependencies = source.dependencies; 56858 target.mode = source.mode; 56859 target.effectTag = source.effectTag; 56860 target.nextEffect = source.nextEffect; 56861 target.firstEffect = source.firstEffect; 56862 target.lastEffect = source.lastEffect; 56863 target.expirationTime = source.expirationTime; 56864 target.childExpirationTime = source.childExpirationTime; 56865 target.alternate = source.alternate; 56866 56867 { 56868 target.actualDuration = source.actualDuration; 56869 target.actualStartTime = source.actualStartTime; 56870 target.selfBaseDuration = source.selfBaseDuration; 56871 target.treeBaseDuration = source.treeBaseDuration; 56872 } 56873 56874 { 56875 target._debugID = source._debugID; 56876 } 56877 56878 target._debugSource = source._debugSource; 56879 target._debugOwner = source._debugOwner; 56880 target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; 56881 target._debugNeedsRemount = source._debugNeedsRemount; 56882 target._debugHookTypes = source._debugHookTypes; 56883 return target; 56884} 56885 56886function FiberRootNode(containerInfo, tag, hydrate) { 56887 this.tag = tag; 56888 this.current = null; 56889 this.containerInfo = containerInfo; 56890 this.pendingChildren = null; 56891 this.pingCache = null; 56892 this.finishedExpirationTime = NoWork; 56893 this.finishedWork = null; 56894 this.timeoutHandle = noTimeout; 56895 this.context = null; 56896 this.pendingContext = null; 56897 this.hydrate = hydrate; 56898 this.callbackNode = null; 56899 this.callbackPriority = NoPriority; 56900 this.firstPendingTime = NoWork; 56901 this.firstSuspendedTime = NoWork; 56902 this.lastSuspendedTime = NoWork; 56903 this.nextKnownPendingLevel = NoWork; 56904 this.lastPingedTime = NoWork; 56905 this.lastExpiredTime = NoWork; 56906 56907 { 56908 this.interactionThreadID = tracing.unstable_getThreadID(); 56909 this.memoizedInteractions = new Set(); 56910 this.pendingInteractionMap = new Map(); 56911 } 56912} 56913 56914function createFiberRoot(containerInfo, tag, hydrate, hydrationCallbacks) { 56915 var root = new FiberRootNode(containerInfo, tag, hydrate); 56916 // stateNode is any. 56917 56918 56919 var uninitializedFiber = createHostRootFiber(tag); 56920 root.current = uninitializedFiber; 56921 uninitializedFiber.stateNode = root; 56922 initializeUpdateQueue(uninitializedFiber); 56923 return root; 56924} 56925function isRootSuspendedAtTime(root, expirationTime) { 56926 var firstSuspendedTime = root.firstSuspendedTime; 56927 var lastSuspendedTime = root.lastSuspendedTime; 56928 return firstSuspendedTime !== NoWork && firstSuspendedTime >= expirationTime && lastSuspendedTime <= expirationTime; 56929} 56930function markRootSuspendedAtTime(root, expirationTime) { 56931 var firstSuspendedTime = root.firstSuspendedTime; 56932 var lastSuspendedTime = root.lastSuspendedTime; 56933 56934 if (firstSuspendedTime < expirationTime) { 56935 root.firstSuspendedTime = expirationTime; 56936 } 56937 56938 if (lastSuspendedTime > expirationTime || firstSuspendedTime === NoWork) { 56939 root.lastSuspendedTime = expirationTime; 56940 } 56941 56942 if (expirationTime <= root.lastPingedTime) { 56943 root.lastPingedTime = NoWork; 56944 } 56945 56946 if (expirationTime <= root.lastExpiredTime) { 56947 root.lastExpiredTime = NoWork; 56948 } 56949} 56950function markRootUpdatedAtTime(root, expirationTime) { 56951 // Update the range of pending times 56952 var firstPendingTime = root.firstPendingTime; 56953 56954 if (expirationTime > firstPendingTime) { 56955 root.firstPendingTime = expirationTime; 56956 } // Update the range of suspended times. Treat everything lower priority or 56957 // equal to this update as unsuspended. 56958 56959 56960 var firstSuspendedTime = root.firstSuspendedTime; 56961 56962 if (firstSuspendedTime !== NoWork) { 56963 if (expirationTime >= firstSuspendedTime) { 56964 // The entire suspended range is now unsuspended. 56965 root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork; 56966 } else if (expirationTime >= root.lastSuspendedTime) { 56967 root.lastSuspendedTime = expirationTime + 1; 56968 } // This is a pending level. Check if it's higher priority than the next 56969 // known pending level. 56970 56971 56972 if (expirationTime > root.nextKnownPendingLevel) { 56973 root.nextKnownPendingLevel = expirationTime; 56974 } 56975 } 56976} 56977function markRootFinishedAtTime(root, finishedExpirationTime, remainingExpirationTime) { 56978 // Update the range of pending times 56979 root.firstPendingTime = remainingExpirationTime; // Update the range of suspended times. Treat everything higher priority or 56980 // equal to this update as unsuspended. 56981 56982 if (finishedExpirationTime <= root.lastSuspendedTime) { 56983 // The entire suspended range is now unsuspended. 56984 root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork; 56985 } else if (finishedExpirationTime <= root.firstSuspendedTime) { 56986 // Part of the suspended range is now unsuspended. Narrow the range to 56987 // include everything between the unsuspended time (non-inclusive) and the 56988 // last suspended time. 56989 root.firstSuspendedTime = finishedExpirationTime - 1; 56990 } 56991 56992 if (finishedExpirationTime <= root.lastPingedTime) { 56993 // Clear the pinged time 56994 root.lastPingedTime = NoWork; 56995 } 56996 56997 if (finishedExpirationTime <= root.lastExpiredTime) { 56998 // Clear the expired time 56999 root.lastExpiredTime = NoWork; 57000 } 57001} 57002function markRootExpiredAtTime(root, expirationTime) { 57003 var lastExpiredTime = root.lastExpiredTime; 57004 57005 if (lastExpiredTime === NoWork || lastExpiredTime > expirationTime) { 57006 root.lastExpiredTime = expirationTime; 57007 } 57008} 57009 57010var didWarnAboutNestedUpdates; 57011var didWarnAboutFindNodeInStrictMode; 57012 57013{ 57014 didWarnAboutNestedUpdates = false; 57015 didWarnAboutFindNodeInStrictMode = {}; 57016} 57017 57018function getContextForSubtree(parentComponent) { 57019 if (!parentComponent) { 57020 return emptyContextObject; 57021 } 57022 57023 var fiber = get(parentComponent); 57024 var parentContext = findCurrentUnmaskedContext(fiber); 57025 57026 if (fiber.tag === ClassComponent) { 57027 var Component = fiber.type; 57028 57029 if (isContextProvider(Component)) { 57030 return processChildContext(fiber, Component, parentContext); 57031 } 57032 } 57033 57034 return parentContext; 57035} 57036 57037function findHostInstanceWithWarning(component, methodName) { 57038 { 57039 var fiber = get(component); 57040 57041 if (fiber === undefined) { 57042 if (typeof component.render === 'function') { 57043 { 57044 { 57045 throw Error( "Unable to find node on an unmounted component." ); 57046 } 57047 } 57048 } else { 57049 { 57050 { 57051 throw Error( "Argument appears to not be a ReactComponent. Keys: " + Object.keys(component) ); 57052 } 57053 } 57054 } 57055 } 57056 57057 var hostFiber = findCurrentHostFiber(fiber); 57058 57059 if (hostFiber === null) { 57060 return null; 57061 } 57062 57063 if (hostFiber.mode & StrictMode) { 57064 var componentName = getComponentName(fiber.type) || 'Component'; 57065 57066 if (!didWarnAboutFindNodeInStrictMode[componentName]) { 57067 didWarnAboutFindNodeInStrictMode[componentName] = true; 57068 57069 if (fiber.mode & StrictMode) { 57070 error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); 57071 } else { 57072 error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); 57073 } 57074 } 57075 } 57076 57077 return hostFiber.stateNode; 57078 } 57079} 57080 57081function createContainer(containerInfo, tag, hydrate, hydrationCallbacks) { 57082 return createFiberRoot(containerInfo, tag, hydrate); 57083} 57084function updateContainer(element, container, parentComponent, callback) { 57085 { 57086 onScheduleRoot(container, element); 57087 } 57088 57089 var current$1 = container.current; 57090 var currentTime = requestCurrentTimeForUpdate(); 57091 57092 { 57093 // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests 57094 if ('undefined' !== typeof jest) { 57095 warnIfUnmockedScheduler(current$1); 57096 warnIfNotScopedWithMatchingAct(current$1); 57097 } 57098 } 57099 57100 var suspenseConfig = requestCurrentSuspenseConfig(); 57101 var expirationTime = computeExpirationForFiber(currentTime, current$1, suspenseConfig); 57102 var context = getContextForSubtree(parentComponent); 57103 57104 if (container.context === null) { 57105 container.context = context; 57106 } else { 57107 container.pendingContext = context; 57108 } 57109 57110 { 57111 if (isRendering && current !== null && !didWarnAboutNestedUpdates) { 57112 didWarnAboutNestedUpdates = true; 57113 57114 error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown'); 57115 } 57116 } 57117 57118 var update = createUpdate(expirationTime, suspenseConfig); // Caution: React DevTools currently depends on this property 57119 // being called "element". 57120 57121 update.payload = { 57122 element: element 57123 }; 57124 callback = callback === undefined ? null : callback; 57125 57126 if (callback !== null) { 57127 { 57128 if (typeof callback !== 'function') { 57129 error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback); 57130 } 57131 } 57132 57133 update.callback = callback; 57134 } 57135 57136 enqueueUpdate(current$1, update); 57137 scheduleWork(current$1, expirationTime); 57138 return expirationTime; 57139} 57140function getPublicRootInstance(container) { 57141 var containerFiber = container.current; 57142 57143 if (!containerFiber.child) { 57144 return null; 57145 } 57146 57147 switch (containerFiber.child.tag) { 57148 case HostComponent: 57149 return getPublicInstance(containerFiber.child.stateNode); 57150 57151 default: 57152 return containerFiber.child.stateNode; 57153 } 57154} 57155 57156function markRetryTimeImpl(fiber, retryTime) { 57157 var suspenseState = fiber.memoizedState; 57158 57159 if (suspenseState !== null && suspenseState.dehydrated !== null) { 57160 if (suspenseState.retryTime < retryTime) { 57161 suspenseState.retryTime = retryTime; 57162 } 57163 } 57164} // Increases the priority of thennables when they resolve within this boundary. 57165 57166 57167function markRetryTimeIfNotHydrated(fiber, retryTime) { 57168 markRetryTimeImpl(fiber, retryTime); 57169 var alternate = fiber.alternate; 57170 57171 if (alternate) { 57172 markRetryTimeImpl(alternate, retryTime); 57173 } 57174} 57175 57176function attemptUserBlockingHydration$1(fiber) { 57177 if (fiber.tag !== SuspenseComponent) { 57178 // We ignore HostRoots here because we can't increase 57179 // their priority and they should not suspend on I/O, 57180 // since you have to wrap anything that might suspend in 57181 // Suspense. 57182 return; 57183 } 57184 57185 var expTime = computeInteractiveExpiration(requestCurrentTimeForUpdate()); 57186 scheduleWork(fiber, expTime); 57187 markRetryTimeIfNotHydrated(fiber, expTime); 57188} 57189function attemptContinuousHydration$1(fiber) { 57190 if (fiber.tag !== SuspenseComponent) { 57191 // We ignore HostRoots here because we can't increase 57192 // their priority and they should not suspend on I/O, 57193 // since you have to wrap anything that might suspend in 57194 // Suspense. 57195 return; 57196 } 57197 57198 scheduleWork(fiber, ContinuousHydration); 57199 markRetryTimeIfNotHydrated(fiber, ContinuousHydration); 57200} 57201function attemptHydrationAtCurrentPriority$1(fiber) { 57202 if (fiber.tag !== SuspenseComponent) { 57203 // We ignore HostRoots here because we can't increase 57204 // their priority other than synchronously flush it. 57205 return; 57206 } 57207 57208 var currentTime = requestCurrentTimeForUpdate(); 57209 var expTime = computeExpirationForFiber(currentTime, fiber, null); 57210 scheduleWork(fiber, expTime); 57211 markRetryTimeIfNotHydrated(fiber, expTime); 57212} 57213function findHostInstanceWithNoPortals(fiber) { 57214 var hostFiber = findCurrentHostFiberWithNoPortals(fiber); 57215 57216 if (hostFiber === null) { 57217 return null; 57218 } 57219 57220 if (hostFiber.tag === FundamentalComponent) { 57221 return hostFiber.stateNode.instance; 57222 } 57223 57224 return hostFiber.stateNode; 57225} 57226 57227var shouldSuspendImpl = function (fiber) { 57228 return false; 57229}; 57230 57231function shouldSuspend(fiber) { 57232 return shouldSuspendImpl(fiber); 57233} 57234var overrideHookState = null; 57235var overrideProps = null; 57236var scheduleUpdate = null; 57237var setSuspenseHandler = null; 57238 57239{ 57240 var copyWithSetImpl = function (obj, path, idx, value) { 57241 if (idx >= path.length) { 57242 return value; 57243 } 57244 57245 var key = path[idx]; 57246 var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); // $FlowFixMe number or string is fine here 57247 57248 updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value); 57249 return updated; 57250 }; 57251 57252 var copyWithSet = function (obj, path, value) { 57253 return copyWithSetImpl(obj, path, 0, value); 57254 }; // Support DevTools editable values for useState and useReducer. 57255 57256 57257 overrideHookState = function (fiber, id, path, value) { 57258 // For now, the "id" of stateful hooks is just the stateful hook index. 57259 // This may change in the future with e.g. nested hooks. 57260 var currentHook = fiber.memoizedState; 57261 57262 while (currentHook !== null && id > 0) { 57263 currentHook = currentHook.next; 57264 id--; 57265 } 57266 57267 if (currentHook !== null) { 57268 var newState = copyWithSet(currentHook.memoizedState, path, value); 57269 currentHook.memoizedState = newState; 57270 currentHook.baseState = newState; // We aren't actually adding an update to the queue, 57271 // because there is no update we can add for useReducer hooks that won't trigger an error. 57272 // (There's no appropriate action type for DevTools overrides.) 57273 // As a result though, React will see the scheduled update as a noop and bailout. 57274 // Shallow cloning props works as a workaround for now to bypass the bailout check. 57275 57276 fiber.memoizedProps = _assign({}, fiber.memoizedProps); 57277 scheduleWork(fiber, Sync); 57278 } 57279 }; // Support DevTools props for function components, forwardRef, memo, host components, etc. 57280 57281 57282 overrideProps = function (fiber, path, value) { 57283 fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value); 57284 57285 if (fiber.alternate) { 57286 fiber.alternate.pendingProps = fiber.pendingProps; 57287 } 57288 57289 scheduleWork(fiber, Sync); 57290 }; 57291 57292 scheduleUpdate = function (fiber) { 57293 scheduleWork(fiber, Sync); 57294 }; 57295 57296 setSuspenseHandler = function (newShouldSuspendImpl) { 57297 shouldSuspendImpl = newShouldSuspendImpl; 57298 }; 57299} 57300 57301function injectIntoDevTools(devToolsConfig) { 57302 var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; 57303 var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; 57304 return injectInternals(_assign({}, devToolsConfig, { 57305 overrideHookState: overrideHookState, 57306 overrideProps: overrideProps, 57307 setSuspenseHandler: setSuspenseHandler, 57308 scheduleUpdate: scheduleUpdate, 57309 currentDispatcherRef: ReactCurrentDispatcher, 57310 findHostInstanceByFiber: function (fiber) { 57311 var hostFiber = findCurrentHostFiber(fiber); 57312 57313 if (hostFiber === null) { 57314 return null; 57315 } 57316 57317 return hostFiber.stateNode; 57318 }, 57319 findFiberByHostInstance: function (instance) { 57320 if (!findFiberByHostInstance) { 57321 // Might not be implemented by the renderer. 57322 return null; 57323 } 57324 57325 return findFiberByHostInstance(instance); 57326 }, 57327 // React Refresh 57328 findHostInstancesForRefresh: findHostInstancesForRefresh , 57329 scheduleRefresh: scheduleRefresh , 57330 scheduleRoot: scheduleRoot , 57331 setRefreshHandler: setRefreshHandler , 57332 // Enables DevTools to append owner stacks to error messages in DEV mode. 57333 getCurrentFiber: function () { 57334 return current; 57335 } 57336 })); 57337} 57338var IsSomeRendererActing$1 = ReactSharedInternals.IsSomeRendererActing; 57339 57340function ReactDOMRoot(container, options) { 57341 this._internalRoot = createRootImpl(container, ConcurrentRoot, options); 57342} 57343 57344function ReactDOMBlockingRoot(container, tag, options) { 57345 this._internalRoot = createRootImpl(container, tag, options); 57346} 57347 57348ReactDOMRoot.prototype.render = ReactDOMBlockingRoot.prototype.render = function (children) { 57349 var root = this._internalRoot; 57350 57351 { 57352 if (typeof arguments[1] === 'function') { 57353 error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().'); 57354 } 57355 57356 var container = root.containerInfo; 57357 57358 if (container.nodeType !== COMMENT_NODE) { 57359 var hostInstance = findHostInstanceWithNoPortals(root.current); 57360 57361 if (hostInstance) { 57362 if (hostInstance.parentNode !== container) { 57363 error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + "root.unmount() to empty a root's container."); 57364 } 57365 } 57366 } 57367 } 57368 57369 updateContainer(children, root, null, null); 57370}; 57371 57372ReactDOMRoot.prototype.unmount = ReactDOMBlockingRoot.prototype.unmount = function () { 57373 { 57374 if (typeof arguments[0] === 'function') { 57375 error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().'); 57376 } 57377 } 57378 57379 var root = this._internalRoot; 57380 var container = root.containerInfo; 57381 updateContainer(null, root, null, function () { 57382 unmarkContainerAsRoot(container); 57383 }); 57384}; 57385 57386function createRootImpl(container, tag, options) { 57387 // Tag is either LegacyRoot or Concurrent Root 57388 var hydrate = options != null && options.hydrate === true; 57389 var hydrationCallbacks = options != null && options.hydrationOptions || null; 57390 var root = createContainer(container, tag, hydrate); 57391 markContainerAsRoot(root.current, container); 57392 57393 if (hydrate && tag !== LegacyRoot) { 57394 var doc = container.nodeType === DOCUMENT_NODE ? container : container.ownerDocument; 57395 eagerlyTrapReplayableEvents(container, doc); 57396 } 57397 57398 return root; 57399} 57400function createLegacyRoot(container, options) { 57401 return new ReactDOMBlockingRoot(container, LegacyRoot, options); 57402} 57403function isValidContainer(node) { 57404 return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable ')); 57405} 57406 57407var ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner; 57408var topLevelUpdateWarnings; 57409var warnedAboutHydrateAPI = false; 57410 57411{ 57412 topLevelUpdateWarnings = function (container) { 57413 if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) { 57414 var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer._internalRoot.current); 57415 57416 if (hostInstance) { 57417 if (hostInstance.parentNode !== container) { 57418 error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.'); 57419 } 57420 } 57421 } 57422 57423 var isRootRenderedBySomeReact = !!container._reactRootContainer; 57424 var rootEl = getReactRootElementInContainer(container); 57425 var hasNonRootReactChild = !!(rootEl && getInstanceFromNode$1(rootEl)); 57426 57427 if (hasNonRootReactChild && !isRootRenderedBySomeReact) { 57428 error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.'); 57429 } 57430 57431 if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') { 57432 error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.'); 57433 } 57434 }; 57435} 57436 57437function getReactRootElementInContainer(container) { 57438 if (!container) { 57439 return null; 57440 } 57441 57442 if (container.nodeType === DOCUMENT_NODE) { 57443 return container.documentElement; 57444 } else { 57445 return container.firstChild; 57446 } 57447} 57448 57449function shouldHydrateDueToLegacyHeuristic(container) { 57450 var rootElement = getReactRootElementInContainer(container); 57451 return !!(rootElement && rootElement.nodeType === ELEMENT_NODE && rootElement.hasAttribute(ROOT_ATTRIBUTE_NAME)); 57452} 57453 57454function legacyCreateRootFromDOMContainer(container, forceHydrate) { 57455 var shouldHydrate = forceHydrate || shouldHydrateDueToLegacyHeuristic(container); // First clear any existing content. 57456 57457 if (!shouldHydrate) { 57458 var warned = false; 57459 var rootSibling; 57460 57461 while (rootSibling = container.lastChild) { 57462 { 57463 if (!warned && rootSibling.nodeType === ELEMENT_NODE && rootSibling.hasAttribute(ROOT_ATTRIBUTE_NAME)) { 57464 warned = true; 57465 57466 error('render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.'); 57467 } 57468 } 57469 57470 container.removeChild(rootSibling); 57471 } 57472 } 57473 57474 { 57475 if (shouldHydrate && !forceHydrate && !warnedAboutHydrateAPI) { 57476 warnedAboutHydrateAPI = true; 57477 57478 warn('render(): Calling ReactDOM.render() to hydrate server-rendered markup ' + 'will stop working in React v17. Replace the ReactDOM.render() call ' + 'with ReactDOM.hydrate() if you want React to attach to the server HTML.'); 57479 } 57480 } 57481 57482 return createLegacyRoot(container, shouldHydrate ? { 57483 hydrate: true 57484 } : undefined); 57485} 57486 57487function warnOnInvalidCallback$1(callback, callerName) { 57488 { 57489 if (callback !== null && typeof callback !== 'function') { 57490 error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback); 57491 } 57492 } 57493} 57494 57495function legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) { 57496 { 57497 topLevelUpdateWarnings(container); 57498 warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render'); 57499 } // TODO: Without `any` type, Flow says "Property cannot be accessed on any 57500 // member of intersection type." Whyyyyyy. 57501 57502 57503 var root = container._reactRootContainer; 57504 var fiberRoot; 57505 57506 if (!root) { 57507 // Initial mount 57508 root = container._reactRootContainer = legacyCreateRootFromDOMContainer(container, forceHydrate); 57509 fiberRoot = root._internalRoot; 57510 57511 if (typeof callback === 'function') { 57512 var originalCallback = callback; 57513 57514 callback = function () { 57515 var instance = getPublicRootInstance(fiberRoot); 57516 originalCallback.call(instance); 57517 }; 57518 } // Initial mount should not be batched. 57519 57520 57521 unbatchedUpdates(function () { 57522 updateContainer(children, fiberRoot, parentComponent, callback); 57523 }); 57524 } else { 57525 fiberRoot = root._internalRoot; 57526 57527 if (typeof callback === 'function') { 57528 var _originalCallback = callback; 57529 57530 callback = function () { 57531 var instance = getPublicRootInstance(fiberRoot); 57532 57533 _originalCallback.call(instance); 57534 }; 57535 } // Update 57536 57537 57538 updateContainer(children, fiberRoot, parentComponent, callback); 57539 } 57540 57541 return getPublicRootInstance(fiberRoot); 57542} 57543 57544function findDOMNode(componentOrElement) { 57545 { 57546 var owner = ReactCurrentOwner$3.current; 57547 57548 if (owner !== null && owner.stateNode !== null) { 57549 var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender; 57550 57551 if (!warnedAboutRefsInRender) { 57552 error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(owner.type) || 'A component'); 57553 } 57554 57555 owner.stateNode._warnedAboutRefsInRender = true; 57556 } 57557 } 57558 57559 if (componentOrElement == null) { 57560 return null; 57561 } 57562 57563 if (componentOrElement.nodeType === ELEMENT_NODE) { 57564 return componentOrElement; 57565 } 57566 57567 { 57568 return findHostInstanceWithWarning(componentOrElement, 'findDOMNode'); 57569 } 57570} 57571function hydrate(element, container, callback) { 57572 if (!isValidContainer(container)) { 57573 { 57574 throw Error( "Target container is not a DOM element." ); 57575 } 57576 } 57577 57578 { 57579 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 57580 57581 if (isModernRoot) { 57582 error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call createRoot(container, {hydrate: true}).render(element)?'); 57583 } 57584 } // TODO: throw or warn if we couldn't hydrate? 57585 57586 57587 return legacyRenderSubtreeIntoContainer(null, element, container, true, callback); 57588} 57589function render(element, container, callback) { 57590 if (!isValidContainer(container)) { 57591 { 57592 throw Error( "Target container is not a DOM element." ); 57593 } 57594 } 57595 57596 { 57597 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 57598 57599 if (isModernRoot) { 57600 error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?'); 57601 } 57602 } 57603 57604 return legacyRenderSubtreeIntoContainer(null, element, container, false, callback); 57605} 57606function unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 57607 if (!isValidContainer(containerNode)) { 57608 { 57609 throw Error( "Target container is not a DOM element." ); 57610 } 57611 } 57612 57613 if (!(parentComponent != null && has(parentComponent))) { 57614 { 57615 throw Error( "parentComponent must be a valid React Component" ); 57616 } 57617 } 57618 57619 return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback); 57620} 57621function unmountComponentAtNode(container) { 57622 if (!isValidContainer(container)) { 57623 { 57624 throw Error( "unmountComponentAtNode(...): Target container is not a DOM element." ); 57625 } 57626 } 57627 57628 { 57629 var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined; 57630 57631 if (isModernRoot) { 57632 error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. Did you mean to call root.unmount()?'); 57633 } 57634 } 57635 57636 if (container._reactRootContainer) { 57637 { 57638 var rootEl = getReactRootElementInContainer(container); 57639 var renderedByDifferentReact = rootEl && !getInstanceFromNode$1(rootEl); 57640 57641 if (renderedByDifferentReact) { 57642 error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.'); 57643 } 57644 } // Unmount should not be batched. 57645 57646 57647 unbatchedUpdates(function () { 57648 legacyRenderSubtreeIntoContainer(null, null, container, false, function () { 57649 // $FlowFixMe This should probably use `delete container._reactRootContainer` 57650 container._reactRootContainer = null; 57651 unmarkContainerAsRoot(container); 57652 }); 57653 }); // If you call unmountComponentAtNode twice in quick succession, you'll 57654 // get `true` twice. That's probably fine? 57655 57656 return true; 57657 } else { 57658 { 57659 var _rootEl = getReactRootElementInContainer(container); 57660 57661 var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode$1(_rootEl)); // Check if the container itself is a React root node. 57662 57663 var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainer(container.parentNode) && !!container.parentNode._reactRootContainer; 57664 57665 if (hasNonRootReactChild) { 57666 error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.'); 57667 } 57668 } 57669 57670 return false; 57671 } 57672} 57673 57674function createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation. 57675implementation) { 57676 var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; 57677 return { 57678 // This tag allow us to uniquely identify this as a React Portal 57679 $$typeof: REACT_PORTAL_TYPE, 57680 key: key == null ? null : '' + key, 57681 children: children, 57682 containerInfo: containerInfo, 57683 implementation: implementation 57684 }; 57685} 57686 57687var ReactVersion = '16.14.0'; 57688 57689setAttemptUserBlockingHydration(attemptUserBlockingHydration$1); 57690setAttemptContinuousHydration(attemptContinuousHydration$1); 57691setAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1); 57692var didWarnAboutUnstableCreatePortal = false; 57693 57694{ 57695 if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype 57696 Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype 57697 Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') { 57698 error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); 57699 } 57700} 57701 57702setRestoreImplementation(restoreControlledState$3); 57703setBatchingImplementation(batchedUpdates$1, discreteUpdates$1, flushDiscreteUpdates, batchedEventUpdates$1); 57704 57705function createPortal$1(children, container) { 57706 var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 57707 57708 if (!isValidContainer(container)) { 57709 { 57710 throw Error( "Target container is not a DOM element." ); 57711 } 57712 } // TODO: pass ReactDOM portal implementation as third argument 57713 // $FlowFixMe The Flow type is opaque but there's no way to actually create it. 57714 57715 57716 return createPortal(children, container, null, key); 57717} 57718 57719function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 57720 57721 return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback); 57722} 57723 57724function unstable_createPortal(children, container) { 57725 var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 57726 57727 { 57728 if (!didWarnAboutUnstableCreatePortal) { 57729 didWarnAboutUnstableCreatePortal = true; 57730 57731 warn('The ReactDOM.unstable_createPortal() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactDOM.createPortal() instead. It has the exact same API, ' + 'but without the "unstable_" prefix.'); 57732 } 57733 } 57734 57735 return createPortal$1(children, container, key); 57736} 57737 57738var Internals = { 57739 // Keep in sync with ReactDOMUnstableNativeDependencies.js 57740 // ReactTestUtils.js, and ReactTestUtilsAct.js. This is an array for better minification. 57741 Events: [getInstanceFromNode$1, getNodeFromInstance$1, getFiberCurrentPropsFromNode$1, injectEventPluginsByName, eventNameDispatchConfigs, accumulateTwoPhaseDispatches, accumulateDirectDispatches, enqueueStateRestore, restoreStateIfNeeded, dispatchEvent, runEventsInBatch, flushPassiveEffects, IsThisRendererActing] 57742}; 57743var foundDevTools = injectIntoDevTools({ 57744 findFiberByHostInstance: getClosestInstanceFromNode, 57745 bundleType: 1 , 57746 version: ReactVersion, 57747 rendererPackageName: 'react-dom' 57748}); 57749 57750{ 57751 if (!foundDevTools && canUseDOM && window.top === window.self) { 57752 // If we're in Chrome or Firefox, provide a download link if not installed. 57753 if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { 57754 var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://. 57755 57756 if (/^(https?|file):$/.test(protocol)) { 57757 // eslint-disable-next-line react-internal/no-production-logging 57758 console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://fb.me/react-devtools' + (protocol === 'file:' ? '\nYou might need to use a local HTTP server (instead of file://): ' + 'https://fb.me/react-devtools-faq' : ''), 'font-weight:bold'); 57759 } 57760 } 57761 } 57762} 57763 57764exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; 57765exports.createPortal = createPortal$1; 57766exports.findDOMNode = findDOMNode; 57767exports.flushSync = flushSync; 57768exports.hydrate = hydrate; 57769exports.render = render; 57770exports.unmountComponentAtNode = unmountComponentAtNode; 57771exports.unstable_batchedUpdates = batchedUpdates$1; 57772exports.unstable_createPortal = unstable_createPortal; 57773exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer; 57774exports.version = ReactVersion; 57775 })(); 57776} 57777 57778 57779/***/ }), 57780
vendor: 1,447 bytes, lines 57781-57825
57781/***/ "./node_modules/react-dom/index.js": 57782/*!*****************************************!*\ 57783 !*** ./node_modules/react-dom/index.js ***! 57784 \*****************************************/ 57785/*! no static exports found */ 57786/***/ (function(module, exports, __webpack_require__) { 57787 57788"use strict"; 57789 57790 57791function checkDCE() { 57792 /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 57793 if ( 57794 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || 57795 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' 57796 ) { 57797 return; 57798 } 57799 if (true) { 57800 // This branch is unreachable because this function is only called 57801 // in production, but the condition is true only in development. 57802 // Therefore if the branch is still here, dead code elimination wasn't 57803 // properly applied. 57804 // Don't change the message. React DevTools relies on it. Also make sure 57805 // this message doesn't occur elsewhere in this function, or it will cause 57806 // a false positive. 57807 throw new Error('^_^'); 57808 } 57809 try { 57810 // Verify that the code above has been dead code eliminated (DCE'd). 57811 __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); 57812 } catch (err) { 57813 // DevTools shouldn't crash React, no matter what. 57814 // We should still report in case we break this code. 57815 console.error(err); 57816 } 57817} 57818 57819if (false) {} else { 57820 module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ "./node_modules/react-dom/cjs/react-dom.development.js"); 57821} 57822 57823 57824/***/ }), 57825
vendor: 3,155 bytes, lines 57826-57931
57826/***/ "./node_modules/react-fast-compare/index.js": 57827/*!**************************************************!*\ 57828 !*** ./node_modules/react-fast-compare/index.js ***! 57829 \**************************************************/ 57830/*! no static exports found */ 57831/***/ (function(module, exports, __webpack_require__) { 57832 57833"use strict"; 57834 57835 57836var isArray = Array.isArray; 57837var keyList = Object.keys; 57838var hasProp = Object.prototype.hasOwnProperty; 57839var hasElementType = typeof Element !== 'undefined'; 57840 57841function equal(a, b) { 57842 // fast-deep-equal index.js 2.0.1 57843 if (a === b) return true; 57844 57845 if (a && b && typeof a == 'object' && typeof b == 'object') { 57846 var arrA = isArray(a) 57847 , arrB = isArray(b) 57848 , i 57849 , length 57850 , key; 57851 57852 if (arrA && arrB) { 57853 length = a.length; 57854 if (length != b.length) return false; 57855 for (i = length; i-- !== 0;) 57856 if (!equal(a[i], b[i])) return false; 57857 return true; 57858 } 57859 57860 if (arrA != arrB) return false; 57861 57862 var dateA = a instanceof Date 57863 , dateB = b instanceof Date; 57864 if (dateA != dateB) return false; 57865 if (dateA && dateB) return a.getTime() == b.getTime(); 57866 57867 var regexpA = a instanceof RegExp 57868 , regexpB = b instanceof RegExp; 57869 if (regexpA != regexpB) return false; 57870 if (regexpA && regexpB) return a.toString() == b.toString(); 57871 57872 var keys = keyList(a); 57873 length = keys.length; 57874 57875 if (length !== keyList(b).length) 57876 return false; 57877 57878 for (i = length; i-- !== 0;) 57879 if (!hasProp.call(b, keys[i])) return false; 57880 // end fast-deep-equal 57881 57882 // start react-fast-compare 57883 // custom handling for DOM elements 57884 if (hasElementType && a instanceof Element && b instanceof Element) 57885 return a === b; 57886 57887 // custom handling for React 57888 for (i = length; i-- !== 0;) { 57889 key = keys[i]; 57890 if (key === '_owner' && a.$$typeof) { 57891 // React-specific: avoid traversing React elements' _owner. 57892 // _owner contains circular references 57893 // and is not needed when comparing the actual elements (and not their owners) 57894 // .$$typeof and ._store on just reasonable markers of a react element 57895 continue; 57896 } else { 57897 // all other properties should be traversed as usual 57898 if (!equal(a[key], b[key])) return false; 57899 } 57900 } 57901 // end react-fast-compare 57902 57903 // fast-deep-equal index.js 2.0.1 57904 return true; 57905 } 57906 57907 return a !== a && b !== b; 57908} 57909// end fast-deep-equal 57910 57911module.exports = function exportedEqual(a, b) { 57912 try { 57913 return equal(a, b); 57914 } catch (error) { 57915 if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) { 57916 // warn on circular references, don't crash 57917 // browsers give this different errors name and messages: 57918 // chrome/safari: "RangeError", "Maximum call stack size exceeded" 57919 // firefox: "InternalError", too much recursion" 57920 // edge: "Error", "Out of stack space" 57921 console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message); 57922 return false; 57923 } 57924 // some other error. we should definitely know about these 57925 throw error; 57926 } 57927}; 57928 57929 57930/***/ }), 57931
vendor: 7,304 bytes, lines 57932-58124
57932/***/ "./node_modules/react-is/cjs/react-is.development.js": 57933/*!***********************************************************!*\ 57934 !*** ./node_modules/react-is/cjs/react-is.development.js ***! 57935 \***********************************************************/ 57936/*! no static exports found */ 57937/***/ (function(module, exports, __webpack_require__) { 57938 57939"use strict"; 57940/** @license React v16.13.1 57941 * react-is.development.js 57942 * 57943 * Copyright (c) Facebook, Inc. and its affiliates. 57944 * 57945 * This source code is licensed under the MIT license found in the 57946 * LICENSE file in the root directory of this source tree. 57947 */ 57948 57949 57950 57951 57952 57953if (true) { 57954 (function() { 57955'use strict'; 57956 57957// The Symbol used to tag the ReactElement-like types. If there is no native Symbol 57958// nor polyfill, then a plain number is used for performance. 57959var hasSymbol = typeof Symbol === 'function' && Symbol.for; 57960var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; 57961var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; 57962var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; 57963var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; 57964var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; 57965var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; 57966var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary 57967// (unstable) APIs that have been removed. Can we remove the symbols? 57968 57969var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; 57970var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; 57971var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; 57972var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; 57973var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; 57974var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; 57975var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; 57976var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; 57977var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; 57978var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; 57979var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; 57980 57981function isValidElementType(type) { 57982 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. 57983 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); 57984} 57985 57986function typeOf(object) { 57987 if (typeof object === 'object' && object !== null) { 57988 var $$typeof = object.$$typeof; 57989 57990 switch ($$typeof) { 57991 case REACT_ELEMENT_TYPE: 57992 var type = object.type; 57993 57994 switch (type) { 57995 case REACT_ASYNC_MODE_TYPE: 57996 case REACT_CONCURRENT_MODE_TYPE: 57997 case REACT_FRAGMENT_TYPE: 57998 case REACT_PROFILER_TYPE: 57999 case REACT_STRICT_MODE_TYPE: 58000 case REACT_SUSPENSE_TYPE: 58001 return type; 58002 58003 default: 58004 var $$typeofType = type && type.$$typeof; 58005 58006 switch ($$typeofType) { 58007 case REACT_CONTEXT_TYPE: 58008 case REACT_FORWARD_REF_TYPE: 58009 case REACT_LAZY_TYPE: 58010 case REACT_MEMO_TYPE: 58011 case REACT_PROVIDER_TYPE: 58012 return $$typeofType; 58013 58014 default: 58015 return $$typeof; 58016 } 58017 58018 } 58019 58020 case REACT_PORTAL_TYPE: 58021 return $$typeof; 58022 } 58023 } 58024 58025 return undefined; 58026} // AsyncMode is deprecated along with isAsyncMode 58027 58028var AsyncMode = REACT_ASYNC_MODE_TYPE; 58029var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; 58030var ContextConsumer = REACT_CONTEXT_TYPE; 58031var ContextProvider = REACT_PROVIDER_TYPE; 58032var Element = REACT_ELEMENT_TYPE; 58033var ForwardRef = REACT_FORWARD_REF_TYPE; 58034var Fragment = REACT_FRAGMENT_TYPE; 58035var Lazy = REACT_LAZY_TYPE; 58036var Memo = REACT_MEMO_TYPE; 58037var Portal = REACT_PORTAL_TYPE; 58038var Profiler = REACT_PROFILER_TYPE; 58039var StrictMode = REACT_STRICT_MODE_TYPE; 58040var Suspense = REACT_SUSPENSE_TYPE; 58041var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated 58042 58043function isAsyncMode(object) { 58044 { 58045 if (!hasWarnedAboutDeprecatedIsAsyncMode) { 58046 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint 58047 58048 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); 58049 } 58050 } 58051 58052 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; 58053} 58054function isConcurrentMode(object) { 58055 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; 58056} 58057function isContextConsumer(object) { 58058 return typeOf(object) === REACT_CONTEXT_TYPE; 58059} 58060function isContextProvider(object) { 58061 return typeOf(object) === REACT_PROVIDER_TYPE; 58062} 58063function isElement(object) { 58064 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; 58065} 58066function isForwardRef(object) { 58067 return typeOf(object) === REACT_FORWARD_REF_TYPE; 58068} 58069function isFragment(object) { 58070 return typeOf(object) === REACT_FRAGMENT_TYPE; 58071} 58072function isLazy(object) { 58073 return typeOf(object) === REACT_LAZY_TYPE; 58074} 58075function isMemo(object) { 58076 return typeOf(object) === REACT_MEMO_TYPE; 58077} 58078function isPortal(object) { 58079 return typeOf(object) === REACT_PORTAL_TYPE; 58080} 58081function isProfiler(object) { 58082 return typeOf(object) === REACT_PROFILER_TYPE; 58083} 58084function isStrictMode(object) { 58085 return typeOf(object) === REACT_STRICT_MODE_TYPE; 58086} 58087function isSuspense(object) { 58088 return typeOf(object) === REACT_SUSPENSE_TYPE; 58089} 58090 58091exports.AsyncMode = AsyncMode; 58092exports.ConcurrentMode = ConcurrentMode; 58093exports.ContextConsumer = ContextConsumer; 58094exports.ContextProvider = ContextProvider; 58095exports.Element = Element; 58096exports.ForwardRef = ForwardRef; 58097exports.Fragment = Fragment; 58098exports.Lazy = Lazy; 58099exports.Memo = Memo; 58100exports.Portal = Portal; 58101exports.Profiler = Profiler; 58102exports.StrictMode = StrictMode; 58103exports.Suspense = Suspense; 58104exports.isAsyncMode = isAsyncMode; 58105exports.isConcurrentMode = isConcurrentMode; 58106exports.isContextConsumer = isContextConsumer; 58107exports.isContextProvider = isContextProvider; 58108exports.isElement = isElement; 58109exports.isForwardRef = isForwardRef; 58110exports.isFragment = isFragment; 58111exports.isLazy = isLazy; 58112exports.isMemo = isMemo; 58113exports.isPortal = isPortal; 58114exports.isProfiler = isProfiler; 58115exports.isStrictMode = isStrictMode; 58116exports.isSuspense = isSuspense; 58117exports.isValidElementType = isValidElementType; 58118exports.typeOf = typeOf; 58119 })(); 58120} 58121 58122 58123/***/ }), 58124
vendor: 451 bytes, lines 58125-58141
58125/***/ "./node_modules/react-is/index.js": 58126/*!****************************************!*\ 58127 !*** ./node_modules/react-is/index.js ***! 58128 \****************************************/ 58129/*! no static exports found */ 58130/***/ (function(module, exports, __webpack_require__) { 58131 58132"use strict"; 58133 58134 58135if (false) {} else { 58136 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js"); 58137} 58138 58139 58140/***/ }), 58141
vendor: 13,505 bytes, lines 58142-58152
58142/***/ "./node_modules/react-text-mask/dist/reactTextMask.js": 58143/*!************************************************************!*\ 58144 !*** ./node_modules/react-text-mask/dist/reactTextMask.js ***! 58145 \************************************************************/ 58146/*! no static exports found */ 58147/***/ (function(module, exports, __webpack_require__) { 58148 58149!function(e,t){ true?module.exports=t(__webpack_require__(/*! react */ "./node_modules/react/index.js")):undefined}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.conformToMask=void 0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),f=r(3);Object.defineProperty(t,"conformToMask",{enumerable:!0,get:function(){return n(f).default}});var c=r(11),p=n(c),d=r(9),h=n(d),v=r(5),y=n(v),m=r(2),b=function(e){function t(){var e;i(this,t);for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];var u=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return u.setRef=u.setRef.bind(u),u.onBlur=u.onBlur.bind(u),u.onChange=u.onChange.bind(u),u}return u(t,e),l(t,[{key:"setRef",value:function(e){this.inputElement=e}},{key:"initTextMask",value:function(){var e=this.props,t=this.props.value;this.textMaskInputElement=(0,y.default)(s({inputElement:this.inputElement},e)),this.textMaskInputElement.update(t)}},{key:"componentDidMount",value:function(){this.initTextMask()}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.value,n=t.pipe,o=t.mask,i=t.guide,a=t.placeholderChar,u=t.showMask,s={guide:i,placeholderChar:a,showMask:u},l="function"==typeof n&&"function"==typeof e.pipe?n.toString()!==e.pipe.toString():(0,m.isNil)(n)&&!(0,m.isNil)(e.pipe)||!(0,m.isNil)(n)&&(0,m.isNil)(e.pipe),f=o.toString()!==e.mask.toString(),c=Object.keys(s).some(function(t){return s[t]!==e[t]})||f||l,p=r!==this.inputElement.value;(p||c)&&this.initTextMask()}},{key:"render",value:function e(){var t=this.props,e=t.render,r=o(t,["render"]);return delete r.mask,delete r.guide,delete r.pipe,delete r.placeholderChar,delete r.keepCharPositions,delete r.value,delete r.onBlur,delete r.onChange,delete r.showMask,e(this.setRef,s({onBlur:this.onBlur,onChange:this.onChange,defaultValue:this.props.value},r))}},{key:"onChange",value:function(e){this.textMaskInputElement.update(),"function"==typeof this.props.onChange&&this.props.onChange(e)}},{key:"onBlur",value:function(e){"function"==typeof this.props.onBlur&&this.props.onBlur(e)}}]),t}(p.default.PureComponent);t.default=b,b.propTypes={mask:h.default.oneOfType([h.default.array,h.default.func,h.default.bool,h.default.shape({mask:h.default.oneOfType([h.default.array,h.default.func]),pipe:h.default.func})]).isRequired,guide:h.default.bool,value:h.default.oneOfType([h.default.string,h.default.number]),pipe:h.default.func,placeholderChar:h.default.string,keepCharPositions:h.default.bool,showMask:h.default.bool},b.defaultProps={render:function(e,t){return p.default.createElement("input",s({ref:e},t))}}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.placeholderChar="_",t.strFunction="function"},function(e,t,r){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.placeholderChar;if(!o(e))throw new Error("Text-mask:convertMaskToPlaceholder; The mask property must be an array.");if(e.indexOf(t)!==-1)throw new Error("Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\n\n"+("The placeholder character that was received is: "+JSON.stringify(t)+"\n\n")+("The mask that was received is: "+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?t:e}).join("")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return"string"==typeof e||e instanceof String}function a(e){return"number"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){return"undefined"==typeof e||null===e}function s(e){for(var t=[],r=void 0;r=e.indexOf(c),r!==-1;)t.push(r),e.splice(r,1);return{maskWithoutCaretTraps:e,indexes:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.convertMaskToPlaceholder=n,t.isArray=o,t.isString=i,t.isNumber=a,t.isNil=u,t.processCaretTraps=s;var l=r(1),f=[],c="[]"},function(e,t,r){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(t)){if(("undefined"==typeof t?"undefined":o(t))!==a.strFunction)throw new Error("Text-mask:conformToMask; The mask property must be an array.");t=t(e,r),t=(0,i.processCaretTraps)(t).maskWithoutCaretTraps}var n=r.guide,l=void 0===n||n,f=r.previousConformedValue,c=void 0===f?s:f,p=r.placeholderChar,d=void 0===p?a.placeholderChar:p,h=r.placeholder,v=void 0===h?(0,i.convertMaskToPlaceholder)(t,d):h,y=r.currentCaretPosition,m=r.keepCharPositions,b=l===!1&&void 0!==c,g=e.length,k=c.length,C=v.length,O=t.length,T=g-k,P=T>0,x=y+(P?-T:0),w=x+Math.abs(T);if(m===!0&&!P){for(var S=s,_=x;_<w;_++)v[_]===d&&(S+=d);e=e.slice(0,x)+S+e.slice(x,g)}for(var M=e.split(s).map(function(e,t){return{char:e,isNew:t>=x&&t<w}}),j=g-1;j>=0;j--){var E=M[j].char;if(E!==d){var R=j>=x&&k===O;E===v[R?j-T:j]&&M.splice(j,1)}}var V=s,N=!1;e:for(var A=0;A<C;A++){var B=v[A];if(B===d){if(M.length>0)for(;M.length>0;){var I=M.shift(),F=I.char,q=I.isNew;if(F===d&&b!==!0){V+=d;continue e}if(t[A].test(F)){if(m===!0&&q!==!1&&c!==s&&l!==!1&&P){for(var D=M.length,L=null,W=0;W<D;W++){var J=M[W];if(J.char!==d&&J.isNew===!1)break;if(J.char===d){L=W;break}}null!==L?(V+=F,M.splice(L,1)):A--}else V+=F;continue e}N=!0}b===!1&&(V+=v.substr(A,C));break}V+=B}if(b&&P===!1){for(var U=null,H=0;H<V.length;H++)v[H]===d&&(U=H);V=null!==U?V.substr(0,U+1):s}return{conformedValue:V,meta:{someCharsRejected:N}}}Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=n;var i=r(2),a=r(1),u=[],s=""},function(e,t){"use strict";function r(e){var t=e.previousConformedValue,r=void 0===t?o:t,i=e.previousPlaceholder,a=void 0===i?o:i,u=e.currentCaretPosition,s=void 0===u?0:u,l=e.conformedValue,f=e.rawValue,c=e.placeholderChar,p=e.placeholder,d=e.indexesOfPipedChars,h=void 0===d?n:d,v=e.caretTrapIndexes,y=void 0===v?n:v;if(0===s||!f.length)return 0;var m=f.length,b=r.length,g=p.length,k=l.length,C=m-b,O=C>0,T=0===b,P=C>1&&!O&&!T;if(P)return s;var x=O&&(r===l||l===p),w=0,S=void 0,_=void 0;if(x)w=s-C;else{var M=l.toLowerCase(),j=f.toLowerCase(),E=j.substr(0,s).split(o),R=E.filter(function(e){return M.indexOf(e)!==-1});_=R[R.length-1];var V=a.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,N=p.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,A=N!==V,B=void 0!==a[R.length-1]&&void 0!==p[R.length-2]&&a[R.length-1]!==c&&a[R.length-1]!==p[R.length-1]&&a[R.length-1]===p[R.length-2];!O&&(A||B)&&V>0&&p.indexOf(_)>-1&&void 0!==f[s]&&(S=!0,_=f[s]);for(var I=h.map(function(e){return M[e]}),F=I.filter(function(e){return e===_}).length,q=R.filter(function(e){return e===_}).length,D=p.substr(0,p.indexOf(c)).split(o).filter(function(e,t){return e===_&&f[t]!==e}).length,L=D+q+F+(S?1:0),W=0,J=0;J<k;J++){var U=M[J];if(w=J+1,U===_&&W++,W>=L)break}}if(O){for(var H=w,Y=w;Y<=g;Y++)if(p[Y]===c&&(H=Y),p[Y]===c||y.indexOf(Y)!==-1||Y===g)return H}else if(S){for(var z=w-1;z>=0;z--)if(l[z]===_||y.indexOf(z)!==-1||0===z)return z}else for(var G=w;G>=0;G--)if(p[G-1]===c||y.indexOf(G)!==-1||0===G)return G}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var n=[],o=""},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:t,update:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,l=n.mask,c=n.guide,y=n.pipe,b=n.placeholderChar,g=void 0===b?h.placeholderChar:b,k=n.keepCharPositions,C=void 0!==k&&k,O=n.showMask,T=void 0!==O&&O;if("undefined"==typeof r&&(r=o.value),r!==t.previousConformedValue){("undefined"==typeof l?"undefined":s(l))===m&&void 0!==l.pipe&&void 0!==l.mask&&(y=l.pipe,l=l.mask);var P=void 0,x=void 0;if(l instanceof Array&&(P=(0,d.convertMaskToPlaceholder)(l,g)),l!==!1){var w=a(r),S=o.selectionEnd,_=t.previousConformedValue,M=t.previousPlaceholder,j=void 0;if(("undefined"==typeof l?"undefined":s(l))===h.strFunction){if(x=l(w,{currentCaretPosition:S,previousConformedValue:_,placeholderChar:g}),x===!1)return;var E=(0,d.processCaretTraps)(x),R=E.maskWithoutCaretTraps,V=E.indexes;x=R,j=V,P=(0,d.convertMaskToPlaceholder)(x,g)}else x=l;var N={previousConformedValue:_,guide:c,placeholderChar:g,pipe:y,placeholder:P,currentCaretPosition:S,keepCharPositions:C},A=(0,p.default)(w,x,N),B=A.conformedValue,I=("undefined"==typeof y?"undefined":s(y))===h.strFunction,F={};I&&(F=y(B,u({rawValue:w},N)),F===!1?F={value:_,rejected:!0}:(0,d.isString)(F)&&(F={value:F}));var q=I?F.value:B,D=(0,f.default)({previousConformedValue:_,previousPlaceholder:M,conformedValue:q,placeholder:P,rawValue:w,currentCaretPosition:S,placeholderChar:g,indexesOfPipedChars:F.indexesOfPipedChars,caretTrapIndexes:j}),L=q===P&&0===D,W=T?P:v,J=L?W:q;t.previousConformedValue=J,t.previousPlaceholder=P,o.value!==J&&(o.value=J,i(o,D))}}}}}function i(e,t){document.activeElement===e&&(b?g(function(){return e.setSelectionRange(t,t,y)},0):e.setSelectionRange(t,t,y))}function a(e){if((0,d.isString)(e))return e;if((0,d.isNumber)(e))return String(e);if(void 0===e||null===e)return v;throw new Error("The 'value' provided to Text Mask needs to be a string or a number. The value received was:\n\n "+JSON.stringify(e))}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var l=r(4),f=n(l),c=r(3),p=n(c),d=r(2),h=r(1),v="",y="none",m="object",b="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),g="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:setTimeout},function(e,t){"use strict";function r(e){return function(){return e}}var n=function(){};n.thatReturns=r,n.thatReturnsFalse=r(!1),n.thatReturnsTrue=r(!0),n.thatReturnsNull=r(null),n.thatReturnsThis=function(){return this},n.thatReturnsArgument=function(e){return e},e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,i,a,u,s){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[r,n,i,a,u,s],c=0;l=new Error(t.replace(/%s/g,function(){return f[c++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=n},function(e,t,r){"use strict";var n=r(6),o=r(7),i=r(10);e.exports=function(){function e(e,t,r,n,a,u){u!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return r.checkPropTypes=n,r.PropTypes=r,r}},function(e,t,r){"use strict";"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports=r(8)()},function(e,t){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=r},function(t,r){t.exports=e}])}); 58150 58151/***/ }), 58152
vendor: 61,065 bytes, lines 58153-60076
58153/***/ "./node_modules/react/cjs/react.development.js": 58154/*!*****************************************************!*\ 58155 !*** ./node_modules/react/cjs/react.development.js ***! 58156 \*****************************************************/ 58157/*! no static exports found */ 58158/***/ (function(module, exports, __webpack_require__) { 58159 58160"use strict"; 58161/** @license React v16.14.0 58162 * react.development.js 58163 * 58164 * Copyright (c) Facebook, Inc. and its affiliates. 58165 * 58166 * This source code is licensed under the MIT license found in the 58167 * LICENSE file in the root directory of this source tree. 58168 */ 58169 58170 58171 58172 58173 58174if (true) { 58175 (function() { 58176'use strict'; 58177 58178var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); 58179var checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); 58180 58181var ReactVersion = '16.14.0'; 58182 58183// The Symbol used to tag the ReactElement-like types. If there is no native Symbol 58184// nor polyfill, then a plain number is used for performance. 58185var hasSymbol = typeof Symbol === 'function' && Symbol.for; 58186var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; 58187var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; 58188var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; 58189var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; 58190var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; 58191var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; 58192var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary 58193var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; 58194var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; 58195var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; 58196var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; 58197var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; 58198var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; 58199var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; 58200var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; 58201var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; 58202var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; 58203var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; 58204var FAUX_ITERATOR_SYMBOL = '@@iterator'; 58205function getIteratorFn(maybeIterable) { 58206 if (maybeIterable === null || typeof maybeIterable !== 'object') { 58207 return null; 58208 } 58209 58210 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; 58211 58212 if (typeof maybeIterator === 'function') { 58213 return maybeIterator; 58214 } 58215 58216 return null; 58217} 58218 58219/** 58220 * Keeps track of the current dispatcher. 58221 */ 58222var ReactCurrentDispatcher = { 58223 /** 58224 * @internal 58225 * @type {ReactComponent} 58226 */ 58227 current: null 58228}; 58229 58230/** 58231 * Keeps track of the current batch's configuration such as how long an update 58232 * should suspend for if it needs to. 58233 */ 58234var ReactCurrentBatchConfig = { 58235 suspense: null 58236}; 58237 58238/** 58239 * Keeps track of the current owner. 58240 * 58241 * The current owner is the component who should own any components that are 58242 * currently being constructed. 58243 */ 58244var ReactCurrentOwner = { 58245 /** 58246 * @internal 58247 * @type {ReactComponent} 58248 */ 58249 current: null 58250}; 58251 58252var BEFORE_SLASH_RE = /^(.*)[\\\/]/; 58253function describeComponentFrame (name, source, ownerName) { 58254 var sourceInfo = ''; 58255 58256 if (source) { 58257 var path = source.fileName; 58258 var fileName = path.replace(BEFORE_SLASH_RE, ''); 58259 58260 { 58261 // In DEV, include code for a common special case: 58262 // prefer "folder/index.js" instead of just "index.js". 58263 if (/^index\./.test(fileName)) { 58264 var match = path.match(BEFORE_SLASH_RE); 58265 58266 if (match) { 58267 var pathBeforeSlash = match[1]; 58268 58269 if (pathBeforeSlash) { 58270 var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); 58271 fileName = folderName + '/' + fileName; 58272 } 58273 } 58274 } 58275 } 58276 58277 sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; 58278 } else if (ownerName) { 58279 sourceInfo = ' (created by ' + ownerName + ')'; 58280 } 58281 58282 return '\n in ' + (name || 'Unknown') + sourceInfo; 58283} 58284 58285var Resolved = 1; 58286function refineResolvedLazyComponent(lazyComponent) { 58287 return lazyComponent._status === Resolved ? lazyComponent._result : null; 58288} 58289 58290function getWrappedName(outerType, innerType, wrapperName) { 58291 var functionName = innerType.displayName || innerType.name || ''; 58292 return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); 58293} 58294 58295function getComponentName(type) { 58296 if (type == null) { 58297 // Host root, text node or just invalid type. 58298 return null; 58299 } 58300 58301 { 58302 if (typeof type.tag === 'number') { 58303 error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); 58304 } 58305 } 58306 58307 if (typeof type === 'function') { 58308 return type.displayName || type.name || null; 58309 } 58310 58311 if (typeof type === 'string') { 58312 return type; 58313 } 58314 58315 switch (type) { 58316 case REACT_FRAGMENT_TYPE: 58317 return 'Fragment'; 58318 58319 case REACT_PORTAL_TYPE: 58320 return 'Portal'; 58321 58322 case REACT_PROFILER_TYPE: 58323 return "Profiler"; 58324 58325 case REACT_STRICT_MODE_TYPE: 58326 return 'StrictMode'; 58327 58328 case REACT_SUSPENSE_TYPE: 58329 return 'Suspense'; 58330 58331 case REACT_SUSPENSE_LIST_TYPE: 58332 return 'SuspenseList'; 58333 } 58334 58335 if (typeof type === 'object') { 58336 switch (type.$$typeof) { 58337 case REACT_CONTEXT_TYPE: 58338 return 'Context.Consumer'; 58339 58340 case REACT_PROVIDER_TYPE: 58341 return 'Context.Provider'; 58342 58343 case REACT_FORWARD_REF_TYPE: 58344 return getWrappedName(type, type.render, 'ForwardRef'); 58345 58346 case REACT_MEMO_TYPE: 58347 return getComponentName(type.type); 58348 58349 case REACT_BLOCK_TYPE: 58350 return getComponentName(type.render); 58351 58352 case REACT_LAZY_TYPE: 58353 { 58354 var thenable = type; 58355 var resolvedThenable = refineResolvedLazyComponent(thenable); 58356 58357 if (resolvedThenable) { 58358 return getComponentName(resolvedThenable); 58359 } 58360 58361 break; 58362 } 58363 } 58364 } 58365 58366 return null; 58367} 58368 58369var ReactDebugCurrentFrame = {}; 58370var currentlyValidatingElement = null; 58371function setCurrentlyValidatingElement(element) { 58372 { 58373 currentlyValidatingElement = element; 58374 } 58375} 58376 58377{ 58378 // Stack implementation injected by the current renderer. 58379 ReactDebugCurrentFrame.getCurrentStack = null; 58380 58381 ReactDebugCurrentFrame.getStackAddendum = function () { 58382 var stack = ''; // Add an extra top frame while an element is being validated 58383 58384 if (currentlyValidatingElement) { 58385 var name = getComponentName(currentlyValidatingElement.type); 58386 var owner = currentlyValidatingElement._owner; 58387 stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type)); 58388 } // Delegate to the injected renderer-specific implementation 58389 58390 58391 var impl = ReactDebugCurrentFrame.getCurrentStack; 58392 58393 if (impl) { 58394 stack += impl() || ''; 58395 } 58396 58397 return stack; 58398 }; 58399} 58400 58401/** 58402 * Used by act() to track whether you're inside an act() scope. 58403 */ 58404var IsSomeRendererActing = { 58405 current: false 58406}; 58407 58408var ReactSharedInternals = { 58409 ReactCurrentDispatcher: ReactCurrentDispatcher, 58410 ReactCurrentBatchConfig: ReactCurrentBatchConfig, 58411 ReactCurrentOwner: ReactCurrentOwner, 58412 IsSomeRendererActing: IsSomeRendererActing, 58413 // Used by renderers to avoid bundling object-assign twice in UMD bundles: 58414 assign: _assign 58415}; 58416 58417{ 58418 _assign(ReactSharedInternals, { 58419 // These should not be included in production. 58420 ReactDebugCurrentFrame: ReactDebugCurrentFrame, 58421 // Shim for React DOM 16.0.0 which still destructured (but not used) this. 58422 // TODO: remove in React 17.0. 58423 ReactComponentTreeHook: {} 58424 }); 58425} 58426 58427// by calls to these methods by a Babel plugin. 58428// 58429// In PROD (or in packages without access to React internals), 58430// they are left as they are instead. 58431 58432function warn(format) { 58433 { 58434 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 58435 args[_key - 1] = arguments[_key]; 58436 } 58437 58438 printWarning('warn', format, args); 58439 } 58440} 58441function error(format) { 58442 { 58443 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 58444 args[_key2 - 1] = arguments[_key2]; 58445 } 58446 58447 printWarning('error', format, args); 58448 } 58449} 58450 58451function printWarning(level, format, args) { 58452 // When changing this logic, you might want to also 58453 // update consoleWithStackDev.www.js as well. 58454 { 58455 var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n in') === 0; 58456 58457 if (!hasExistingStack) { 58458 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 58459 var stack = ReactDebugCurrentFrame.getStackAddendum(); 58460 58461 if (stack !== '') { 58462 format += '%s'; 58463 args = args.concat([stack]); 58464 } 58465 } 58466 58467 var argsWithFormat = args.map(function (item) { 58468 return '' + item; 58469 }); // Careful: RN currently depends on this prefix 58470 58471 argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it 58472 // breaks IE9: https://github.com/facebook/react/issues/13610 58473 // eslint-disable-next-line react-internal/no-production-logging 58474 58475 Function.prototype.apply.call(console[level], console, argsWithFormat); 58476 58477 try { 58478 // --- Welcome to debugging React --- 58479 // This error was thrown as a convenience so that you can use this stack 58480 // to find the callsite that caused this warning to fire. 58481 var argIndex = 0; 58482 var message = 'Warning: ' + format.replace(/%s/g, function () { 58483 return args[argIndex++]; 58484 }); 58485 throw new Error(message); 58486 } catch (x) {} 58487 } 58488} 58489 58490var didWarnStateUpdateForUnmountedComponent = {}; 58491 58492function warnNoop(publicInstance, callerName) { 58493 { 58494 var _constructor = publicInstance.constructor; 58495 var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass'; 58496 var warningKey = componentName + "." + callerName; 58497 58498 if (didWarnStateUpdateForUnmountedComponent[warningKey]) { 58499 return; 58500 } 58501 58502 error("Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName); 58503 58504 didWarnStateUpdateForUnmountedComponent[warningKey] = true; 58505 } 58506} 58507/** 58508 * This is the abstract API for an update queue. 58509 */ 58510 58511 58512var ReactNoopUpdateQueue = { 58513 /** 58514 * Checks whether or not this composite component is mounted. 58515 * @param {ReactClass} publicInstance The instance we want to test. 58516 * @return {boolean} True if mounted, false otherwise. 58517 * @protected 58518 * @final 58519 */ 58520 isMounted: function (publicInstance) { 58521 return false; 58522 }, 58523 58524 /** 58525 * Forces an update. This should only be invoked when it is known with 58526 * certainty that we are **not** in a DOM transaction. 58527 * 58528 * You may want to call this when you know that some deeper aspect of the 58529 * component's state has changed but `setState` was not called. 58530 * 58531 * This will not invoke `shouldComponentUpdate`, but it will invoke 58532 * `componentWillUpdate` and `componentDidUpdate`. 58533 * 58534 * @param {ReactClass} publicInstance The instance that should rerender. 58535 * @param {?function} callback Called after component is updated. 58536 * @param {?string} callerName name of the calling function in the public API. 58537 * @internal 58538 */ 58539 enqueueForceUpdate: function (publicInstance, callback, callerName) { 58540 warnNoop(publicInstance, 'forceUpdate'); 58541 }, 58542 58543 /** 58544 * Replaces all of the state. Always use this or `setState` to mutate state. 58545 * You should treat `this.state` as immutable. 58546 * 58547 * There is no guarantee that `this.state` will be immediately updated, so 58548 * accessing `this.state` after calling this method may return the old value. 58549 * 58550 * @param {ReactClass} publicInstance The instance that should rerender. 58551 * @param {object} completeState Next state. 58552 * @param {?function} callback Called after component is updated. 58553 * @param {?string} callerName name of the calling function in the public API. 58554 * @internal 58555 */ 58556 enqueueReplaceState: function (publicInstance, completeState, callback, callerName) { 58557 warnNoop(publicInstance, 'replaceState'); 58558 }, 58559 58560 /** 58561 * Sets a subset of the state. This only exists because _pendingState is 58562 * internal. This provides a merging strategy that is not available to deep 58563 * properties which is confusing. TODO: Expose pendingState or don't use it 58564 * during the merge. 58565 * 58566 * @param {ReactClass} publicInstance The instance that should rerender. 58567 * @param {object} partialState Next partial state to be merged with state. 58568 * @param {?function} callback Called after component is updated. 58569 * @param {?string} Name of the calling function in the public API. 58570 * @internal 58571 */ 58572 enqueueSetState: function (publicInstance, partialState, callback, callerName) { 58573 warnNoop(publicInstance, 'setState'); 58574 } 58575}; 58576 58577var emptyObject = {}; 58578 58579{ 58580 Object.freeze(emptyObject); 58581} 58582/** 58583 * Base class helpers for the updating state of a component. 58584 */ 58585 58586 58587function Component(props, context, updater) { 58588 this.props = props; 58589 this.context = context; // If a component has string refs, we will assign a different object later. 58590 58591 this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the 58592 // renderer. 58593 58594 this.updater = updater || ReactNoopUpdateQueue; 58595} 58596 58597Component.prototype.isReactComponent = {}; 58598/** 58599 * Sets a subset of the state. Always use this to mutate 58600 * state. You should treat `this.state` as immutable. 58601 * 58602 * There is no guarantee that `this.state` will be immediately updated, so 58603 * accessing `this.state` after calling this method may return the old value. 58604 * 58605 * There is no guarantee that calls to `setState` will run synchronously, 58606 * as they may eventually be batched together. You can provide an optional 58607 * callback that will be executed when the call to setState is actually 58608 * completed. 58609 * 58610 * When a function is provided to setState, it will be called at some point in 58611 * the future (not synchronously). It will be called with the up to date 58612 * component arguments (state, props, context). These values can be different 58613 * from this.* because your function may be called after receiveProps but before 58614 * shouldComponentUpdate, and this new state, props, and context will not yet be 58615 * assigned to this. 58616 * 58617 * @param {object|function} partialState Next partial state or function to 58618 * produce next partial state to be merged with current state. 58619 * @param {?function} callback Called after state is updated. 58620 * @final 58621 * @protected 58622 */ 58623 58624Component.prototype.setState = function (partialState, callback) { 58625 if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) { 58626 { 58627 throw Error( "setState(...): takes an object of state variables to update or a function which returns an object of state variables." ); 58628 } 58629 } 58630 58631 this.updater.enqueueSetState(this, partialState, callback, 'setState'); 58632}; 58633/** 58634 * Forces an update. This should only be invoked when it is known with 58635 * certainty that we are **not** in a DOM transaction. 58636 * 58637 * You may want to call this when you know that some deeper aspect of the 58638 * component's state has changed but `setState` was not called. 58639 * 58640 * This will not invoke `shouldComponentUpdate`, but it will invoke 58641 * `componentWillUpdate` and `componentDidUpdate`. 58642 * 58643 * @param {?function} callback Called after update is complete. 58644 * @final 58645 * @protected 58646 */ 58647 58648 58649Component.prototype.forceUpdate = function (callback) { 58650 this.updater.enqueueForceUpdate(this, callback, 'forceUpdate'); 58651}; 58652/** 58653 * Deprecated APIs. These APIs used to exist on classic React classes but since 58654 * we would like to deprecate them, we're not going to move them over to this 58655 * modern base class. Instead, we define a getter that warns if it's accessed. 58656 */ 58657 58658 58659{ 58660 var deprecatedAPIs = { 58661 isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], 58662 replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] 58663 }; 58664 58665 var defineDeprecationWarning = function (methodName, info) { 58666 Object.defineProperty(Component.prototype, methodName, { 58667 get: function () { 58668 warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]); 58669 58670 return undefined; 58671 } 58672 }); 58673 }; 58674 58675 for (var fnName in deprecatedAPIs) { 58676 if (deprecatedAPIs.hasOwnProperty(fnName)) { 58677 defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); 58678 } 58679 } 58680} 58681 58682function ComponentDummy() {} 58683 58684ComponentDummy.prototype = Component.prototype; 58685/** 58686 * Convenience component with default shallow equality check for sCU. 58687 */ 58688 58689function PureComponent(props, context, updater) { 58690 this.props = props; 58691 this.context = context; // If a component has string refs, we will assign a different object later. 58692 58693 this.refs = emptyObject; 58694 this.updater = updater || ReactNoopUpdateQueue; 58695} 58696 58697var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); 58698pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods. 58699 58700_assign(pureComponentPrototype, Component.prototype); 58701 58702pureComponentPrototype.isPureReactComponent = true; 58703 58704// an immutable object with a single mutable value 58705function createRef() { 58706 var refObject = { 58707 current: null 58708 }; 58709 58710 { 58711 Object.seal(refObject); 58712 } 58713 58714 return refObject; 58715} 58716 58717var hasOwnProperty = Object.prototype.hasOwnProperty; 58718var RESERVED_PROPS = { 58719 key: true, 58720 ref: true, 58721 __self: true, 58722 __source: true 58723}; 58724var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs; 58725 58726{ 58727 didWarnAboutStringRefs = {}; 58728} 58729 58730function hasValidRef(config) { 58731 { 58732 if (hasOwnProperty.call(config, 'ref')) { 58733 var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; 58734 58735 if (getter && getter.isReactWarning) { 58736 return false; 58737 } 58738 } 58739 } 58740 58741 return config.ref !== undefined; 58742} 58743 58744function hasValidKey(config) { 58745 { 58746 if (hasOwnProperty.call(config, 'key')) { 58747 var getter = Object.getOwnPropertyDescriptor(config, 'key').get; 58748 58749 if (getter && getter.isReactWarning) { 58750 return false; 58751 } 58752 } 58753 } 58754 58755 return config.key !== undefined; 58756} 58757 58758function defineKeyPropWarningGetter(props, displayName) { 58759 var warnAboutAccessingKey = function () { 58760 { 58761 if (!specialPropKeyWarningShown) { 58762 specialPropKeyWarningShown = true; 58763 58764 error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); 58765 } 58766 } 58767 }; 58768 58769 warnAboutAccessingKey.isReactWarning = true; 58770 Object.defineProperty(props, 'key', { 58771 get: warnAboutAccessingKey, 58772 configurable: true 58773 }); 58774} 58775 58776function defineRefPropWarningGetter(props, displayName) { 58777 var warnAboutAccessingRef = function () { 58778 { 58779 if (!specialPropRefWarningShown) { 58780 specialPropRefWarningShown = true; 58781 58782 error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); 58783 } 58784 } 58785 }; 58786 58787 warnAboutAccessingRef.isReactWarning = true; 58788 Object.defineProperty(props, 'ref', { 58789 get: warnAboutAccessingRef, 58790 configurable: true 58791 }); 58792} 58793 58794function warnIfStringRefCannotBeAutoConverted(config) { 58795 { 58796 if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) { 58797 var componentName = getComponentName(ReactCurrentOwner.current.type); 58798 58799 if (!didWarnAboutStringRefs[componentName]) { 58800 error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref); 58801 58802 didWarnAboutStringRefs[componentName] = true; 58803 } 58804 } 58805 } 58806} 58807/** 58808 * Factory method to create a new React element. This no longer adheres to 58809 * the class pattern, so do not use new to call it. Also, instanceof check 58810 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check 58811 * if something is a React Element. 58812 * 58813 * @param {*} type 58814 * @param {*} props 58815 * @param {*} key 58816 * @param {string|object} ref 58817 * @param {*} owner 58818 * @param {*} self A *temporary* helper to detect places where `this` is 58819 * different from the `owner` when React.createElement is called, so that we 58820 * can warn. We want to get rid of owner and replace string `ref`s with arrow 58821 * functions, and as long as `this` and owner are the same, there will be no 58822 * change in behavior. 58823 * @param {*} source An annotation object (added by a transpiler or otherwise) 58824 * indicating filename, line number, and/or other information. 58825 * @internal 58826 */ 58827 58828 58829var ReactElement = function (type, key, ref, self, source, owner, props) { 58830 var element = { 58831 // This tag allows us to uniquely identify this as a React Element 58832 $$typeof: REACT_ELEMENT_TYPE, 58833 // Built-in properties that belong on the element 58834 type: type, 58835 key: key, 58836 ref: ref, 58837 props: props, 58838 // Record the component responsible for creating this element. 58839 _owner: owner 58840 }; 58841 58842 { 58843 // The validation flag is currently mutative. We put it on 58844 // an external backing store so that we can freeze the whole object. 58845 // This can be replaced with a WeakMap once they are implemented in 58846 // commonly used development environments. 58847 element._store = {}; // To make comparing ReactElements easier for testing purposes, we make 58848 // the validation flag non-enumerable (where possible, which should 58849 // include every environment we run tests in), so the test framework 58850 // ignores it. 58851 58852 Object.defineProperty(element._store, 'validated', { 58853 configurable: false, 58854 enumerable: false, 58855 writable: true, 58856 value: false 58857 }); // self and source are DEV only properties. 58858 58859 Object.defineProperty(element, '_self', { 58860 configurable: false, 58861 enumerable: false, 58862 writable: false, 58863 value: self 58864 }); // Two elements created in two different places should be considered 58865 // equal for testing purposes and therefore we hide it from enumeration. 58866 58867 Object.defineProperty(element, '_source', { 58868 configurable: false, 58869 enumerable: false, 58870 writable: false, 58871 value: source 58872 }); 58873 58874 if (Object.freeze) { 58875 Object.freeze(element.props); 58876 Object.freeze(element); 58877 } 58878 } 58879 58880 return element; 58881}; 58882/** 58883 * Create and return a new ReactElement of the given type. 58884 * See https://reactjs.org/docs/react-api.html#createelement 58885 */ 58886 58887function createElement(type, config, children) { 58888 var propName; // Reserved names are extracted 58889 58890 var props = {}; 58891 var key = null; 58892 var ref = null; 58893 var self = null; 58894 var source = null; 58895 58896 if (config != null) { 58897 if (hasValidRef(config)) { 58898 ref = config.ref; 58899 58900 { 58901 warnIfStringRefCannotBeAutoConverted(config); 58902 } 58903 } 58904 58905 if (hasValidKey(config)) { 58906 key = '' + config.key; 58907 } 58908 58909 self = config.__self === undefined ? null : config.__self; 58910 source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object 58911 58912 for (propName in config) { 58913 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { 58914 props[propName] = config[propName]; 58915 } 58916 } 58917 } // Children can be more than one argument, and those are transferred onto 58918 // the newly allocated props object. 58919 58920 58921 var childrenLength = arguments.length - 2; 58922 58923 if (childrenLength === 1) { 58924 props.children = children; 58925 } else if (childrenLength > 1) { 58926 var childArray = Array(childrenLength); 58927 58928 for (var i = 0; i < childrenLength; i++) { 58929 childArray[i] = arguments[i + 2]; 58930 } 58931 58932 { 58933 if (Object.freeze) { 58934 Object.freeze(childArray); 58935 } 58936 } 58937 58938 props.children = childArray; 58939 } // Resolve default props 58940 58941 58942 if (type && type.defaultProps) { 58943 var defaultProps = type.defaultProps; 58944 58945 for (propName in defaultProps) { 58946 if (props[propName] === undefined) { 58947 props[propName] = defaultProps[propName]; 58948 } 58949 } 58950 } 58951 58952 { 58953 if (key || ref) { 58954 var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; 58955 58956 if (key) { 58957 defineKeyPropWarningGetter(props, displayName); 58958 } 58959 58960 if (ref) { 58961 defineRefPropWarningGetter(props, displayName); 58962 } 58963 } 58964 } 58965 58966 return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); 58967} 58968function cloneAndReplaceKey(oldElement, newKey) { 58969 var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); 58970 return newElement; 58971} 58972/** 58973 * Clone and return a new ReactElement using element as the starting point. 58974 * See https://reactjs.org/docs/react-api.html#cloneelement 58975 */ 58976 58977function cloneElement(element, config, children) { 58978 if (!!(element === null || element === undefined)) { 58979 { 58980 throw Error( "React.cloneElement(...): The argument must be a React element, but you passed " + element + "." ); 58981 } 58982 } 58983 58984 var propName; // Original props are copied 58985 58986 var props = _assign({}, element.props); // Reserved names are extracted 58987 58988 58989 var key = element.key; 58990 var ref = element.ref; // Self is preserved since the owner is preserved. 58991 58992 var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a 58993 // transpiler, and the original source is probably a better indicator of the 58994 // true owner. 58995 58996 var source = element._source; // Owner will be preserved, unless ref is overridden 58997 58998 var owner = element._owner; 58999 59000 if (config != null) { 59001 if (hasValidRef(config)) { 59002 // Silently steal the ref from the parent. 59003 ref = config.ref; 59004 owner = ReactCurrentOwner.current; 59005 } 59006 59007 if (hasValidKey(config)) { 59008 key = '' + config.key; 59009 } // Remaining properties override existing props 59010 59011 59012 var defaultProps; 59013 59014 if (element.type && element.type.defaultProps) { 59015 defaultProps = element.type.defaultProps; 59016 } 59017 59018 for (propName in config) { 59019 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { 59020 if (config[propName] === undefined && defaultProps !== undefined) { 59021 // Resolve default props 59022 props[propName] = defaultProps[propName]; 59023 } else { 59024 props[propName] = config[propName]; 59025 } 59026 } 59027 } 59028 } // Children can be more than one argument, and those are transferred onto 59029 // the newly allocated props object. 59030 59031 59032 var childrenLength = arguments.length - 2; 59033 59034 if (childrenLength === 1) { 59035 props.children = children; 59036 } else if (childrenLength > 1) { 59037 var childArray = Array(childrenLength); 59038 59039 for (var i = 0; i < childrenLength; i++) { 59040 childArray[i] = arguments[i + 2]; 59041 } 59042 59043 props.children = childArray; 59044 } 59045 59046 return ReactElement(element.type, key, ref, self, source, owner, props); 59047} 59048/** 59049 * Verifies the object is a ReactElement. 59050 * See https://reactjs.org/docs/react-api.html#isvalidelement 59051 * @param {?object} object 59052 * @return {boolean} True if `object` is a ReactElement. 59053 * @final 59054 */ 59055 59056function isValidElement(object) { 59057 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; 59058} 59059 59060var SEPARATOR = '.'; 59061var SUBSEPARATOR = ':'; 59062/** 59063 * Escape and wrap key so it is safe to use as a reactid 59064 * 59065 * @param {string} key to be escaped. 59066 * @return {string} the escaped key. 59067 */ 59068 59069function escape(key) { 59070 var escapeRegex = /[=:]/g; 59071 var escaperLookup = { 59072 '=': '=0', 59073 ':': '=2' 59074 }; 59075 var escapedString = ('' + key).replace(escapeRegex, function (match) { 59076 return escaperLookup[match]; 59077 }); 59078 return '$' + escapedString; 59079} 59080/** 59081 * TODO: Test that a single child and an array with one item have the same key 59082 * pattern. 59083 */ 59084 59085 59086var didWarnAboutMaps = false; 59087var userProvidedKeyEscapeRegex = /\/+/g; 59088 59089function escapeUserProvidedKey(text) { 59090 return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); 59091} 59092 59093var POOL_SIZE = 10; 59094var traverseContextPool = []; 59095 59096function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) { 59097 if (traverseContextPool.length) { 59098 var traverseContext = traverseContextPool.pop(); 59099 traverseContext.result = mapResult; 59100 traverseContext.keyPrefix = keyPrefix; 59101 traverseContext.func = mapFunction; 59102 traverseContext.context = mapContext; 59103 traverseContext.count = 0; 59104 return traverseContext; 59105 } else { 59106 return { 59107 result: mapResult, 59108 keyPrefix: keyPrefix, 59109 func: mapFunction, 59110 context: mapContext, 59111 count: 0 59112 }; 59113 } 59114} 59115 59116function releaseTraverseContext(traverseContext) { 59117 traverseContext.result = null; 59118 traverseContext.keyPrefix = null; 59119 traverseContext.func = null; 59120 traverseContext.context = null; 59121 traverseContext.count = 0; 59122 59123 if (traverseContextPool.length < POOL_SIZE) { 59124 traverseContextPool.push(traverseContext); 59125 } 59126} 59127/** 59128 * @param {?*} children Children tree container. 59129 * @param {!string} nameSoFar Name of the key path so far. 59130 * @param {!function} callback Callback to invoke with each child found. 59131 * @param {?*} traverseContext Used to pass information throughout the traversal 59132 * process. 59133 * @return {!number} The number of children in this subtree. 59134 */ 59135 59136 59137function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { 59138 var type = typeof children; 59139 59140 if (type === 'undefined' || type === 'boolean') { 59141 // All of the above are perceived as null. 59142 children = null; 59143 } 59144 59145 var invokeCallback = false; 59146 59147 if (children === null) { 59148 invokeCallback = true; 59149 } else { 59150 switch (type) { 59151 case 'string': 59152 case 'number': 59153 invokeCallback = true; 59154 break; 59155 59156 case 'object': 59157 switch (children.$$typeof) { 59158 case REACT_ELEMENT_TYPE: 59159 case REACT_PORTAL_TYPE: 59160 invokeCallback = true; 59161 } 59162 59163 } 59164 } 59165 59166 if (invokeCallback) { 59167 callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array 59168 // so that it's consistent if the number of children grows. 59169 nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); 59170 return 1; 59171 } 59172 59173 var child; 59174 var nextName; 59175 var subtreeCount = 0; // Count of children found in the current subtree. 59176 59177 var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; 59178 59179 if (Array.isArray(children)) { 59180 for (var i = 0; i < children.length; i++) { 59181 child = children[i]; 59182 nextName = nextNamePrefix + getComponentKey(child, i); 59183 subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); 59184 } 59185 } else { 59186 var iteratorFn = getIteratorFn(children); 59187 59188 if (typeof iteratorFn === 'function') { 59189 59190 { 59191 // Warn about using Maps as children 59192 if (iteratorFn === children.entries) { 59193 if (!didWarnAboutMaps) { 59194 warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.'); 59195 } 59196 59197 didWarnAboutMaps = true; 59198 } 59199 } 59200 59201 var iterator = iteratorFn.call(children); 59202 var step; 59203 var ii = 0; 59204 59205 while (!(step = iterator.next()).done) { 59206 child = step.value; 59207 nextName = nextNamePrefix + getComponentKey(child, ii++); 59208 subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); 59209 } 59210 } else if (type === 'object') { 59211 var addendum = ''; 59212 59213 { 59214 addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum(); 59215 } 59216 59217 var childrenString = '' + children; 59218 59219 { 59220 { 59221 throw Error( "Objects are not valid as a React child (found: " + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + ")." + addendum ); 59222 } 59223 } 59224 } 59225 } 59226 59227 return subtreeCount; 59228} 59229/** 59230 * Traverses children that are typically specified as `props.children`, but 59231 * might also be specified through attributes: 59232 * 59233 * - `traverseAllChildren(this.props.children, ...)` 59234 * - `traverseAllChildren(this.props.leftPanelChildren, ...)` 59235 * 59236 * The `traverseContext` is an optional argument that is passed through the 59237 * entire traversal. It can be used to store accumulations or anything else that 59238 * the callback might find relevant. 59239 * 59240 * @param {?*} children Children tree object. 59241 * @param {!function} callback To invoke upon traversing each child. 59242 * @param {?*} traverseContext Context for traversal. 59243 * @return {!number} The number of children in this subtree. 59244 */ 59245 59246 59247function traverseAllChildren(children, callback, traverseContext) { 59248 if (children == null) { 59249 return 0; 59250 } 59251 59252 return traverseAllChildrenImpl(children, '', callback, traverseContext); 59253} 59254/** 59255 * Generate a key string that identifies a component within a set. 59256 * 59257 * @param {*} component A component that could contain a manual key. 59258 * @param {number} index Index that is used if a manual key is not provided. 59259 * @return {string} 59260 */ 59261 59262 59263function getComponentKey(component, index) { 59264 // Do some typechecking here since we call this blindly. We want to ensure 59265 // that we don't block potential future ES APIs. 59266 if (typeof component === 'object' && component !== null && component.key != null) { 59267 // Explicit key 59268 return escape(component.key); 59269 } // Implicit key determined by the index in the set 59270 59271 59272 return index.toString(36); 59273} 59274 59275function forEachSingleChild(bookKeeping, child, name) { 59276 var func = bookKeeping.func, 59277 context = bookKeeping.context; 59278 func.call(context, child, bookKeeping.count++); 59279} 59280/** 59281 * Iterates through children that are typically specified as `props.children`. 59282 * 59283 * See https://reactjs.org/docs/react-api.html#reactchildrenforeach 59284 * 59285 * The provided forEachFunc(child, index) will be called for each 59286 * leaf child. 59287 * 59288 * @param {?*} children Children tree container. 59289 * @param {function(*, int)} forEachFunc 59290 * @param {*} forEachContext Context for forEachContext. 59291 */ 59292 59293 59294function forEachChildren(children, forEachFunc, forEachContext) { 59295 if (children == null) { 59296 return children; 59297 } 59298 59299 var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext); 59300 traverseAllChildren(children, forEachSingleChild, traverseContext); 59301 releaseTraverseContext(traverseContext); 59302} 59303 59304function mapSingleChildIntoContext(bookKeeping, child, childKey) { 59305 var result = bookKeeping.result, 59306 keyPrefix = bookKeeping.keyPrefix, 59307 func = bookKeeping.func, 59308 context = bookKeeping.context; 59309 var mappedChild = func.call(context, child, bookKeeping.count++); 59310 59311 if (Array.isArray(mappedChild)) { 59312 mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) { 59313 return c; 59314 }); 59315 } else if (mappedChild != null) { 59316 if (isValidElement(mappedChild)) { 59317 mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as 59318 // traverseAllChildren used to do for objects as children 59319 keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); 59320 } 59321 59322 result.push(mappedChild); 59323 } 59324} 59325 59326function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { 59327 var escapedPrefix = ''; 59328 59329 if (prefix != null) { 59330 escapedPrefix = escapeUserProvidedKey(prefix) + '/'; 59331 } 59332 59333 var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context); 59334 traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); 59335 releaseTraverseContext(traverseContext); 59336} 59337/** 59338 * Maps children that are typically specified as `props.children`. 59339 * 59340 * See https://reactjs.org/docs/react-api.html#reactchildrenmap 59341 * 59342 * The provided mapFunction(child, key, index) will be called for each 59343 * leaf child. 59344 * 59345 * @param {?*} children Children tree container. 59346 * @param {function(*, int)} func The map function. 59347 * @param {*} context Context for mapFunction. 59348 * @return {object} Object containing the ordered map of results. 59349 */ 59350 59351 59352function mapChildren(children, func, context) { 59353 if (children == null) { 59354 return children; 59355 } 59356 59357 var result = []; 59358 mapIntoWithKeyPrefixInternal(children, result, null, func, context); 59359 return result; 59360} 59361/** 59362 * Count the number of children that are typically specified as 59363 * `props.children`. 59364 * 59365 * See https://reactjs.org/docs/react-api.html#reactchildrencount 59366 * 59367 * @param {?*} children Children tree container. 59368 * @return {number} The number of children. 59369 */ 59370 59371 59372function countChildren(children) { 59373 return traverseAllChildren(children, function () { 59374 return null; 59375 }, null); 59376} 59377/** 59378 * Flatten a children object (typically specified as `props.children`) and 59379 * return an array with appropriately re-keyed children. 59380 * 59381 * See https://reactjs.org/docs/react-api.html#reactchildrentoarray 59382 */ 59383 59384 59385function toArray(children) { 59386 var result = []; 59387 mapIntoWithKeyPrefixInternal(children, result, null, function (child) { 59388 return child; 59389 }); 59390 return result; 59391} 59392/** 59393 * Returns the first child in a collection of children and verifies that there 59394 * is only one child in the collection. 59395 * 59396 * See https://reactjs.org/docs/react-api.html#reactchildrenonly 59397 * 59398 * The current implementation of this function assumes that a single child gets 59399 * passed without a wrapper, but the purpose of this helper function is to 59400 * abstract away the particular structure of children. 59401 * 59402 * @param {?object} children Child collection structure. 59403 * @return {ReactElement} The first and only `ReactElement` contained in the 59404 * structure. 59405 */ 59406 59407 59408function onlyChild(children) { 59409 if (!isValidElement(children)) { 59410 { 59411 throw Error( "React.Children.only expected to receive a single React element child." ); 59412 } 59413 } 59414 59415 return children; 59416} 59417 59418function createContext(defaultValue, calculateChangedBits) { 59419 if (calculateChangedBits === undefined) { 59420 calculateChangedBits = null; 59421 } else { 59422 { 59423 if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') { 59424 error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits); 59425 } 59426 } 59427 } 59428 59429 var context = { 59430 $$typeof: REACT_CONTEXT_TYPE, 59431 _calculateChangedBits: calculateChangedBits, 59432 // As a workaround to support multiple concurrent renderers, we categorize 59433 // some renderers as primary and others as secondary. We only expect 59434 // there to be two concurrent renderers at most: React Native (primary) and 59435 // Fabric (secondary); React DOM (primary) and React ART (secondary). 59436 // Secondary renderers store their context values on separate fields. 59437 _currentValue: defaultValue, 59438 _currentValue2: defaultValue, 59439 // Used to track how many concurrent renderers this context currently 59440 // supports within in a single renderer. Such as parallel server rendering. 59441 _threadCount: 0, 59442 // These are circular 59443 Provider: null, 59444 Consumer: null 59445 }; 59446 context.Provider = { 59447 $$typeof: REACT_PROVIDER_TYPE, 59448 _context: context 59449 }; 59450 var hasWarnedAboutUsingNestedContextConsumers = false; 59451 var hasWarnedAboutUsingConsumerProvider = false; 59452 59453 { 59454 // A separate object, but proxies back to the original context object for 59455 // backwards compatibility. It has a different $$typeof, so we can properly 59456 // warn for the incorrect usage of Context as a Consumer. 59457 var Consumer = { 59458 $$typeof: REACT_CONTEXT_TYPE, 59459 _context: context, 59460 _calculateChangedBits: context._calculateChangedBits 59461 }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here 59462 59463 Object.defineProperties(Consumer, { 59464 Provider: { 59465 get: function () { 59466 if (!hasWarnedAboutUsingConsumerProvider) { 59467 hasWarnedAboutUsingConsumerProvider = true; 59468 59469 error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?'); 59470 } 59471 59472 return context.Provider; 59473 }, 59474 set: function (_Provider) { 59475 context.Provider = _Provider; 59476 } 59477 }, 59478 _currentValue: { 59479 get: function () { 59480 return context._currentValue; 59481 }, 59482 set: function (_currentValue) { 59483 context._currentValue = _currentValue; 59484 } 59485 }, 59486 _currentValue2: { 59487 get: function () { 59488 return context._currentValue2; 59489 }, 59490 set: function (_currentValue2) { 59491 context._currentValue2 = _currentValue2; 59492 } 59493 }, 59494 _threadCount: { 59495 get: function () { 59496 return context._threadCount; 59497 }, 59498 set: function (_threadCount) { 59499 context._threadCount = _threadCount; 59500 } 59501 }, 59502 Consumer: { 59503 get: function () { 59504 if (!hasWarnedAboutUsingNestedContextConsumers) { 59505 hasWarnedAboutUsingNestedContextConsumers = true; 59506 59507 error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?'); 59508 } 59509 59510 return context.Consumer; 59511 } 59512 } 59513 }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty 59514 59515 context.Consumer = Consumer; 59516 } 59517 59518 { 59519 context._currentRenderer = null; 59520 context._currentRenderer2 = null; 59521 } 59522 59523 return context; 59524} 59525 59526function lazy(ctor) { 59527 var lazyType = { 59528 $$typeof: REACT_LAZY_TYPE, 59529 _ctor: ctor, 59530 // React uses these fields to store the result. 59531 _status: -1, 59532 _result: null 59533 }; 59534 59535 { 59536 // In production, this would just set it on the object. 59537 var defaultProps; 59538 var propTypes; 59539 Object.defineProperties(lazyType, { 59540 defaultProps: { 59541 configurable: true, 59542 get: function () { 59543 return defaultProps; 59544 }, 59545 set: function (newDefaultProps) { 59546 error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); 59547 59548 defaultProps = newDefaultProps; // Match production behavior more closely: 59549 59550 Object.defineProperty(lazyType, 'defaultProps', { 59551 enumerable: true 59552 }); 59553 } 59554 }, 59555 propTypes: { 59556 configurable: true, 59557 get: function () { 59558 return propTypes; 59559 }, 59560 set: function (newPropTypes) { 59561 error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); 59562 59563 propTypes = newPropTypes; // Match production behavior more closely: 59564 59565 Object.defineProperty(lazyType, 'propTypes', { 59566 enumerable: true 59567 }); 59568 } 59569 } 59570 }); 59571 } 59572 59573 return lazyType; 59574} 59575 59576function forwardRef(render) { 59577 { 59578 if (render != null && render.$$typeof === REACT_MEMO_TYPE) { 59579 error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).'); 59580 } else if (typeof render !== 'function') { 59581 error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render); 59582 } else { 59583 if (render.length !== 0 && render.length !== 2) { 59584 error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.'); 59585 } 59586 } 59587 59588 if (render != null) { 59589 if (render.defaultProps != null || render.propTypes != null) { 59590 error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?'); 59591 } 59592 } 59593 } 59594 59595 return { 59596 $$typeof: REACT_FORWARD_REF_TYPE, 59597 render: render 59598 }; 59599} 59600 59601function isValidElementType(type) { 59602 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. 59603 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); 59604} 59605 59606function memo(type, compare) { 59607 { 59608 if (!isValidElementType(type)) { 59609 error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type); 59610 } 59611 } 59612 59613 return { 59614 $$typeof: REACT_MEMO_TYPE, 59615 type: type, 59616 compare: compare === undefined ? null : compare 59617 }; 59618} 59619 59620function resolveDispatcher() { 59621 var dispatcher = ReactCurrentDispatcher.current; 59622 59623 if (!(dispatcher !== null)) { 59624 { 59625 throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." ); 59626 } 59627 } 59628 59629 return dispatcher; 59630} 59631 59632function useContext(Context, unstable_observedBits) { 59633 var dispatcher = resolveDispatcher(); 59634 59635 { 59636 if (unstable_observedBits !== undefined) { 59637 error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\n\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : ''); 59638 } // TODO: add a more generic warning for invalid values. 59639 59640 59641 if (Context._context !== undefined) { 59642 var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs 59643 // and nobody should be using this in existing code. 59644 59645 if (realContext.Consumer === Context) { 59646 error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?'); 59647 } else if (realContext.Provider === Context) { 59648 error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?'); 59649 } 59650 } 59651 } 59652 59653 return dispatcher.useContext(Context, unstable_observedBits); 59654} 59655function useState(initialState) { 59656 var dispatcher = resolveDispatcher(); 59657 return dispatcher.useState(initialState); 59658} 59659function useReducer(reducer, initialArg, init) { 59660 var dispatcher = resolveDispatcher(); 59661 return dispatcher.useReducer(reducer, initialArg, init); 59662} 59663function useRef(initialValue) { 59664 var dispatcher = resolveDispatcher(); 59665 return dispatcher.useRef(initialValue); 59666} 59667function useEffect(create, deps) { 59668 var dispatcher = resolveDispatcher(); 59669 return dispatcher.useEffect(create, deps); 59670} 59671function useLayoutEffect(create, deps) { 59672 var dispatcher = resolveDispatcher(); 59673 return dispatcher.useLayoutEffect(create, deps); 59674} 59675function useCallback(callback, deps) { 59676 var dispatcher = resolveDispatcher(); 59677 return dispatcher.useCallback(callback, deps); 59678} 59679function useMemo(create, deps) { 59680 var dispatcher = resolveDispatcher(); 59681 return dispatcher.useMemo(create, deps); 59682} 59683function useImperativeHandle(ref, create, deps) { 59684 var dispatcher = resolveDispatcher(); 59685 return dispatcher.useImperativeHandle(ref, create, deps); 59686} 59687function useDebugValue(value, formatterFn) { 59688 { 59689 var dispatcher = resolveDispatcher(); 59690 return dispatcher.useDebugValue(value, formatterFn); 59691 } 59692} 59693 59694var propTypesMisspellWarningShown; 59695 59696{ 59697 propTypesMisspellWarningShown = false; 59698} 59699 59700function getDeclarationErrorAddendum() { 59701 if (ReactCurrentOwner.current) { 59702 var name = getComponentName(ReactCurrentOwner.current.type); 59703 59704 if (name) { 59705 return '\n\nCheck the render method of `' + name + '`.'; 59706 } 59707 } 59708 59709 return ''; 59710} 59711 59712function getSourceInfoErrorAddendum(source) { 59713 if (source !== undefined) { 59714 var fileName = source.fileName.replace(/^.*[\\\/]/, ''); 59715 var lineNumber = source.lineNumber; 59716 return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; 59717 } 59718 59719 return ''; 59720} 59721 59722function getSourceInfoErrorAddendumForProps(elementProps) { 59723 if (elementProps !== null && elementProps !== undefined) { 59724 return getSourceInfoErrorAddendum(elementProps.__source); 59725 } 59726 59727 return ''; 59728} 59729/** 59730 * Warn if there's no key explicitly set on dynamic arrays of children or 59731 * object keys are not valid. This allows us to keep track of children between 59732 * updates. 59733 */ 59734 59735 59736var ownerHasKeyUseWarning = {}; 59737 59738function getCurrentComponentErrorInfo(parentType) { 59739 var info = getDeclarationErrorAddendum(); 59740 59741 if (!info) { 59742 var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; 59743 59744 if (parentName) { 59745 info = "\n\nCheck the top-level render call using <" + parentName + ">."; 59746 } 59747 } 59748 59749 return info; 59750} 59751/** 59752 * Warn if the element doesn't have an explicit key assigned to it. 59753 * This element is in an array. The array could grow and shrink or be 59754 * reordered. All children that haven't already been validated are required to 59755 * have a "key" property assigned to it. Error statuses are cached so a warning 59756 * will only be shown once. 59757 * 59758 * @internal 59759 * @param {ReactElement} element Element that requires a key. 59760 * @param {*} parentType element's parent's type. 59761 */ 59762 59763 59764function validateExplicitKey(element, parentType) { 59765 if (!element._store || element._store.validated || element.key != null) { 59766 return; 59767 } 59768 59769 element._store.validated = true; 59770 var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); 59771 59772 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { 59773 return; 59774 } 59775 59776 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a 59777 // property, it may be the creator of the child that's responsible for 59778 // assigning it a key. 59779 59780 var childOwner = ''; 59781 59782 if (element && element._owner && element._owner !== ReactCurrentOwner.current) { 59783 // Give the component that originally created this child. 59784 childOwner = " It was passed a child from " + getComponentName(element._owner.type) + "."; 59785 } 59786 59787 setCurrentlyValidatingElement(element); 59788 59789 { 59790 error('Each child in a list should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner); 59791 } 59792 59793 setCurrentlyValidatingElement(null); 59794} 59795/** 59796 * Ensure that every element either is passed in a static location, in an 59797 * array with an explicit keys property defined, or in an object literal 59798 * with valid key property. 59799 * 59800 * @internal 59801 * @param {ReactNode} node Statically passed child of any type. 59802 * @param {*} parentType node's parent's type. 59803 */ 59804 59805 59806function validateChildKeys(node, parentType) { 59807 if (typeof node !== 'object') { 59808 return; 59809 } 59810 59811 if (Array.isArray(node)) { 59812 for (var i = 0; i < node.length; i++) { 59813 var child = node[i]; 59814 59815 if (isValidElement(child)) { 59816 validateExplicitKey(child, parentType); 59817 } 59818 } 59819 } else if (isValidElement(node)) { 59820 // This element was passed in a valid location. 59821 if (node._store) { 59822 node._store.validated = true; 59823 } 59824 } else if (node) { 59825 var iteratorFn = getIteratorFn(node); 59826 59827 if (typeof iteratorFn === 'function') { 59828 // Entry iterators used to provide implicit keys, 59829 // but now we print a separate warning for them later. 59830 if (iteratorFn !== node.entries) { 59831 var iterator = iteratorFn.call(node); 59832 var step; 59833 59834 while (!(step = iterator.next()).done) { 59835 if (isValidElement(step.value)) { 59836 validateExplicitKey(step.value, parentType); 59837 } 59838 } 59839 } 59840 } 59841 } 59842} 59843/** 59844 * Given an element, validate that its props follow the propTypes definition, 59845 * provided by the type. 59846 * 59847 * @param {ReactElement} element 59848 */ 59849 59850 59851function validatePropTypes(element) { 59852 { 59853 var type = element.type; 59854 59855 if (type === null || type === undefined || typeof type === 'string') { 59856 return; 59857 } 59858 59859 var name = getComponentName(type); 59860 var propTypes; 59861 59862 if (typeof type === 'function') { 59863 propTypes = type.propTypes; 59864 } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. 59865 // Inner props are checked in the reconciler. 59866 type.$$typeof === REACT_MEMO_TYPE)) { 59867 propTypes = type.propTypes; 59868 } else { 59869 return; 59870 } 59871 59872 if (propTypes) { 59873 setCurrentlyValidatingElement(element); 59874 checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum); 59875 setCurrentlyValidatingElement(null); 59876 } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { 59877 propTypesMisspellWarningShown = true; 59878 59879 error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown'); 59880 } 59881 59882 if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { 59883 error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); 59884 } 59885 } 59886} 59887/** 59888 * Given a fragment, validate that it can only be provided with fragment props 59889 * @param {ReactElement} fragment 59890 */ 59891 59892 59893function validateFragmentProps(fragment) { 59894 { 59895 setCurrentlyValidatingElement(fragment); 59896 var keys = Object.keys(fragment.props); 59897 59898 for (var i = 0; i < keys.length; i++) { 59899 var key = keys[i]; 59900 59901 if (key !== 'children' && key !== 'key') { 59902 error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); 59903 59904 break; 59905 } 59906 } 59907 59908 if (fragment.ref !== null) { 59909 error('Invalid attribute `ref` supplied to `React.Fragment`.'); 59910 } 59911 59912 setCurrentlyValidatingElement(null); 59913 } 59914} 59915function createElementWithValidation(type, props, children) { 59916 var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to 59917 // succeed and there will likely be errors in render. 59918 59919 if (!validType) { 59920 var info = ''; 59921 59922 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { 59923 info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; 59924 } 59925 59926 var sourceInfo = getSourceInfoErrorAddendumForProps(props); 59927 59928 if (sourceInfo) { 59929 info += sourceInfo; 59930 } else { 59931 info += getDeclarationErrorAddendum(); 59932 } 59933 59934 var typeString; 59935 59936 if (type === null) { 59937 typeString = 'null'; 59938 } else if (Array.isArray(type)) { 59939 typeString = 'array'; 59940 } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { 59941 typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />"; 59942 info = ' Did you accidentally export a JSX literal instead of a component?'; 59943 } else { 59944 typeString = typeof type; 59945 } 59946 59947 { 59948 error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); 59949 } 59950 } 59951 59952 var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. 59953 // TODO: Drop this when these are no longer allowed as the type argument. 59954 59955 if (element == null) { 59956 return element; 59957 } // Skip key warning if the type isn't valid since our key validation logic 59958 // doesn't expect a non-string/function type and can throw confusing errors. 59959 // We don't want exception behavior to differ between dev and prod. 59960 // (Rendering will throw with a helpful message and as soon as the type is 59961 // fixed, the key warnings will appear.) 59962 59963 59964 if (validType) { 59965 for (var i = 2; i < arguments.length; i++) { 59966 validateChildKeys(arguments[i], type); 59967 } 59968 } 59969 59970 if (type === REACT_FRAGMENT_TYPE) { 59971 validateFragmentProps(element); 59972 } else { 59973 validatePropTypes(element); 59974 } 59975 59976 return element; 59977} 59978var didWarnAboutDeprecatedCreateFactory = false; 59979function createFactoryWithValidation(type) { 59980 var validatedFactory = createElementWithValidation.bind(null, type); 59981 validatedFactory.type = type; 59982 59983 { 59984 if (!didWarnAboutDeprecatedCreateFactory) { 59985 didWarnAboutDeprecatedCreateFactory = true; 59986 59987 warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.'); 59988 } // Legacy hook: remove it 59989 59990 59991 Object.defineProperty(validatedFactory, 'type', { 59992 enumerable: false, 59993 get: function () { 59994 warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.'); 59995 59996 Object.defineProperty(this, 'type', { 59997 value: type 59998 }); 59999 return type; 60000 } 60001 }); 60002 } 60003 60004 return validatedFactory; 60005} 60006function cloneElementWithValidation(element, props, children) { 60007 var newElement = cloneElement.apply(this, arguments); 60008 60009 for (var i = 2; i < arguments.length; i++) { 60010 validateChildKeys(arguments[i], newElement.type); 60011 } 60012 60013 validatePropTypes(newElement); 60014 return newElement; 60015} 60016 60017{ 60018 60019 try { 60020 var frozenObject = Object.freeze({}); 60021 var testMap = new Map([[frozenObject, null]]); 60022 var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused. 60023 // https://github.com/rollup/rollup/issues/1771 60024 // TODO: we can remove these if Rollup fixes the bug. 60025 60026 testMap.set(0, 0); 60027 testSet.add(0); 60028 } catch (e) { 60029 } 60030} 60031 60032var createElement$1 = createElementWithValidation ; 60033var cloneElement$1 = cloneElementWithValidation ; 60034var createFactory = createFactoryWithValidation ; 60035var Children = { 60036 map: mapChildren, 60037 forEach: forEachChildren, 60038 count: countChildren, 60039 toArray: toArray, 60040 only: onlyChild 60041}; 60042 60043exports.Children = Children; 60044exports.Component = Component; 60045exports.Fragment = REACT_FRAGMENT_TYPE; 60046exports.Profiler = REACT_PROFILER_TYPE; 60047exports.PureComponent = PureComponent; 60048exports.StrictMode = REACT_STRICT_MODE_TYPE; 60049exports.Suspense = REACT_SUSPENSE_TYPE; 60050exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals; 60051exports.cloneElement = cloneElement$1; 60052exports.createContext = createContext; 60053exports.createElement = createElement$1; 60054exports.createFactory = createFactory; 60055exports.createRef = createRef; 60056exports.forwardRef = forwardRef; 60057exports.isValidElement = isValidElement; 60058exports.lazy = lazy; 60059exports.memo = memo; 60060exports.useCallback = useCallback; 60061exports.useContext = useContext; 60062exports.useDebugValue = useDebugValue; 60063exports.useEffect = useEffect; 60064exports.useImperativeHandle = useImperativeHandle; 60065exports.useLayoutEffect = useLayoutEffect; 60066exports.useMemo = useMemo; 60067exports.useReducer = useReducer; 60068exports.useRef = useRef; 60069exports.useState = useState; 60070exports.version = ReactVersion; 60071 })(); 60072} 60073 60074 60075/***/ }), 60076
vendor: 430 bytes, lines 60077-60093
60077/***/ "./node_modules/react/index.js": 60078/*!*************************************!*\ 60079 !*** ./node_modules/react/index.js ***! 60080 \*************************************/ 60081/*! no static exports found */ 60082/***/ (function(module, exports, __webpack_require__) { 60083 60084"use strict"; 60085 60086 60087if (false) {} else { 60088 module.exports = __webpack_require__(/*! ./cjs/react.development.js */ "./node_modules/react/cjs/react.development.js"); 60089} 60090 60091 60092/***/ }), 60093
vendor: 9,367 bytes, lines 60094-60454
60094/***/ "./node_modules/scheduler/cjs/scheduler-tracing.development.js": 60095/*!*********************************************************************!*\ 60096 !*** ./node_modules/scheduler/cjs/scheduler-tracing.development.js ***! 60097 \*********************************************************************/ 60098/*! no static exports found */ 60099/***/ (function(module, exports, __webpack_require__) { 60100 60101"use strict"; 60102/** @license React v0.19.1 60103 * scheduler-tracing.development.js 60104 * 60105 * Copyright (c) Facebook, Inc. and its affiliates. 60106 * 60107 * This source code is licensed under the MIT license found in the 60108 * LICENSE file in the root directory of this source tree. 60109 */ 60110 60111 60112 60113 60114 60115if (true) { 60116 (function() { 60117'use strict'; 60118 60119var DEFAULT_THREAD_ID = 0; // Counters used to generate unique IDs. 60120 60121var interactionIDCounter = 0; 60122var threadIDCounter = 0; // Set of currently traced interactions. 60123// Interactions "stack"â 60124// Meaning that newly traced interactions are appended to the previously active set. 60125// When an interaction goes out of scope, the previous set (if any) is restored. 60126 60127exports.__interactionsRef = null; // Listener(s) to notify when interactions begin and end. 60128 60129exports.__subscriberRef = null; 60130 60131{ 60132 exports.__interactionsRef = { 60133 current: new Set() 60134 }; 60135 exports.__subscriberRef = { 60136 current: null 60137 }; 60138} 60139function unstable_clear(callback) { 60140 60141 var prevInteractions = exports.__interactionsRef.current; 60142 exports.__interactionsRef.current = new Set(); 60143 60144 try { 60145 return callback(); 60146 } finally { 60147 exports.__interactionsRef.current = prevInteractions; 60148 } 60149} 60150function unstable_getCurrent() { 60151 { 60152 return exports.__interactionsRef.current; 60153 } 60154} 60155function unstable_getThreadID() { 60156 return ++threadIDCounter; 60157} 60158function unstable_trace(name, timestamp, callback) { 60159 var threadID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_THREAD_ID; 60160 60161 var interaction = { 60162 __count: 1, 60163 id: interactionIDCounter++, 60164 name: name, 60165 timestamp: timestamp 60166 }; 60167 var prevInteractions = exports.__interactionsRef.current; // Traced interactions should stack/accumulate. 60168 // To do that, clone the current interactions. 60169 // The previous set will be restored upon completion. 60170 60171 var interactions = new Set(prevInteractions); 60172 interactions.add(interaction); 60173 exports.__interactionsRef.current = interactions; 60174 var subscriber = exports.__subscriberRef.current; 60175 var returnValue; 60176 60177 try { 60178 if (subscriber !== null) { 60179 subscriber.onInteractionTraced(interaction); 60180 } 60181 } finally { 60182 try { 60183 if (subscriber !== null) { 60184 subscriber.onWorkStarted(interactions, threadID); 60185 } 60186 } finally { 60187 try { 60188 returnValue = callback(); 60189 } finally { 60190 exports.__interactionsRef.current = prevInteractions; 60191 60192 try { 60193 if (subscriber !== null) { 60194 subscriber.onWorkStopped(interactions, threadID); 60195 } 60196 } finally { 60197 interaction.__count--; // If no async work was scheduled for this interaction, 60198 // Notify subscribers that it's completed. 60199 60200 if (subscriber !== null && interaction.__count === 0) { 60201 subscriber.onInteractionScheduledWorkCompleted(interaction); 60202 } 60203 } 60204 } 60205 } 60206 } 60207 60208 return returnValue; 60209} 60210function unstable_wrap(callback) { 60211 var threadID = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_THREAD_ID; 60212 60213 var wrappedInteractions = exports.__interactionsRef.current; 60214 var subscriber = exports.__subscriberRef.current; 60215 60216 if (subscriber !== null) { 60217 subscriber.onWorkScheduled(wrappedInteractions, threadID); 60218 } // Update the pending async work count for the current interactions. 60219 // Update after calling subscribers in case of error. 60220 60221 60222 wrappedInteractions.forEach(function (interaction) { 60223 interaction.__count++; 60224 }); 60225 var hasRun = false; 60226 60227 function wrapped() { 60228 var prevInteractions = exports.__interactionsRef.current; 60229 exports.__interactionsRef.current = wrappedInteractions; 60230 subscriber = exports.__subscriberRef.current; 60231 60232 try { 60233 var returnValue; 60234 60235 try { 60236 if (subscriber !== null) { 60237 subscriber.onWorkStarted(wrappedInteractions, threadID); 60238 } 60239 } finally { 60240 try { 60241 returnValue = callback.apply(undefined, arguments); 60242 } finally { 60243 exports.__interactionsRef.current = prevInteractions; 60244 60245 if (subscriber !== null) { 60246 subscriber.onWorkStopped(wrappedInteractions, threadID); 60247 } 60248 } 60249 } 60250 60251 return returnValue; 60252 } finally { 60253 if (!hasRun) { 60254 // We only expect a wrapped function to be executed once, 60255 // But in the event that it's executed more than onceâ 60256 // Only decrement the outstanding interaction counts once. 60257 hasRun = true; // Update pending async counts for all wrapped interactions. 60258 // If this was the last scheduled async work for any of them, 60259 // Mark them as completed. 60260 60261 wrappedInteractions.forEach(function (interaction) { 60262 interaction.__count--; 60263 60264 if (subscriber !== null && interaction.__count === 0) { 60265 subscriber.onInteractionScheduledWorkCompleted(interaction); 60266 } 60267 }); 60268 } 60269 } 60270 } 60271 60272 wrapped.cancel = function cancel() { 60273 subscriber = exports.__subscriberRef.current; 60274 60275 try { 60276 if (subscriber !== null) { 60277 subscriber.onWorkCanceled(wrappedInteractions, threadID); 60278 } 60279 } finally { 60280 // Update pending async counts for all wrapped interactions. 60281 // If this was the last scheduled async work for any of them, 60282 // Mark them as completed. 60283 wrappedInteractions.forEach(function (interaction) { 60284 interaction.__count--; 60285 60286 if (subscriber && interaction.__count === 0) { 60287 subscriber.onInteractionScheduledWorkCompleted(interaction); 60288 } 60289 }); 60290 } 60291 }; 60292 60293 return wrapped; 60294} 60295 60296var subscribers = null; 60297 60298{ 60299 subscribers = new Set(); 60300} 60301 60302function unstable_subscribe(subscriber) { 60303 { 60304 subscribers.add(subscriber); 60305 60306 if (subscribers.size === 1) { 60307 exports.__subscriberRef.current = { 60308 onInteractionScheduledWorkCompleted: onInteractionScheduledWorkCompleted, 60309 onInteractionTraced: onInteractionTraced, 60310 onWorkCanceled: onWorkCanceled, 60311 onWorkScheduled: onWorkScheduled, 60312 onWorkStarted: onWorkStarted, 60313 onWorkStopped: onWorkStopped 60314 }; 60315 } 60316 } 60317} 60318function unstable_unsubscribe(subscriber) { 60319 { 60320 subscribers.delete(subscriber); 60321 60322 if (subscribers.size === 0) { 60323 exports.__subscriberRef.current = null; 60324 } 60325 } 60326} 60327 60328function onInteractionTraced(interaction) { 60329 var didCatchError = false; 60330 var caughtError = null; 60331 subscribers.forEach(function (subscriber) { 60332 try { 60333 subscriber.onInteractionTraced(interaction); 60334 } catch (error) { 60335 if (!didCatchError) { 60336 didCatchError = true; 60337 caughtError = error; 60338 } 60339 } 60340 }); 60341 60342 if (didCatchError) { 60343 throw caughtError; 60344 } 60345} 60346 60347function onInteractionScheduledWorkCompleted(interaction) { 60348 var didCatchError = false; 60349 var caughtError = null; 60350 subscribers.forEach(function (subscriber) { 60351 try { 60352 subscriber.onInteractionScheduledWorkCompleted(interaction); 60353 } catch (error) { 60354 if (!didCatchError) { 60355 didCatchError = true; 60356 caughtError = error; 60357 } 60358 } 60359 }); 60360 60361 if (didCatchError) { 60362 throw caughtError; 60363 } 60364} 60365 60366function onWorkScheduled(interactions, threadID) { 60367 var didCatchError = false; 60368 var caughtError = null; 60369 subscribers.forEach(function (subscriber) { 60370 try { 60371 subscriber.onWorkScheduled(interactions, threadID); 60372 } catch (error) { 60373 if (!didCatchError) { 60374 didCatchError = true; 60375 caughtError = error; 60376 } 60377 } 60378 }); 60379 60380 if (didCatchError) { 60381 throw caughtError; 60382 } 60383} 60384 60385function onWorkStarted(interactions, threadID) { 60386 var didCatchError = false; 60387 var caughtError = null; 60388 subscribers.forEach(function (subscriber) { 60389 try { 60390 subscriber.onWorkStarted(interactions, threadID); 60391 } catch (error) { 60392 if (!didCatchError) { 60393 didCatchError = true; 60394 caughtError = error; 60395 } 60396 } 60397 }); 60398 60399 if (didCatchError) { 60400 throw caughtError; 60401 } 60402} 60403 60404function onWorkStopped(interactions, threadID) { 60405 var didCatchError = false; 60406 var caughtError = null; 60407 subscribers.forEach(function (subscriber) { 60408 try { 60409 subscriber.onWorkStopped(interactions, threadID); 60410 } catch (error) { 60411 if (!didCatchError) { 60412 didCatchError = true; 60413 caughtError = error; 60414 } 60415 } 60416 }); 60417 60418 if (didCatchError) { 60419 throw caughtError; 60420 } 60421} 60422 60423function onWorkCanceled(interactions, threadID) { 60424 var didCatchError = false; 60425 var caughtError = null; 60426 subscribers.forEach(function (subscriber) { 60427 try { 60428 subscriber.onWorkCanceled(interactions, threadID); 60429 } catch (error) { 60430 if (!didCatchError) { 60431 didCatchError = true; 60432 caughtError = error; 60433 } 60434 } 60435 }); 60436 60437 if (didCatchError) { 60438 throw caughtError; 60439 } 60440} 60441 60442exports.unstable_clear = unstable_clear; 60443exports.unstable_getCurrent = unstable_getCurrent; 60444exports.unstable_getThreadID = unstable_getThreadID; 60445exports.unstable_subscribe = unstable_subscribe; 60446exports.unstable_trace = unstable_trace; 60447exports.unstable_unsubscribe = unstable_unsubscribe; 60448exports.unstable_wrap = unstable_wrap; 60449 })(); 60450} 60451 60452 60453/***/ }), 60454
vendor: 24,094 bytes, lines 60455-61324
60455/***/ "./node_modules/scheduler/cjs/scheduler.development.js": 60456/*!*************************************************************!*\ 60457 !*** ./node_modules/scheduler/cjs/scheduler.development.js ***! 60458 \*************************************************************/ 60459/*! no static exports found */ 60460/***/ (function(module, exports, __webpack_require__) { 60461 60462"use strict"; 60463/** @license React v0.19.1 60464 * scheduler.development.js 60465 * 60466 * Copyright (c) Facebook, Inc. and its affiliates. 60467 * 60468 * This source code is licensed under the MIT license found in the 60469 * LICENSE file in the root directory of this source tree. 60470 */ 60471 60472 60473 60474 60475 60476if (true) { 60477 (function() { 60478'use strict'; 60479 60480var enableSchedulerDebugging = false; 60481var enableProfiling = true; 60482 60483var requestHostCallback; 60484var requestHostTimeout; 60485var cancelHostTimeout; 60486var shouldYieldToHost; 60487var requestPaint; 60488 60489if ( // If Scheduler runs in a non-DOM environment, it falls back to a naive 60490// implementation using setTimeout. 60491typeof window === 'undefined' || // Check if MessageChannel is supported, too. 60492typeof MessageChannel !== 'function') { 60493 // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore, 60494 // fallback to a naive implementation. 60495 var _callback = null; 60496 var _timeoutID = null; 60497 60498 var _flushCallback = function () { 60499 if (_callback !== null) { 60500 try { 60501 var currentTime = exports.unstable_now(); 60502 var hasRemainingTime = true; 60503 60504 _callback(hasRemainingTime, currentTime); 60505 60506 _callback = null; 60507 } catch (e) { 60508 setTimeout(_flushCallback, 0); 60509 throw e; 60510 } 60511 } 60512 }; 60513 60514 var initialTime = Date.now(); 60515 60516 exports.unstable_now = function () { 60517 return Date.now() - initialTime; 60518 }; 60519 60520 requestHostCallback = function (cb) { 60521 if (_callback !== null) { 60522 // Protect against re-entrancy. 60523 setTimeout(requestHostCallback, 0, cb); 60524 } else { 60525 _callback = cb; 60526 setTimeout(_flushCallback, 0); 60527 } 60528 }; 60529 60530 requestHostTimeout = function (cb, ms) { 60531 _timeoutID = setTimeout(cb, ms); 60532 }; 60533 60534 cancelHostTimeout = function () { 60535 clearTimeout(_timeoutID); 60536 }; 60537 60538 shouldYieldToHost = function () { 60539 return false; 60540 }; 60541 60542 requestPaint = exports.unstable_forceFrameRate = function () {}; 60543} else { 60544 // Capture local references to native APIs, in case a polyfill overrides them. 60545 var performance = window.performance; 60546 var _Date = window.Date; 60547 var _setTimeout = window.setTimeout; 60548 var _clearTimeout = window.clearTimeout; 60549 60550 if (typeof console !== 'undefined') { 60551 // TODO: Scheduler no longer requires these methods to be polyfilled. But 60552 // maybe we want to continue warning if they don't exist, to preserve the 60553 // option to rely on it in the future? 60554 var requestAnimationFrame = window.requestAnimationFrame; 60555 var cancelAnimationFrame = window.cancelAnimationFrame; // TODO: Remove fb.me link 60556 60557 if (typeof requestAnimationFrame !== 'function') { 60558 // Using console['error'] to evade Babel and ESLint 60559 console['error']("This browser doesn't support requestAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); 60560 } 60561 60562 if (typeof cancelAnimationFrame !== 'function') { 60563 // Using console['error'] to evade Babel and ESLint 60564 console['error']("This browser doesn't support cancelAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); 60565 } 60566 } 60567 60568 if (typeof performance === 'object' && typeof performance.now === 'function') { 60569 exports.unstable_now = function () { 60570 return performance.now(); 60571 }; 60572 } else { 60573 var _initialTime = _Date.now(); 60574 60575 exports.unstable_now = function () { 60576 return _Date.now() - _initialTime; 60577 }; 60578 } 60579 60580 var isMessageLoopRunning = false; 60581 var scheduledHostCallback = null; 60582 var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main 60583 // thread, like user events. By default, it yields multiple times per frame. 60584 // It does not attempt to align with frame boundaries, since most tasks don't 60585 // need to be frame aligned; for those that do, use requestAnimationFrame. 60586 60587 var yieldInterval = 5; 60588 var deadline = 0; // TODO: Make this configurable 60589 60590 { 60591 // `isInputPending` is not available. Since we have no way of knowing if 60592 // there's pending input, always yield at the end of the frame. 60593 shouldYieldToHost = function () { 60594 return exports.unstable_now() >= deadline; 60595 }; // Since we yield every frame regardless, `requestPaint` has no effect. 60596 60597 60598 requestPaint = function () {}; 60599 } 60600 60601 exports.unstable_forceFrameRate = function (fps) { 60602 if (fps < 0 || fps > 125) { 60603 // Using console['error'] to evade Babel and ESLint 60604 console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing framerates higher than 125 fps is not unsupported'); 60605 return; 60606 } 60607 60608 if (fps > 0) { 60609 yieldInterval = Math.floor(1000 / fps); 60610 } else { 60611 // reset the framerate 60612 yieldInterval = 5; 60613 } 60614 }; 60615 60616 var performWorkUntilDeadline = function () { 60617 if (scheduledHostCallback !== null) { 60618 var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync 60619 // cycle. This means there's always time remaining at the beginning of 60620 // the message event. 60621 60622 deadline = currentTime + yieldInterval; 60623 var hasTimeRemaining = true; 60624 60625 try { 60626 var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime); 60627 60628 if (!hasMoreWork) { 60629 isMessageLoopRunning = false; 60630 scheduledHostCallback = null; 60631 } else { 60632 // If there's more work, schedule the next message event at the end 60633 // of the preceding one. 60634 port.postMessage(null); 60635 } 60636 } catch (error) { 60637 // If a scheduler task throws, exit the current browser task so the 60638 // error can be observed. 60639 port.postMessage(null); 60640 throw error; 60641 } 60642 } else { 60643 isMessageLoopRunning = false; 60644 } // Yielding to the browser will give it a chance to paint, so we can 60645 }; 60646 60647 var channel = new MessageChannel(); 60648 var port = channel.port2; 60649 channel.port1.onmessage = performWorkUntilDeadline; 60650 60651 requestHostCallback = function (callback) { 60652 scheduledHostCallback = callback; 60653 60654 if (!isMessageLoopRunning) { 60655 isMessageLoopRunning = true; 60656 port.postMessage(null); 60657 } 60658 }; 60659 60660 requestHostTimeout = function (callback, ms) { 60661 taskTimeoutID = _setTimeout(function () { 60662 callback(exports.unstable_now()); 60663 }, ms); 60664 }; 60665 60666 cancelHostTimeout = function () { 60667 _clearTimeout(taskTimeoutID); 60668 60669 taskTimeoutID = -1; 60670 }; 60671} 60672 60673function push(heap, node) { 60674 var index = heap.length; 60675 heap.push(node); 60676 siftUp(heap, node, index); 60677} 60678function peek(heap) { 60679 var first = heap[0]; 60680 return first === undefined ? null : first; 60681} 60682function pop(heap) { 60683 var first = heap[0]; 60684 60685 if (first !== undefined) { 60686 var last = heap.pop(); 60687 60688 if (last !== first) { 60689 heap[0] = last; 60690 siftDown(heap, last, 0); 60691 } 60692 60693 return first; 60694 } else { 60695 return null; 60696 } 60697} 60698 60699function siftUp(heap, node, i) { 60700 var index = i; 60701 60702 while (true) { 60703 var parentIndex = index - 1 >>> 1; 60704 var parent = heap[parentIndex]; 60705 60706 if (parent !== undefined && compare(parent, node) > 0) { 60707 // The parent is larger. Swap positions. 60708 heap[parentIndex] = node; 60709 heap[index] = parent; 60710 index = parentIndex; 60711 } else { 60712 // The parent is smaller. Exit. 60713 return; 60714 } 60715 } 60716} 60717 60718function siftDown(heap, node, i) { 60719 var index = i; 60720 var length = heap.length; 60721 60722 while (index < length) { 60723 var leftIndex = (index + 1) * 2 - 1; 60724 var left = heap[leftIndex]; 60725 var rightIndex = leftIndex + 1; 60726 var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those. 60727 60728 if (left !== undefined && compare(left, node) < 0) { 60729 if (right !== undefined && compare(right, left) < 0) { 60730 heap[index] = right; 60731 heap[rightIndex] = node; 60732 index = rightIndex; 60733 } else { 60734 heap[index] = left; 60735 heap[leftIndex] = node; 60736 index = leftIndex; 60737 } 60738 } else if (right !== undefined && compare(right, node) < 0) { 60739 heap[index] = right; 60740 heap[rightIndex] = node; 60741 index = rightIndex; 60742 } else { 60743 // Neither child is smaller. Exit. 60744 return; 60745 } 60746 } 60747} 60748 60749function compare(a, b) { 60750 // Compare sort index first, then task id. 60751 var diff = a.sortIndex - b.sortIndex; 60752 return diff !== 0 ? diff : a.id - b.id; 60753} 60754 60755// TODO: Use symbols? 60756var NoPriority = 0; 60757var ImmediatePriority = 1; 60758var UserBlockingPriority = 2; 60759var NormalPriority = 3; 60760var LowPriority = 4; 60761var IdlePriority = 5; 60762 60763var runIdCounter = 0; 60764var mainThreadIdCounter = 0; 60765var profilingStateSize = 4; 60766var sharedProfilingBuffer = // $FlowFixMe Flow doesn't know about SharedArrayBuffer 60767typeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer 60768typeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9 60769; 60770var profilingState = sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks 60771 60772var PRIORITY = 0; 60773var CURRENT_TASK_ID = 1; 60774var CURRENT_RUN_ID = 2; 60775var QUEUE_SIZE = 3; 60776 60777{ 60778 profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue 60779 // array might include canceled tasks. 60780 60781 profilingState[QUEUE_SIZE] = 0; 60782 profilingState[CURRENT_TASK_ID] = 0; 60783} // Bytes per element is 4 60784 60785 60786var INITIAL_EVENT_LOG_SIZE = 131072; 60787var MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes 60788 60789var eventLogSize = 0; 60790var eventLogBuffer = null; 60791var eventLog = null; 60792var eventLogIndex = 0; 60793var TaskStartEvent = 1; 60794var TaskCompleteEvent = 2; 60795var TaskErrorEvent = 3; 60796var TaskCancelEvent = 4; 60797var TaskRunEvent = 5; 60798var TaskYieldEvent = 6; 60799var SchedulerSuspendEvent = 7; 60800var SchedulerResumeEvent = 8; 60801 60802function logEvent(entries) { 60803 if (eventLog !== null) { 60804 var offset = eventLogIndex; 60805 eventLogIndex += entries.length; 60806 60807 if (eventLogIndex + 1 > eventLogSize) { 60808 eventLogSize *= 2; 60809 60810 if (eventLogSize > MAX_EVENT_LOG_SIZE) { 60811 // Using console['error'] to evade Babel and ESLint 60812 console['error']("Scheduler Profiling: Event log exceeded maximum size. Don't " + 'forget to call `stopLoggingProfilingEvents()`.'); 60813 stopLoggingProfilingEvents(); 60814 return; 60815 } 60816 60817 var newEventLog = new Int32Array(eventLogSize * 4); 60818 newEventLog.set(eventLog); 60819 eventLogBuffer = newEventLog.buffer; 60820 eventLog = newEventLog; 60821 } 60822 60823 eventLog.set(entries, offset); 60824 } 60825} 60826 60827function startLoggingProfilingEvents() { 60828 eventLogSize = INITIAL_EVENT_LOG_SIZE; 60829 eventLogBuffer = new ArrayBuffer(eventLogSize * 4); 60830 eventLog = new Int32Array(eventLogBuffer); 60831 eventLogIndex = 0; 60832} 60833function stopLoggingProfilingEvents() { 60834 var buffer = eventLogBuffer; 60835 eventLogSize = 0; 60836 eventLogBuffer = null; 60837 eventLog = null; 60838 eventLogIndex = 0; 60839 return buffer; 60840} 60841function markTaskStart(task, ms) { 60842 { 60843 profilingState[QUEUE_SIZE]++; 60844 60845 if (eventLog !== null) { 60846 // performance.now returns a float, representing milliseconds. When the 60847 // event is logged, it's coerced to an int. Convert to microseconds to 60848 // maintain extra degrees of precision. 60849 logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]); 60850 } 60851 } 60852} 60853function markTaskCompleted(task, ms) { 60854 { 60855 profilingState[PRIORITY] = NoPriority; 60856 profilingState[CURRENT_TASK_ID] = 0; 60857 profilingState[QUEUE_SIZE]--; 60858 60859 if (eventLog !== null) { 60860 logEvent([TaskCompleteEvent, ms * 1000, task.id]); 60861 } 60862 } 60863} 60864function markTaskCanceled(task, ms) { 60865 { 60866 profilingState[QUEUE_SIZE]--; 60867 60868 if (eventLog !== null) { 60869 logEvent([TaskCancelEvent, ms * 1000, task.id]); 60870 } 60871 } 60872} 60873function markTaskErrored(task, ms) { 60874 { 60875 profilingState[PRIORITY] = NoPriority; 60876 profilingState[CURRENT_TASK_ID] = 0; 60877 profilingState[QUEUE_SIZE]--; 60878 60879 if (eventLog !== null) { 60880 logEvent([TaskErrorEvent, ms * 1000, task.id]); 60881 } 60882 } 60883} 60884function markTaskRun(task, ms) { 60885 { 60886 runIdCounter++; 60887 profilingState[PRIORITY] = task.priorityLevel; 60888 profilingState[CURRENT_TASK_ID] = task.id; 60889 profilingState[CURRENT_RUN_ID] = runIdCounter; 60890 60891 if (eventLog !== null) { 60892 logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]); 60893 } 60894 } 60895} 60896function markTaskYield(task, ms) { 60897 { 60898 profilingState[PRIORITY] = NoPriority; 60899 profilingState[CURRENT_TASK_ID] = 0; 60900 profilingState[CURRENT_RUN_ID] = 0; 60901 60902 if (eventLog !== null) { 60903 logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]); 60904 } 60905 } 60906} 60907function markSchedulerSuspended(ms) { 60908 { 60909 mainThreadIdCounter++; 60910 60911 if (eventLog !== null) { 60912 logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]); 60913 } 60914 } 60915} 60916function markSchedulerUnsuspended(ms) { 60917 { 60918 if (eventLog !== null) { 60919 logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]); 60920 } 60921 } 60922} 60923 60924/* eslint-disable no-var */ 60925// Math.pow(2, 30) - 1 60926// 0b111111111111111111111111111111 60927 60928var maxSigned31BitInt = 1073741823; // Times out immediately 60929 60930var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out 60931 60932var USER_BLOCKING_PRIORITY = 250; 60933var NORMAL_PRIORITY_TIMEOUT = 5000; 60934var LOW_PRIORITY_TIMEOUT = 10000; // Never times out 60935 60936var IDLE_PRIORITY = maxSigned31BitInt; // Tasks are stored on a min heap 60937 60938var taskQueue = []; 60939var timerQueue = []; // Incrementing id counter. Used to maintain insertion order. 60940 60941var taskIdCounter = 1; // Pausing the scheduler is useful for debugging. 60942var currentTask = null; 60943var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy. 60944 60945var isPerformingWork = false; 60946var isHostCallbackScheduled = false; 60947var isHostTimeoutScheduled = false; 60948 60949function advanceTimers(currentTime) { 60950 // Check for tasks that are no longer delayed and add them to the queue. 60951 var timer = peek(timerQueue); 60952 60953 while (timer !== null) { 60954 if (timer.callback === null) { 60955 // Timer was cancelled. 60956 pop(timerQueue); 60957 } else if (timer.startTime <= currentTime) { 60958 // Timer fired. Transfer to the task queue. 60959 pop(timerQueue); 60960 timer.sortIndex = timer.expirationTime; 60961 push(taskQueue, timer); 60962 60963 { 60964 markTaskStart(timer, currentTime); 60965 timer.isQueued = true; 60966 } 60967 } else { 60968 // Remaining timers are pending. 60969 return; 60970 } 60971 60972 timer = peek(timerQueue); 60973 } 60974} 60975 60976function handleTimeout(currentTime) { 60977 isHostTimeoutScheduled = false; 60978 advanceTimers(currentTime); 60979 60980 if (!isHostCallbackScheduled) { 60981 if (peek(taskQueue) !== null) { 60982 isHostCallbackScheduled = true; 60983 requestHostCallback(flushWork); 60984 } else { 60985 var firstTimer = peek(timerQueue); 60986 60987 if (firstTimer !== null) { 60988 requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); 60989 } 60990 } 60991 } 60992} 60993 60994function flushWork(hasTimeRemaining, initialTime) { 60995 { 60996 markSchedulerUnsuspended(initialTime); 60997 } // We'll need a host callback the next time work is scheduled. 60998 60999 61000 isHostCallbackScheduled = false; 61001 61002 if (isHostTimeoutScheduled) { 61003 // We scheduled a timeout but it's no longer needed. Cancel it. 61004 isHostTimeoutScheduled = false; 61005 cancelHostTimeout(); 61006 } 61007 61008 isPerformingWork = true; 61009 var previousPriorityLevel = currentPriorityLevel; 61010 61011 try { 61012 if (enableProfiling) { 61013 try { 61014 return workLoop(hasTimeRemaining, initialTime); 61015 } catch (error) { 61016 if (currentTask !== null) { 61017 var currentTime = exports.unstable_now(); 61018 markTaskErrored(currentTask, currentTime); 61019 currentTask.isQueued = false; 61020 } 61021 61022 throw error; 61023 } 61024 } else { 61025 // No catch in prod codepath. 61026 return workLoop(hasTimeRemaining, initialTime); 61027 } 61028 } finally { 61029 currentTask = null; 61030 currentPriorityLevel = previousPriorityLevel; 61031 isPerformingWork = false; 61032 61033 { 61034 var _currentTime = exports.unstable_now(); 61035 61036 markSchedulerSuspended(_currentTime); 61037 } 61038 } 61039} 61040 61041function workLoop(hasTimeRemaining, initialTime) { 61042 var currentTime = initialTime; 61043 advanceTimers(currentTime); 61044 currentTask = peek(taskQueue); 61045 61046 while (currentTask !== null && !(enableSchedulerDebugging )) { 61047 if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) { 61048 // This currentTask hasn't expired, and we've reached the deadline. 61049 break; 61050 } 61051 61052 var callback = currentTask.callback; 61053 61054 if (callback !== null) { 61055 currentTask.callback = null; 61056 currentPriorityLevel = currentTask.priorityLevel; 61057 var didUserCallbackTimeout = currentTask.expirationTime <= currentTime; 61058 markTaskRun(currentTask, currentTime); 61059 var continuationCallback = callback(didUserCallbackTimeout); 61060 currentTime = exports.unstable_now(); 61061 61062 if (typeof continuationCallback === 'function') { 61063 currentTask.callback = continuationCallback; 61064 markTaskYield(currentTask, currentTime); 61065 } else { 61066 { 61067 markTaskCompleted(currentTask, currentTime); 61068 currentTask.isQueued = false; 61069 } 61070 61071 if (currentTask === peek(taskQueue)) { 61072 pop(taskQueue); 61073 } 61074 } 61075 61076 advanceTimers(currentTime); 61077 } else { 61078 pop(taskQueue); 61079 } 61080 61081 currentTask = peek(taskQueue); 61082 } // Return whether there's additional work 61083 61084 61085 if (currentTask !== null) { 61086 return true; 61087 } else { 61088 var firstTimer = peek(timerQueue); 61089 61090 if (firstTimer !== null) { 61091 requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); 61092 } 61093 61094 return false; 61095 } 61096} 61097 61098function unstable_runWithPriority(priorityLevel, eventHandler) { 61099 switch (priorityLevel) { 61100 case ImmediatePriority: 61101 case UserBlockingPriority: 61102 case NormalPriority: 61103 case LowPriority: 61104 case IdlePriority: 61105 break; 61106 61107 default: 61108 priorityLevel = NormalPriority; 61109 } 61110 61111 var previousPriorityLevel = currentPriorityLevel; 61112 currentPriorityLevel = priorityLevel; 61113 61114 try { 61115 return eventHandler(); 61116 } finally { 61117 currentPriorityLevel = previousPriorityLevel; 61118 } 61119} 61120 61121function unstable_next(eventHandler) { 61122 var priorityLevel; 61123 61124 switch (currentPriorityLevel) { 61125 case ImmediatePriority: 61126 case UserBlockingPriority: 61127 case NormalPriority: 61128 // Shift down to normal priority 61129 priorityLevel = NormalPriority; 61130 break; 61131 61132 default: 61133 // Anything lower than normal priority should remain at the current level. 61134 priorityLevel = currentPriorityLevel; 61135 break; 61136 } 61137 61138 var previousPriorityLevel = currentPriorityLevel; 61139 currentPriorityLevel = priorityLevel; 61140 61141 try { 61142 return eventHandler(); 61143 } finally { 61144 currentPriorityLevel = previousPriorityLevel; 61145 } 61146} 61147 61148function unstable_wrapCallback(callback) { 61149 var parentPriorityLevel = currentPriorityLevel; 61150 return function () { 61151 // This is a fork of runWithPriority, inlined for performance. 61152 var previousPriorityLevel = currentPriorityLevel; 61153 currentPriorityLevel = parentPriorityLevel; 61154 61155 try { 61156 return callback.apply(this, arguments); 61157 } finally { 61158 currentPriorityLevel = previousPriorityLevel; 61159 } 61160 }; 61161} 61162 61163function timeoutForPriorityLevel(priorityLevel) { 61164 switch (priorityLevel) { 61165 case ImmediatePriority: 61166 return IMMEDIATE_PRIORITY_TIMEOUT; 61167 61168 case UserBlockingPriority: 61169 return USER_BLOCKING_PRIORITY; 61170 61171 case IdlePriority: 61172 return IDLE_PRIORITY; 61173 61174 case LowPriority: 61175 return LOW_PRIORITY_TIMEOUT; 61176 61177 case NormalPriority: 61178 default: 61179 return NORMAL_PRIORITY_TIMEOUT; 61180 } 61181} 61182 61183function unstable_scheduleCallback(priorityLevel, callback, options) { 61184 var currentTime = exports.unstable_now(); 61185 var startTime; 61186 var timeout; 61187 61188 if (typeof options === 'object' && options !== null) { 61189 var delay = options.delay; 61190 61191 if (typeof delay === 'number' && delay > 0) { 61192 startTime = currentTime + delay; 61193 } else { 61194 startTime = currentTime; 61195 } 61196 61197 timeout = typeof options.timeout === 'number' ? options.timeout : timeoutForPriorityLevel(priorityLevel); 61198 } else { 61199 timeout = timeoutForPriorityLevel(priorityLevel); 61200 startTime = currentTime; 61201 } 61202 61203 var expirationTime = startTime + timeout; 61204 var newTask = { 61205 id: taskIdCounter++, 61206 callback: callback, 61207 priorityLevel: priorityLevel, 61208 startTime: startTime, 61209 expirationTime: expirationTime, 61210 sortIndex: -1 61211 }; 61212 61213 { 61214 newTask.isQueued = false; 61215 } 61216 61217 if (startTime > currentTime) { 61218 // This is a delayed task. 61219 newTask.sortIndex = startTime; 61220 push(timerQueue, newTask); 61221 61222 if (peek(taskQueue) === null && newTask === peek(timerQueue)) { 61223 // All tasks are delayed, and this is the task with the earliest delay. 61224 if (isHostTimeoutScheduled) { 61225 // Cancel an existing timeout. 61226 cancelHostTimeout(); 61227 } else { 61228 isHostTimeoutScheduled = true; 61229 } // Schedule a timeout. 61230 61231 61232 requestHostTimeout(handleTimeout, startTime - currentTime); 61233 } 61234 } else { 61235 newTask.sortIndex = expirationTime; 61236 push(taskQueue, newTask); 61237 61238 { 61239 markTaskStart(newTask, currentTime); 61240 newTask.isQueued = true; 61241 } // Schedule a host callback, if needed. If we're already performing work, 61242 // wait until the next time we yield. 61243 61244 61245 if (!isHostCallbackScheduled && !isPerformingWork) { 61246 isHostCallbackScheduled = true; 61247 requestHostCallback(flushWork); 61248 } 61249 } 61250 61251 return newTask; 61252} 61253 61254function unstable_pauseExecution() { 61255} 61256 61257function unstable_continueExecution() { 61258 61259 if (!isHostCallbackScheduled && !isPerformingWork) { 61260 isHostCallbackScheduled = true; 61261 requestHostCallback(flushWork); 61262 } 61263} 61264 61265function unstable_getFirstCallbackNode() { 61266 return peek(taskQueue); 61267} 61268 61269function unstable_cancelCallback(task) { 61270 { 61271 if (task.isQueued) { 61272 var currentTime = exports.unstable_now(); 61273 markTaskCanceled(task, currentTime); 61274 task.isQueued = false; 61275 } 61276 } // Null out the callback to indicate the task has been canceled. (Can't 61277 // remove from the queue because you can't remove arbitrary nodes from an 61278 // array based heap, only the first one.) 61279 61280 61281 task.callback = null; 61282} 61283 61284function unstable_getCurrentPriorityLevel() { 61285 return currentPriorityLevel; 61286} 61287 61288function unstable_shouldYield() { 61289 var currentTime = exports.unstable_now(); 61290 advanceTimers(currentTime); 61291 var firstTask = peek(taskQueue); 61292 return firstTask !== currentTask && currentTask !== null && firstTask !== null && firstTask.callback !== null && firstTask.startTime <= currentTime && firstTask.expirationTime < currentTask.expirationTime || shouldYieldToHost(); 61293} 61294 61295var unstable_requestPaint = requestPaint; 61296var unstable_Profiling = { 61297 startLoggingProfilingEvents: startLoggingProfilingEvents, 61298 stopLoggingProfilingEvents: stopLoggingProfilingEvents, 61299 sharedProfilingBuffer: sharedProfilingBuffer 61300} ; 61301 61302exports.unstable_IdlePriority = IdlePriority; 61303exports.unstable_ImmediatePriority = ImmediatePriority; 61304exports.unstable_LowPriority = LowPriority; 61305exports.unstable_NormalPriority = NormalPriority; 61306exports.unstable_Profiling = unstable_Profiling; 61307exports.unstable_UserBlockingPriority = UserBlockingPriority; 61308exports.unstable_cancelCallback = unstable_cancelCallback; 61309exports.unstable_continueExecution = unstable_continueExecution; 61310exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; 61311exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; 61312exports.unstable_next = unstable_next; 61313exports.unstable_pauseExecution = unstable_pauseExecution; 61314exports.unstable_requestPaint = unstable_requestPaint; 61315exports.unstable_runWithPriority = unstable_runWithPriority; 61316exports.unstable_scheduleCallback = unstable_scheduleCallback; 61317exports.unstable_shouldYield = unstable_shouldYield; 61318exports.unstable_wrapCallback = unstable_wrapCallback; 61319 })(); 61320} 61321 61322 61323/***/ }), 61324
vendor: 458 bytes, lines 61325-61341
61325/***/ "./node_modules/scheduler/index.js": 61326/*!*****************************************!*\ 61327 !*** ./node_modules/scheduler/index.js ***! 61328 \*****************************************/ 61329/*! no static exports found */ 61330/***/ (function(module, exports, __webpack_require__) { 61331 61332"use strict"; 61333 61334 61335if (false) {} else { 61336 module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ "./node_modules/scheduler/cjs/scheduler.development.js"); 61337} 61338 61339 61340/***/ }), 61341
vendor: 482 bytes, lines 61342-61358
61342/***/ "./node_modules/scheduler/tracing.js": 61343/*!*******************************************!*\ 61344 !*** ./node_modules/scheduler/tracing.js ***! 61345 \*******************************************/ 61346/*! no static exports found */ 61347/***/ (function(module, exports, __webpack_require__) { 61348 61349"use strict"; 61350 61351 61352if (false) {} else { 61353 module.exports = __webpack_require__(/*! ./cjs/scheduler-tracing.development.js */ "./node_modules/scheduler/cjs/scheduler-tracing.development.js"); 61354} 61355 61356 61357/***/ }), 61358
vendor: 2,742 bytes, lines 61359-61369
61359/***/ "./node_modules/text-mask-addons/dist/createNumberMask.js": 61360/*!****************************************************************!*\ 61361 !*** ./node_modules/text-mask-addons/dist/createNumberMask.js ***! 61362 \****************************************************************/ 61363/*! no static exports found */ 61364/***/ (function(module, exports, __webpack_require__) { 61365 61366!function(e,t){ true?module.exports=t():undefined}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){e.exports=o(2)},,function(e,t){"use strict";function o(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=e.length;if(e===l||e[0]===y[0]&&1===t)return y.split(l).concat([v]).concat(g.split(l));if(e===k&&M)return y.split(l).concat(["0",k,v]).concat(g.split(l));var o=e[0]===s&&q;o&&(e=e.toString().substr(1));var c=e.lastIndexOf(k),u=c!==-1,a=void 0,b=void 0,h=void 0;if(e.slice(T*-1)===g&&(e=e.slice(0,T*-1)),u&&(M||$)?(a=e.slice(e.slice(0,R)===y?R:0,c),b=e.slice(c+1,t),b=n(b.replace(f,l))):a=e.slice(0,R)===y?e.slice(R):e,P&&("undefined"==typeof P?"undefined":r(P))===p){var S="."===j?"[.]":""+j,w=(a.match(new RegExp(S,"g"))||[]).length;a=a.slice(0,P+w*Z)}return a=a.replace(f,l),E||(a=a.replace(/^0+(0$|[^0])/,"$1")),a=x?i(a,j):a,h=n(a),(u&&M||$===!0)&&(e[c-1]!==k&&h.push(m),h.push(k,m),b&&(("undefined"==typeof L?"undefined":r(L))===p&&(b=b.slice(0,L)),h=h.concat(b)),$===!0&&e[c-1]===k&&h.push(v)),R>0&&(h=y.split(l).concat(h)),o&&(h.length===R&&h.push(v),h=[d].concat(h)),g.length>0&&(h=h.concat(g.split(l))),h}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t.prefix,y=void 0===o?c:o,b=t.suffix,g=void 0===b?l:b,h=t.includeThousandsSeparator,x=void 0===h||h,S=t.thousandsSeparatorSymbol,j=void 0===S?u:S,w=t.allowDecimal,M=void 0!==w&&w,N=t.decimalSymbol,k=void 0===N?a:N,D=t.decimalLimit,L=void 0===D?2:D,O=t.requireDecimal,$=void 0!==O&&O,_=t.allowNegative,q=void 0!==_&&_,B=t.allowLeadingZeroes,E=void 0!==B&&B,I=t.integerLimit,P=void 0===I?null:I,R=y&&y.length||0,T=g&&g.length||0,Z=j&&j.length||0;return e.instanceOf="createNumberMask",e}function n(e){return e.split(l).map(function(e){return v.test(e)?v:e})}function i(e,t){return e.replace(/\B(?=(\d{3})+(?!\d))/g,t)}Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var c="$",l="",u=",",a=".",s="-",d=/-/,f=/\D+/g,p="number",v=/\d/,m="[]"}])}); 61367 61368/***/ }), 61369
vendor: 835 bytes, lines 61370-61402
61370/***/ "./node_modules/tiny-warning/dist/tiny-warning.esm.js": 61371/*!************************************************************!*\ 61372 !*** ./node_modules/tiny-warning/dist/tiny-warning.esm.js ***! 61373 \************************************************************/ 61374/*! exports provided: default */ 61375/***/ (function(module, __webpack_exports__, __webpack_require__) { 61376 61377"use strict"; 61378__webpack_require__.r(__webpack_exports__); 61379var isProduction = "development" === 'production'; 61380function warning(condition, message) { 61381 if (!isProduction) { 61382 if (condition) { 61383 return; 61384 } 61385 61386 var text = "Warning: " + message; 61387 61388 if (typeof console !== 'undefined') { 61389 console.warn(text); 61390 } 61391 61392 try { 61393 throw Error(text); 61394 } catch (x) {} 61395 } 61396} 61397 61398/* harmony default export */ __webpack_exports__["default"] = (warning); 61399 61400 61401/***/ }), 61402
vendor: 724 bytes, lines 61403-61433
61403/***/ "./node_modules/webpack/buildin/global.js": 61404/*!***********************************!*\ 61405 !*** (webpack)/buildin/global.js ***! 61406 \***********************************/ 61407/*! no static exports found */ 61408/***/ (function(module, exports) { 61409 61410var g; 61411 61412// This works in non-strict mode 61413g = (function() { 61414 return this; 61415})(); 61416 61417try { 61418 // This works if eval is allowed (see CSP) 61419 g = g || new Function("return this")(); 61420} catch (e) { 61421 // This works if the window reference is available 61422 if (typeof window === "object") g = window; 61423} 61424 61425// g can still be undefined, but nothing to do about it... 61426// We return undefined, instead of nothing here, so it's 61427// easier to handle this case. if(!global) { ...} 61428 61429module.exports = g; 61430 61431 61432/***/ }), 61433
vendor: 857 bytes, lines 61434-61468
61434/***/ "./node_modules/webpack/buildin/harmony-module.js": 61435/*!*******************************************!*\ 61436 !*** (webpack)/buildin/harmony-module.js ***! 61437 \*******************************************/ 61438/*! no static exports found */ 61439/***/ (function(module, exports) { 61440 61441module.exports = function(originalModule) { 61442 if (!originalModule.webpackPolyfill) { 61443 var module = Object.create(originalModule); 61444 // module.parent = undefined by default 61445 if (!module.children) module.children = []; 61446 Object.defineProperty(module, "loaded", { 61447 enumerable: true, 61448 get: function() { 61449 return module.l; 61450 } 61451 }); 61452 Object.defineProperty(module, "id", { 61453 enumerable: true, 61454 get: function() { 61455 return module.i; 61456 } 61457 }); 61458 Object.defineProperty(module, "exports", { 61459 enumerable: true 61460 }); 61461 module.webpackPolyfill = 1; 61462 } 61463 return module; 61464}; 61465 61466 61467/***/ }), 61468
vendor: 746 bytes, lines 61469-61500
61469/***/ "./node_modules/webpack/buildin/module.js": 61470/*!***********************************!*\ 61471 !*** (webpack)/buildin/module.js ***! 61472 \***********************************/ 61473/*! no static exports found */ 61474/***/ (function(module, exports) { 61475 61476module.exports = function(module) { 61477 if (!module.webpackPolyfill) { 61478 module.deprecate = function() {}; 61479 module.paths = []; 61480 // module.parent = undefined by default 61481 if (!module.children) module.children = []; 61482 Object.defineProperty(module, "loaded", { 61483 enumerable: true, 61484 get: function() { 61485 return module.l; 61486 } 61487 }); 61488 Object.defineProperty(module, "id", { 61489 enumerable: true, 61490 get: function() { 61491 return module.i; 61492 } 61493 }); 61494 module.webpackPolyfill = 1; 61495 } 61496 return module; 61497}; 61498 61499 61500/***/ })
61500, 61501 61502/***/ 0: 61503/*!****************************!*\ 61504 !*** multi ./js/donate.js ***! 61505 \****************************/ 61506/*! no static exports found */ 61507/***/ (function(module, exports, __webpack_require__) { 61508 61509module.exports = __webpack_require__(/*! ./js/donate.js */"./js/donate.js"); 61510 61511 61512/***/ }) 61513 61514/******/ }); 61515//# sourceMappingURL=donate.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.