UNPKG

108 kBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory(require("react"));
4 else if(typeof define === 'function' && define.amd)
5 define(["react"], factory);
6 else if(typeof exports === 'object')
7 exports["react-flags"] = factory(require("react"));
8 else
9 root["react-flags"] = factory(root["React"]);
10})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId])
20/******/ return installedModules[moduleId].exports;
21
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ exports: {},
25/******/ id: moduleId,
26/******/ loaded: false
27/******/ };
28
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
32/******/ // Flag the module as loaded
33/******/ module.loaded = true;
34
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38
39
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45
46/******/ // __webpack_public_path__
47/******/ __webpack_require__.p = "";
48
49/******/ // Load entry module and return exports
50/******/ return __webpack_require__(0);
51/******/ })
52/************************************************************************/
53/******/ ([
54/* 0 */
55/***/ (function(module, exports, __webpack_require__) {
56
57 module.exports = __webpack_require__(1);
58
59
60/***/ }),
61/* 1 */
62/***/ (function(module, exports, __webpack_require__) {
63
64 'use strict';
65
66 Object.defineProperty(exports, '__esModule', {
67 value: true
68 });
69
70 var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
71
72 var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
73
74 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
75
76 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
77
78 function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
79
80 var _react = __webpack_require__(2);
81
82 var _react2 = _interopRequireDefault(_react);
83
84 var _propTypes = __webpack_require__(3);
85
86 var _propTypes2 = _interopRequireDefault(_propTypes);
87
88 var _flagsJson5 = __webpack_require__(13);
89
90 var _flagsJson52 = _interopRequireDefault(_flagsJson5);
91
92 var _lodashCollectionFind = __webpack_require__(14);
93
94 var _lodashCollectionFind2 = _interopRequireDefault(_lodashCollectionFind);
95
96 var _filterLoaderCca2Cca3WorldCountriesCountriesJson = __webpack_require__(63);
97
98 var _filterLoaderCca2Cca3WorldCountriesCountriesJson2 = _interopRequireDefault(_filterLoaderCca2Cca3WorldCountriesCountriesJson);
99
100 var Flag = (function (_React$Component) {
101 _inherits(Flag, _React$Component);
102
103 function Flag() {
104 _classCallCheck(this, Flag);
105
106 _get(Object.getPrototypeOf(Flag.prototype), 'constructor', this).apply(this, arguments);
107 }
108
109 _createClass(Flag, [{
110 key: 'cca3To2',
111
112 /**
113 * React properties
114 */
115
116 /**
117 * React lifecycle
118 */
119
120 // Get information about a country using the alpha-3 ISO code.
121 value: function cca3To2(cca3) {
122 var country = (0, _lodashCollectionFind2['default'])(_filterLoaderCca2Cca3WorldCountriesCountriesJson2['default'], { cca3: cca3 });
123 return country ? country.cca2 : '_unknown';
124 }
125
126 /**
127 * React render
128 */
129
130 }, {
131 key: 'render',
132 value: function render() {
133 var country = this.props.name ? this.props.name : this.props.country;
134
135 country = country.length === 3 ? this.cca3To2(country) : country;
136
137 var type = this.props.shiny ? 'shiny' : 'flat';
138
139 var folder = this.props.format === 'icns' || this.props.format === 'ico' ? this.props.format : this.props.pngSize;
140
141 var altText = this.props.alt ? this.props.alt : country;
142
143 var file = country.charAt(0) === '_' ? country : country.toUpperCase();
144
145 var flag = ~_flagsJson52['default'].flags.indexOf(file) ? file : '_unknown';
146
147 return _react2['default'].createElement('img', {
148 alt: altText,
149 src: this.props.basePath + '/flags-iso/' + type + '/' + folder + '/' + flag + '.' + this.props.format,
150 className: this.props.className,
151 width: this.props.width,
152 height: this.props.height
153 });
154 }
155 }]);
156
157 return Flag;
158 })(_react2['default'].Component);
159
160 Flag.propTypes = {
161 // Alternative text of the flag <img> HTML tag.
162 alt: _propTypes2['default'].string,
163
164 // Base path to the content of /vendor
165 basePath: _propTypes2['default'].string,
166
167 // Country or region for this flag. (Legacy)
168 country: _propTypes2['default'].string,
169
170 // File format of the flag.
171 format: _propTypes2['default'].oneOf(['png', 'icns', 'ico']),
172
173 // Height of the flag <img> HTML tag.
174 height: _propTypes2['default'].number,
175
176 // Image className
177 className: _propTypes2['default'].string,
178
179 // Name of country or region for this flag. (Legacy)
180 name: _propTypes2['default'].string,
181
182 // Size of the PNG country flag
183 pngSize: _propTypes2['default'].oneOf([16, 24, 32, 48, 64]),
184
185 // Shiny or Flat
186 shiny: _propTypes2['default'].bool,
187
188 // Width of the flag <img> HTML tag.
189 width: _propTypes2['default'].number
190 };
191
192 Flag.defaultProps = function () {
193 return {
194 basePath: '/img/flags',
195
196 country: '_unknown',
197
198 name: null,
199
200 format: 'png',
201
202 pngSize: 32,
203
204 shiny: false,
205
206 className: '',
207
208 width: null,
209
210 height: null,
211
212 alt: null
213 };
214 };
215
216 exports['default'] = Flag;
217 module.exports = exports['default'];
218
219/***/ }),
220/* 2 */
221/***/ (function(module, exports) {
222
223 module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
224
225/***/ }),
226/* 3 */
227/***/ (function(module, exports, __webpack_require__) {
228
229 /* WEBPACK VAR INJECTION */(function(process) {/**
230 * Copyright (c) 2013-present, Facebook, Inc.
231 *
232 * This source code is licensed under the MIT license found in the
233 * LICENSE file in the root directory of this source tree.
234 */
235
236 if (process.env.NODE_ENV !== 'production') {
237 var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
238 Symbol.for &&
239 Symbol.for('react.element')) ||
240 0xeac7;
241
242 var isValidElement = function(object) {
243 return typeof object === 'object' &&
244 object !== null &&
245 object.$$typeof === REACT_ELEMENT_TYPE;
246 };
247
248 // By explicitly using `prop-types` you are opting into new development behavior.
249 // http://fb.me/prop-types-in-prod
250 var throwOnDirectAccess = true;
251 module.exports = __webpack_require__(5)(isValidElement, throwOnDirectAccess);
252 } else {
253 // By explicitly using `prop-types` you are opting into new production behavior.
254 // http://fb.me/prop-types-in-prod
255 module.exports = __webpack_require__(12)();
256 }
257
258 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
259
260/***/ }),
261/* 4 */
262/***/ (function(module, exports) {
263
264 // shim for using process in browser
265 var process = module.exports = {};
266
267 // cached from whatever global is present so that test runners that stub it
268 // don't break things. But we need to wrap it in a try catch in case it is
269 // wrapped in strict mode code which doesn't define any globals. It's inside a
270 // function because try/catches deoptimize in certain engines.
271
272 var cachedSetTimeout;
273 var cachedClearTimeout;
274
275 function defaultSetTimout() {
276 throw new Error('setTimeout has not been defined');
277 }
278 function defaultClearTimeout () {
279 throw new Error('clearTimeout has not been defined');
280 }
281 (function () {
282 try {
283 if (typeof setTimeout === 'function') {
284 cachedSetTimeout = setTimeout;
285 } else {
286 cachedSetTimeout = defaultSetTimout;
287 }
288 } catch (e) {
289 cachedSetTimeout = defaultSetTimout;
290 }
291 try {
292 if (typeof clearTimeout === 'function') {
293 cachedClearTimeout = clearTimeout;
294 } else {
295 cachedClearTimeout = defaultClearTimeout;
296 }
297 } catch (e) {
298 cachedClearTimeout = defaultClearTimeout;
299 }
300 } ())
301 function runTimeout(fun) {
302 if (cachedSetTimeout === setTimeout) {
303 //normal enviroments in sane situations
304 return setTimeout(fun, 0);
305 }
306 // if setTimeout wasn't available but was latter defined
307 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
308 cachedSetTimeout = setTimeout;
309 return setTimeout(fun, 0);
310 }
311 try {
312 // when when somebody has screwed with setTimeout but no I.E. maddness
313 return cachedSetTimeout(fun, 0);
314 } catch(e){
315 try {
316 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
317 return cachedSetTimeout.call(null, fun, 0);
318 } catch(e){
319 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
320 return cachedSetTimeout.call(this, fun, 0);
321 }
322 }
323
324
325 }
326 function runClearTimeout(marker) {
327 if (cachedClearTimeout === clearTimeout) {
328 //normal enviroments in sane situations
329 return clearTimeout(marker);
330 }
331 // if clearTimeout wasn't available but was latter defined
332 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
333 cachedClearTimeout = clearTimeout;
334 return clearTimeout(marker);
335 }
336 try {
337 // when when somebody has screwed with setTimeout but no I.E. maddness
338 return cachedClearTimeout(marker);
339 } catch (e){
340 try {
341 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
342 return cachedClearTimeout.call(null, marker);
343 } catch (e){
344 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
345 // Some versions of I.E. have different rules for clearTimeout vs setTimeout
346 return cachedClearTimeout.call(this, marker);
347 }
348 }
349
350
351
352 }
353 var queue = [];
354 var draining = false;
355 var currentQueue;
356 var queueIndex = -1;
357
358 function cleanUpNextTick() {
359 if (!draining || !currentQueue) {
360 return;
361 }
362 draining = false;
363 if (currentQueue.length) {
364 queue = currentQueue.concat(queue);
365 } else {
366 queueIndex = -1;
367 }
368 if (queue.length) {
369 drainQueue();
370 }
371 }
372
373 function drainQueue() {
374 if (draining) {
375 return;
376 }
377 var timeout = runTimeout(cleanUpNextTick);
378 draining = true;
379
380 var len = queue.length;
381 while(len) {
382 currentQueue = queue;
383 queue = [];
384 while (++queueIndex < len) {
385 if (currentQueue) {
386 currentQueue[queueIndex].run();
387 }
388 }
389 queueIndex = -1;
390 len = queue.length;
391 }
392 currentQueue = null;
393 draining = false;
394 runClearTimeout(timeout);
395 }
396
397 process.nextTick = function (fun) {
398 var args = new Array(arguments.length - 1);
399 if (arguments.length > 1) {
400 for (var i = 1; i < arguments.length; i++) {
401 args[i - 1] = arguments[i];
402 }
403 }
404 queue.push(new Item(fun, args));
405 if (queue.length === 1 && !draining) {
406 runTimeout(drainQueue);
407 }
408 };
409
410 // v8 likes predictible objects
411 function Item(fun, array) {
412 this.fun = fun;
413 this.array = array;
414 }
415 Item.prototype.run = function () {
416 this.fun.apply(null, this.array);
417 };
418 process.title = 'browser';
419 process.browser = true;
420 process.env = {};
421 process.argv = [];
422 process.version = ''; // empty string to avoid regexp issues
423 process.versions = {};
424
425 function noop() {}
426
427 process.on = noop;
428 process.addListener = noop;
429 process.once = noop;
430 process.off = noop;
431 process.removeListener = noop;
432 process.removeAllListeners = noop;
433 process.emit = noop;
434 process.prependListener = noop;
435 process.prependOnceListener = noop;
436
437 process.listeners = function (name) { return [] }
438
439 process.binding = function (name) {
440 throw new Error('process.binding is not supported');
441 };
442
443 process.cwd = function () { return '/' };
444 process.chdir = function (dir) {
445 throw new Error('process.chdir is not supported');
446 };
447 process.umask = function() { return 0; };
448
449
450/***/ }),
451/* 5 */
452/***/ (function(module, exports, __webpack_require__) {
453
454 /* WEBPACK VAR INJECTION */(function(process) {/**
455 * Copyright (c) 2013-present, Facebook, Inc.
456 *
457 * This source code is licensed under the MIT license found in the
458 * LICENSE file in the root directory of this source tree.
459 */
460
461 'use strict';
462
463 var emptyFunction = __webpack_require__(6);
464 var invariant = __webpack_require__(7);
465 var warning = __webpack_require__(8);
466 var assign = __webpack_require__(9);
467
468 var ReactPropTypesSecret = __webpack_require__(10);
469 var checkPropTypes = __webpack_require__(11);
470
471 module.exports = function(isValidElement, throwOnDirectAccess) {
472 /* global Symbol */
473 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
474 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
475
476 /**
477 * Returns the iterator method function contained on the iterable object.
478 *
479 * Be sure to invoke the function with the iterable as context:
480 *
481 * var iteratorFn = getIteratorFn(myIterable);
482 * if (iteratorFn) {
483 * var iterator = iteratorFn.call(myIterable);
484 * ...
485 * }
486 *
487 * @param {?object} maybeIterable
488 * @return {?function}
489 */
490 function getIteratorFn(maybeIterable) {
491 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
492 if (typeof iteratorFn === 'function') {
493 return iteratorFn;
494 }
495 }
496
497 /**
498 * Collection of methods that allow declaration and validation of props that are
499 * supplied to React components. Example usage:
500 *
501 * var Props = require('ReactPropTypes');
502 * var MyArticle = React.createClass({
503 * propTypes: {
504 * // An optional string prop named "description".
505 * description: Props.string,
506 *
507 * // A required enum prop named "category".
508 * category: Props.oneOf(['News','Photos']).isRequired,
509 *
510 * // A prop named "dialog" that requires an instance of Dialog.
511 * dialog: Props.instanceOf(Dialog).isRequired
512 * },
513 * render: function() { ... }
514 * });
515 *
516 * A more formal specification of how these methods are used:
517 *
518 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
519 * decl := ReactPropTypes.{type}(.isRequired)?
520 *
521 * Each and every declaration produces a function with the same signature. This
522 * allows the creation of custom validation functions. For example:
523 *
524 * var MyLink = React.createClass({
525 * propTypes: {
526 * // An optional string or URI prop named "href".
527 * href: function(props, propName, componentName) {
528 * var propValue = props[propName];
529 * if (propValue != null && typeof propValue !== 'string' &&
530 * !(propValue instanceof URI)) {
531 * return new Error(
532 * 'Expected a string or an URI for ' + propName + ' in ' +
533 * componentName
534 * );
535 * }
536 * }
537 * },
538 * render: function() {...}
539 * });
540 *
541 * @internal
542 */
543
544 var ANONYMOUS = '<<anonymous>>';
545
546 // Important!
547 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
548 var ReactPropTypes = {
549 array: createPrimitiveTypeChecker('array'),
550 bool: createPrimitiveTypeChecker('boolean'),
551 func: createPrimitiveTypeChecker('function'),
552 number: createPrimitiveTypeChecker('number'),
553 object: createPrimitiveTypeChecker('object'),
554 string: createPrimitiveTypeChecker('string'),
555 symbol: createPrimitiveTypeChecker('symbol'),
556
557 any: createAnyTypeChecker(),
558 arrayOf: createArrayOfTypeChecker,
559 element: createElementTypeChecker(),
560 instanceOf: createInstanceTypeChecker,
561 node: createNodeChecker(),
562 objectOf: createObjectOfTypeChecker,
563 oneOf: createEnumTypeChecker,
564 oneOfType: createUnionTypeChecker,
565 shape: createShapeTypeChecker,
566 exact: createStrictShapeTypeChecker,
567 };
568
569 /**
570 * inlined Object.is polyfill to avoid requiring consumers ship their own
571 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
572 */
573 /*eslint-disable no-self-compare*/
574 function is(x, y) {
575 // SameValue algorithm
576 if (x === y) {
577 // Steps 1-5, 7-10
578 // Steps 6.b-6.e: +0 != -0
579 return x !== 0 || 1 / x === 1 / y;
580 } else {
581 // Step 6.a: NaN == NaN
582 return x !== x && y !== y;
583 }
584 }
585 /*eslint-enable no-self-compare*/
586
587 /**
588 * We use an Error-like object for backward compatibility as people may call
589 * PropTypes directly and inspect their output. However, we don't use real
590 * Errors anymore. We don't inspect their stack anyway, and creating them
591 * is prohibitively expensive if they are created too often, such as what
592 * happens in oneOfType() for any type before the one that matched.
593 */
594 function PropTypeError(message) {
595 this.message = message;
596 this.stack = '';
597 }
598 // Make `instanceof Error` still work for returned errors.
599 PropTypeError.prototype = Error.prototype;
600
601 function createChainableTypeChecker(validate) {
602 if (process.env.NODE_ENV !== 'production') {
603 var manualPropTypeCallCache = {};
604 var manualPropTypeWarningCount = 0;
605 }
606 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
607 componentName = componentName || ANONYMOUS;
608 propFullName = propFullName || propName;
609
610 if (secret !== ReactPropTypesSecret) {
611 if (throwOnDirectAccess) {
612 // New behavior only for users of `prop-types` package
613 invariant(
614 false,
615 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
616 'Use `PropTypes.checkPropTypes()` to call them. ' +
617 'Read more at http://fb.me/use-check-prop-types'
618 );
619 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
620 // Old behavior for people using React.PropTypes
621 var cacheKey = componentName + ':' + propName;
622 if (
623 !manualPropTypeCallCache[cacheKey] &&
624 // Avoid spamming the console because they are often not actionable except for lib authors
625 manualPropTypeWarningCount < 3
626 ) {
627 warning(
628 false,
629 'You are manually calling a React.PropTypes validation ' +
630 'function for the `%s` prop on `%s`. This is deprecated ' +
631 'and will throw in the standalone `prop-types` package. ' +
632 'You may be seeing this warning due to a third-party PropTypes ' +
633 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
634 propFullName,
635 componentName
636 );
637 manualPropTypeCallCache[cacheKey] = true;
638 manualPropTypeWarningCount++;
639 }
640 }
641 }
642 if (props[propName] == null) {
643 if (isRequired) {
644 if (props[propName] === null) {
645 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
646 }
647 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
648 }
649 return null;
650 } else {
651 return validate(props, propName, componentName, location, propFullName);
652 }
653 }
654
655 var chainedCheckType = checkType.bind(null, false);
656 chainedCheckType.isRequired = checkType.bind(null, true);
657
658 return chainedCheckType;
659 }
660
661 function createPrimitiveTypeChecker(expectedType) {
662 function validate(props, propName, componentName, location, propFullName, secret) {
663 var propValue = props[propName];
664 var propType = getPropType(propValue);
665 if (propType !== expectedType) {
666 // `propValue` being instance of, say, date/regexp, pass the 'object'
667 // check, but we can offer a more precise error message here rather than
668 // 'of type `object`'.
669 var preciseType = getPreciseType(propValue);
670
671 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
672 }
673 return null;
674 }
675 return createChainableTypeChecker(validate);
676 }
677
678 function createAnyTypeChecker() {
679 return createChainableTypeChecker(emptyFunction.thatReturnsNull);
680 }
681
682 function createArrayOfTypeChecker(typeChecker) {
683 function validate(props, propName, componentName, location, propFullName) {
684 if (typeof typeChecker !== 'function') {
685 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
686 }
687 var propValue = props[propName];
688 if (!Array.isArray(propValue)) {
689 var propType = getPropType(propValue);
690 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
691 }
692 for (var i = 0; i < propValue.length; i++) {
693 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
694 if (error instanceof Error) {
695 return error;
696 }
697 }
698 return null;
699 }
700 return createChainableTypeChecker(validate);
701 }
702
703 function createElementTypeChecker() {
704 function validate(props, propName, componentName, location, propFullName) {
705 var propValue = props[propName];
706 if (!isValidElement(propValue)) {
707 var propType = getPropType(propValue);
708 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
709 }
710 return null;
711 }
712 return createChainableTypeChecker(validate);
713 }
714
715 function createInstanceTypeChecker(expectedClass) {
716 function validate(props, propName, componentName, location, propFullName) {
717 if (!(props[propName] instanceof expectedClass)) {
718 var expectedClassName = expectedClass.name || ANONYMOUS;
719 var actualClassName = getClassName(props[propName]);
720 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
721 }
722 return null;
723 }
724 return createChainableTypeChecker(validate);
725 }
726
727 function createEnumTypeChecker(expectedValues) {
728 if (!Array.isArray(expectedValues)) {
729 process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
730 return emptyFunction.thatReturnsNull;
731 }
732
733 function validate(props, propName, componentName, location, propFullName) {
734 var propValue = props[propName];
735 for (var i = 0; i < expectedValues.length; i++) {
736 if (is(propValue, expectedValues[i])) {
737 return null;
738 }
739 }
740
741 var valuesString = JSON.stringify(expectedValues);
742 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
743 }
744 return createChainableTypeChecker(validate);
745 }
746
747 function createObjectOfTypeChecker(typeChecker) {
748 function validate(props, propName, componentName, location, propFullName) {
749 if (typeof typeChecker !== 'function') {
750 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
751 }
752 var propValue = props[propName];
753 var propType = getPropType(propValue);
754 if (propType !== 'object') {
755 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
756 }
757 for (var key in propValue) {
758 if (propValue.hasOwnProperty(key)) {
759 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
760 if (error instanceof Error) {
761 return error;
762 }
763 }
764 }
765 return null;
766 }
767 return createChainableTypeChecker(validate);
768 }
769
770 function createUnionTypeChecker(arrayOfTypeCheckers) {
771 if (!Array.isArray(arrayOfTypeCheckers)) {
772 process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
773 return emptyFunction.thatReturnsNull;
774 }
775
776 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
777 var checker = arrayOfTypeCheckers[i];
778 if (typeof checker !== 'function') {
779 warning(
780 false,
781 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
782 'received %s at index %s.',
783 getPostfixForTypeWarning(checker),
784 i
785 );
786 return emptyFunction.thatReturnsNull;
787 }
788 }
789
790 function validate(props, propName, componentName, location, propFullName) {
791 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
792 var checker = arrayOfTypeCheckers[i];
793 if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
794 return null;
795 }
796 }
797
798 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
799 }
800 return createChainableTypeChecker(validate);
801 }
802
803 function createNodeChecker() {
804 function validate(props, propName, componentName, location, propFullName) {
805 if (!isNode(props[propName])) {
806 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
807 }
808 return null;
809 }
810 return createChainableTypeChecker(validate);
811 }
812
813 function createShapeTypeChecker(shapeTypes) {
814 function validate(props, propName, componentName, location, propFullName) {
815 var propValue = props[propName];
816 var propType = getPropType(propValue);
817 if (propType !== 'object') {
818 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
819 }
820 for (var key in shapeTypes) {
821 var checker = shapeTypes[key];
822 if (!checker) {
823 continue;
824 }
825 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
826 if (error) {
827 return error;
828 }
829 }
830 return null;
831 }
832 return createChainableTypeChecker(validate);
833 }
834
835 function createStrictShapeTypeChecker(shapeTypes) {
836 function validate(props, propName, componentName, location, propFullName) {
837 var propValue = props[propName];
838 var propType = getPropType(propValue);
839 if (propType !== 'object') {
840 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
841 }
842 // We need to check all keys in case some are required but missing from
843 // props.
844 var allKeys = assign({}, props[propName], shapeTypes);
845 for (var key in allKeys) {
846 var checker = shapeTypes[key];
847 if (!checker) {
848 return new PropTypeError(
849 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
850 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
851 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
852 );
853 }
854 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
855 if (error) {
856 return error;
857 }
858 }
859 return null;
860 }
861
862 return createChainableTypeChecker(validate);
863 }
864
865 function isNode(propValue) {
866 switch (typeof propValue) {
867 case 'number':
868 case 'string':
869 case 'undefined':
870 return true;
871 case 'boolean':
872 return !propValue;
873 case 'object':
874 if (Array.isArray(propValue)) {
875 return propValue.every(isNode);
876 }
877 if (propValue === null || isValidElement(propValue)) {
878 return true;
879 }
880
881 var iteratorFn = getIteratorFn(propValue);
882 if (iteratorFn) {
883 var iterator = iteratorFn.call(propValue);
884 var step;
885 if (iteratorFn !== propValue.entries) {
886 while (!(step = iterator.next()).done) {
887 if (!isNode(step.value)) {
888 return false;
889 }
890 }
891 } else {
892 // Iterator will provide entry [k,v] tuples rather than values.
893 while (!(step = iterator.next()).done) {
894 var entry = step.value;
895 if (entry) {
896 if (!isNode(entry[1])) {
897 return false;
898 }
899 }
900 }
901 }
902 } else {
903 return false;
904 }
905
906 return true;
907 default:
908 return false;
909 }
910 }
911
912 function isSymbol(propType, propValue) {
913 // Native Symbol.
914 if (propType === 'symbol') {
915 return true;
916 }
917
918 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
919 if (propValue['@@toStringTag'] === 'Symbol') {
920 return true;
921 }
922
923 // Fallback for non-spec compliant Symbols which are polyfilled.
924 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
925 return true;
926 }
927
928 return false;
929 }
930
931 // Equivalent of `typeof` but with special handling for array and regexp.
932 function getPropType(propValue) {
933 var propType = typeof propValue;
934 if (Array.isArray(propValue)) {
935 return 'array';
936 }
937 if (propValue instanceof RegExp) {
938 // Old webkits (at least until Android 4.0) return 'function' rather than
939 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
940 // passes PropTypes.object.
941 return 'object';
942 }
943 if (isSymbol(propType, propValue)) {
944 return 'symbol';
945 }
946 return propType;
947 }
948
949 // This handles more types than `getPropType`. Only used for error messages.
950 // See `createPrimitiveTypeChecker`.
951 function getPreciseType(propValue) {
952 if (typeof propValue === 'undefined' || propValue === null) {
953 return '' + propValue;
954 }
955 var propType = getPropType(propValue);
956 if (propType === 'object') {
957 if (propValue instanceof Date) {
958 return 'date';
959 } else if (propValue instanceof RegExp) {
960 return 'regexp';
961 }
962 }
963 return propType;
964 }
965
966 // Returns a string that is postfixed to a warning about an invalid type.
967 // For example, "undefined" or "of type array"
968 function getPostfixForTypeWarning(value) {
969 var type = getPreciseType(value);
970 switch (type) {
971 case 'array':
972 case 'object':
973 return 'an ' + type;
974 case 'boolean':
975 case 'date':
976 case 'regexp':
977 return 'a ' + type;
978 default:
979 return type;
980 }
981 }
982
983 // Returns class name of the object, if any.
984 function getClassName(propValue) {
985 if (!propValue.constructor || !propValue.constructor.name) {
986 return ANONYMOUS;
987 }
988 return propValue.constructor.name;
989 }
990
991 ReactPropTypes.checkPropTypes = checkPropTypes;
992 ReactPropTypes.PropTypes = ReactPropTypes;
993
994 return ReactPropTypes;
995 };
996
997 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
998
999/***/ }),
1000/* 6 */
1001/***/ (function(module, exports) {
1002
1003 "use strict";
1004
1005 /**
1006 * Copyright (c) 2013-present, Facebook, Inc.
1007 *
1008 * This source code is licensed under the MIT license found in the
1009 * LICENSE file in the root directory of this source tree.
1010 *
1011 *
1012 */
1013
1014 function makeEmptyFunction(arg) {
1015 return function () {
1016 return arg;
1017 };
1018 }
1019
1020 /**
1021 * This function accepts and discards inputs; it has no side effects. This is
1022 * primarily useful idiomatically for overridable function endpoints which
1023 * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
1024 */
1025 var emptyFunction = function emptyFunction() {};
1026
1027 emptyFunction.thatReturns = makeEmptyFunction;
1028 emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
1029 emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
1030 emptyFunction.thatReturnsNull = makeEmptyFunction(null);
1031 emptyFunction.thatReturnsThis = function () {
1032 return this;
1033 };
1034 emptyFunction.thatReturnsArgument = function (arg) {
1035 return arg;
1036 };
1037
1038 module.exports = emptyFunction;
1039
1040/***/ }),
1041/* 7 */
1042/***/ (function(module, exports, __webpack_require__) {
1043
1044 /* WEBPACK VAR INJECTION */(function(process) {/**
1045 * Copyright (c) 2013-present, Facebook, Inc.
1046 *
1047 * This source code is licensed under the MIT license found in the
1048 * LICENSE file in the root directory of this source tree.
1049 *
1050 */
1051
1052 'use strict';
1053
1054 /**
1055 * Use invariant() to assert state which your program assumes to be true.
1056 *
1057 * Provide sprintf-style format (only %s is supported) and arguments
1058 * to provide information about what broke and what you were
1059 * expecting.
1060 *
1061 * The invariant message will be stripped in production, but the invariant
1062 * will remain to ensure logic does not differ in production.
1063 */
1064
1065 var validateFormat = function validateFormat(format) {};
1066
1067 if (process.env.NODE_ENV !== 'production') {
1068 validateFormat = function validateFormat(format) {
1069 if (format === undefined) {
1070 throw new Error('invariant requires an error message argument');
1071 }
1072 };
1073 }
1074
1075 function invariant(condition, format, a, b, c, d, e, f) {
1076 validateFormat(format);
1077
1078 if (!condition) {
1079 var error;
1080 if (format === undefined) {
1081 error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
1082 } else {
1083 var args = [a, b, c, d, e, f];
1084 var argIndex = 0;
1085 error = new Error(format.replace(/%s/g, function () {
1086 return args[argIndex++];
1087 }));
1088 error.name = 'Invariant Violation';
1089 }
1090
1091 error.framesToPop = 1; // we don't care about invariant's own frame
1092 throw error;
1093 }
1094 }
1095
1096 module.exports = invariant;
1097 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
1098
1099/***/ }),
1100/* 8 */
1101/***/ (function(module, exports, __webpack_require__) {
1102
1103 /* WEBPACK VAR INJECTION */(function(process) {/**
1104 * Copyright (c) 2014-present, Facebook, Inc.
1105 *
1106 * This source code is licensed under the MIT license found in the
1107 * LICENSE file in the root directory of this source tree.
1108 *
1109 */
1110
1111 'use strict';
1112
1113 var emptyFunction = __webpack_require__(6);
1114
1115 /**
1116 * Similar to invariant but only logs a warning if the condition is not met.
1117 * This can be used to log issues in development environments in critical
1118 * paths. Removing the logging code for production environments will keep the
1119 * same logic and follow the same code paths.
1120 */
1121
1122 var warning = emptyFunction;
1123
1124 if (process.env.NODE_ENV !== 'production') {
1125 var printWarning = function printWarning(format) {
1126 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1127 args[_key - 1] = arguments[_key];
1128 }
1129
1130 var argIndex = 0;
1131 var message = 'Warning: ' + format.replace(/%s/g, function () {
1132 return args[argIndex++];
1133 });
1134 if (typeof console !== 'undefined') {
1135 console.error(message);
1136 }
1137 try {
1138 // --- Welcome to debugging React ---
1139 // This error was thrown as a convenience so that you can use this stack
1140 // to find the callsite that caused this warning to fire.
1141 throw new Error(message);
1142 } catch (x) {}
1143 };
1144
1145 warning = function warning(condition, format) {
1146 if (format === undefined) {
1147 throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
1148 }
1149
1150 if (format.indexOf('Failed Composite propType: ') === 0) {
1151 return; // Ignore CompositeComponent proptype check.
1152 }
1153
1154 if (!condition) {
1155 for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
1156 args[_key2 - 2] = arguments[_key2];
1157 }
1158
1159 printWarning.apply(undefined, [format].concat(args));
1160 }
1161 };
1162 }
1163
1164 module.exports = warning;
1165 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
1166
1167/***/ }),
1168/* 9 */
1169/***/ (function(module, exports) {
1170
1171 /*
1172 object-assign
1173 (c) Sindre Sorhus
1174 @license MIT
1175 */
1176
1177 'use strict';
1178 /* eslint-disable no-unused-vars */
1179 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1180 var hasOwnProperty = Object.prototype.hasOwnProperty;
1181 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
1182
1183 function toObject(val) {
1184 if (val === null || val === undefined) {
1185 throw new TypeError('Object.assign cannot be called with null or undefined');
1186 }
1187
1188 return Object(val);
1189 }
1190
1191 function shouldUseNative() {
1192 try {
1193 if (!Object.assign) {
1194 return false;
1195 }
1196
1197 // Detect buggy property enumeration order in older V8 versions.
1198
1199 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
1200 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
1201 test1[5] = 'de';
1202 if (Object.getOwnPropertyNames(test1)[0] === '5') {
1203 return false;
1204 }
1205
1206 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1207 var test2 = {};
1208 for (var i = 0; i < 10; i++) {
1209 test2['_' + String.fromCharCode(i)] = i;
1210 }
1211 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
1212 return test2[n];
1213 });
1214 if (order2.join('') !== '0123456789') {
1215 return false;
1216 }
1217
1218 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1219 var test3 = {};
1220 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
1221 test3[letter] = letter;
1222 });
1223 if (Object.keys(Object.assign({}, test3)).join('') !==
1224 'abcdefghijklmnopqrst') {
1225 return false;
1226 }
1227
1228 return true;
1229 } catch (err) {
1230 // We don't expect any of the above to throw, but better to be safe.
1231 return false;
1232 }
1233 }
1234
1235 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
1236 var from;
1237 var to = toObject(target);
1238 var symbols;
1239
1240 for (var s = 1; s < arguments.length; s++) {
1241 from = Object(arguments[s]);
1242
1243 for (var key in from) {
1244 if (hasOwnProperty.call(from, key)) {
1245 to[key] = from[key];
1246 }
1247 }
1248
1249 if (getOwnPropertySymbols) {
1250 symbols = getOwnPropertySymbols(from);
1251 for (var i = 0; i < symbols.length; i++) {
1252 if (propIsEnumerable.call(from, symbols[i])) {
1253 to[symbols[i]] = from[symbols[i]];
1254 }
1255 }
1256 }
1257 }
1258
1259 return to;
1260 };
1261
1262
1263/***/ }),
1264/* 10 */
1265/***/ (function(module, exports) {
1266
1267 /**
1268 * Copyright (c) 2013-present, Facebook, Inc.
1269 *
1270 * This source code is licensed under the MIT license found in the
1271 * LICENSE file in the root directory of this source tree.
1272 */
1273
1274 'use strict';
1275
1276 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
1277
1278 module.exports = ReactPropTypesSecret;
1279
1280
1281/***/ }),
1282/* 11 */
1283/***/ (function(module, exports, __webpack_require__) {
1284
1285 /* WEBPACK VAR INJECTION */(function(process) {/**
1286 * Copyright (c) 2013-present, Facebook, Inc.
1287 *
1288 * This source code is licensed under the MIT license found in the
1289 * LICENSE file in the root directory of this source tree.
1290 */
1291
1292 'use strict';
1293
1294 if (process.env.NODE_ENV !== 'production') {
1295 var invariant = __webpack_require__(7);
1296 var warning = __webpack_require__(8);
1297 var ReactPropTypesSecret = __webpack_require__(10);
1298 var loggedTypeFailures = {};
1299 }
1300
1301 /**
1302 * Assert that the values match with the type specs.
1303 * Error messages are memorized and will only be shown once.
1304 *
1305 * @param {object} typeSpecs Map of name to a ReactPropType
1306 * @param {object} values Runtime values that need to be type-checked
1307 * @param {string} location e.g. "prop", "context", "child context"
1308 * @param {string} componentName Name of the component for error messages.
1309 * @param {?Function} getStack Returns the component stack.
1310 * @private
1311 */
1312 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
1313 if (process.env.NODE_ENV !== 'production') {
1314 for (var typeSpecName in typeSpecs) {
1315 if (typeSpecs.hasOwnProperty(typeSpecName)) {
1316 var error;
1317 // Prop type validation may throw. In case they do, we don't want to
1318 // fail the render phase where it didn't fail before. So we log it.
1319 // After these have been cleaned up, we'll let them throw.
1320 try {
1321 // This is intentionally an invariant that gets caught. It's the same
1322 // behavior as without this statement except with a better message.
1323 invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);
1324 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
1325 } catch (ex) {
1326 error = ex;
1327 }
1328 warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
1329 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
1330 // Only monitor this failure once because there tends to be a lot of the
1331 // same error.
1332 loggedTypeFailures[error.message] = true;
1333
1334 var stack = getStack ? getStack() : '';
1335
1336 warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
1337 }
1338 }
1339 }
1340 }
1341 }
1342
1343 module.exports = checkPropTypes;
1344
1345 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))
1346
1347/***/ }),
1348/* 12 */
1349/***/ (function(module, exports, __webpack_require__) {
1350
1351 /**
1352 * Copyright (c) 2013-present, Facebook, Inc.
1353 *
1354 * This source code is licensed under the MIT license found in the
1355 * LICENSE file in the root directory of this source tree.
1356 */
1357
1358 'use strict';
1359
1360 var emptyFunction = __webpack_require__(6);
1361 var invariant = __webpack_require__(7);
1362 var ReactPropTypesSecret = __webpack_require__(10);
1363
1364 module.exports = function() {
1365 function shim(props, propName, componentName, location, propFullName, secret) {
1366 if (secret === ReactPropTypesSecret) {
1367 // It is still safe when called from React.
1368 return;
1369 }
1370 invariant(
1371 false,
1372 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
1373 'Use PropTypes.checkPropTypes() to call them. ' +
1374 'Read more at http://fb.me/use-check-prop-types'
1375 );
1376 };
1377 shim.isRequired = shim;
1378 function getShim() {
1379 return shim;
1380 };
1381 // Important!
1382 // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
1383 var ReactPropTypes = {
1384 array: shim,
1385 bool: shim,
1386 func: shim,
1387 number: shim,
1388 object: shim,
1389 string: shim,
1390 symbol: shim,
1391
1392 any: shim,
1393 arrayOf: getShim,
1394 element: shim,
1395 instanceOf: getShim,
1396 node: shim,
1397 objectOf: getShim,
1398 oneOf: getShim,
1399 oneOfType: getShim,
1400 shape: getShim,
1401 exact: getShim
1402 };
1403
1404 ReactPropTypes.checkPropTypes = emptyFunction;
1405 ReactPropTypes.PropTypes = ReactPropTypes;
1406
1407 return ReactPropTypes;
1408 };
1409
1410
1411/***/ }),
1412/* 13 */
1413/***/ (function(module, exports) {
1414
1415 module.exports = {
1416 "flags": [
1417 "_abkhazia",
1418 "_basque-country",
1419 "_british-antarctic-territory",
1420 "_commonwealth",
1421 "_england",
1422 "_gosquared",
1423 "_kosovo",
1424 "_mars",
1425 "_nagorno-karabakh",
1426 "_nato",
1427 "_northern-cyprus",
1428 "_olympics",
1429 "_red-cross",
1430 "_scotland",
1431 "_somaliland",
1432 "_south-ossetia",
1433 "_united-nations",
1434 "_unknown",
1435 "_wales",
1436 "AD",
1437 "AE",
1438 "AF",
1439 "AG",
1440 "AI",
1441 "AL",
1442 "AM",
1443 "AN",
1444 "AO",
1445 "AQ",
1446 "AR",
1447 "AS",
1448 "AT",
1449 "AU",
1450 "AW",
1451 "AX",
1452 "AZ",
1453 "BA",
1454 "BB",
1455 "BD",
1456 "BE",
1457 "BF",
1458 "BG",
1459 "BH",
1460 "BI",
1461 "BJ",
1462 "BL",
1463 "BM",
1464 "BN",
1465 "BO",
1466 "BR",
1467 "BS",
1468 "BT",
1469 "BW",
1470 "BY",
1471 "BZ",
1472 "CA",
1473 "CC",
1474 "CD",
1475 "CF",
1476 "CG",
1477 "CH",
1478 "CI",
1479 "CK",
1480 "CL",
1481 "CM",
1482 "CN",
1483 "CO",
1484 "CR",
1485 "CU",
1486 "CV",
1487 "CW",
1488 "CX",
1489 "CY",
1490 "CZ",
1491 "DE",
1492 "DJ",
1493 "DK",
1494 "DM",
1495 "DO",
1496 "DZ",
1497 "EC",
1498 "EE",
1499 "EG",
1500 "EH",
1501 "ER",
1502 "ES",
1503 "ET",
1504 "EU",
1505 "FI",
1506 "FJ",
1507 "FK",
1508 "FM",
1509 "FO",
1510 "FR",
1511 "GA",
1512 "GB",
1513 "GD",
1514 "GE",
1515 "GG",
1516 "GH",
1517 "GI",
1518 "GL",
1519 "GM",
1520 "GN",
1521 "GQ",
1522 "GR",
1523 "GS",
1524 "GT",
1525 "GU",
1526 "GW",
1527 "GY",
1528 "HK",
1529 "HN",
1530 "HR",
1531 "HT",
1532 "HU",
1533 "IC",
1534 "ID",
1535 "IE",
1536 "IL",
1537 "IM",
1538 "IN",
1539 "IQ",
1540 "IR",
1541 "IS",
1542 "IT",
1543 "JE",
1544 "JM",
1545 "JO",
1546 "JP",
1547 "KE",
1548 "KG",
1549 "KH",
1550 "KI",
1551 "KM",
1552 "KN",
1553 "KP",
1554 "KR",
1555 "KW",
1556 "KY",
1557 "KZ",
1558 "LA",
1559 "LB",
1560 "LC",
1561 "LI",
1562 "LK",
1563 "LR",
1564 "LS",
1565 "LT",
1566 "LU",
1567 "LV",
1568 "LY",
1569 "MA",
1570 "MC",
1571 "MD",
1572 "ME",
1573 "MF",
1574 "MG",
1575 "MH",
1576 "MK",
1577 "ML",
1578 "MM",
1579 "MN",
1580 "MO",
1581 "MP",
1582 "MQ",
1583 "MR",
1584 "MS",
1585 "MT",
1586 "MU",
1587 "MV",
1588 "MW",
1589 "MX",
1590 "MY",
1591 "MZ",
1592 "NA",
1593 "NC",
1594 "NE",
1595 "NF",
1596 "NG",
1597 "NI",
1598 "NL",
1599 "NO",
1600 "NP",
1601 "NR",
1602 "NU",
1603 "NZ",
1604 "OM",
1605 "PA",
1606 "PE",
1607 "PF",
1608 "PG",
1609 "PH",
1610 "PK",
1611 "PL",
1612 "PN",
1613 "PR",
1614 "PS",
1615 "PT",
1616 "PW",
1617 "PY",
1618 "QA",
1619 "RO",
1620 "RS",
1621 "RU",
1622 "RW",
1623 "SA",
1624 "SB",
1625 "SC",
1626 "SD",
1627 "SE",
1628 "SG",
1629 "SH",
1630 "SI",
1631 "SK",
1632 "SL",
1633 "SM",
1634 "SN",
1635 "SO",
1636 "SR",
1637 "SS",
1638 "ST",
1639 "SV",
1640 "SY",
1641 "SZ",
1642 "TC",
1643 "TD",
1644 "TF",
1645 "TG",
1646 "TH",
1647 "TJ",
1648 "TK",
1649 "TL",
1650 "TM",
1651 "TN",
1652 "TO",
1653 "TR",
1654 "TT",
1655 "TV",
1656 "TW",
1657 "TZ",
1658 "UA",
1659 "UG",
1660 "US",
1661 "UY",
1662 "UZ",
1663 "VA",
1664 "VC",
1665 "VE",
1666 "VG",
1667 "VI",
1668 "VN",
1669 "VU",
1670 "WF",
1671 "WS",
1672 "YE",
1673 "YT",
1674 "ZA",
1675 "ZM",
1676 "ZW"
1677 ]
1678 }
1679
1680/***/ }),
1681/* 14 */
1682/***/ (function(module, exports, __webpack_require__) {
1683
1684 var baseEach = __webpack_require__(15),
1685 createFind = __webpack_require__(36);
1686
1687 /**
1688 * Iterates over elements of `collection`, returning the first element
1689 * `predicate` returns truthy for. The predicate is bound to `thisArg` and
1690 * invoked with three arguments: (value, index|key, collection).
1691 *
1692 * If a property name is provided for `predicate` the created `_.property`
1693 * style callback returns the property value of the given element.
1694 *
1695 * If a value is also provided for `thisArg` the created `_.matchesProperty`
1696 * style callback returns `true` for elements that have a matching property
1697 * value, else `false`.
1698 *
1699 * If an object is provided for `predicate` the created `_.matches` style
1700 * callback returns `true` for elements that have the properties of the given
1701 * object, else `false`.
1702 *
1703 * @static
1704 * @memberOf _
1705 * @alias detect
1706 * @category Collection
1707 * @param {Array|Object|string} collection The collection to search.
1708 * @param {Function|Object|string} [predicate=_.identity] The function invoked
1709 * per iteration.
1710 * @param {*} [thisArg] The `this` binding of `predicate`.
1711 * @returns {*} Returns the matched element, else `undefined`.
1712 * @example
1713 *
1714 * var users = [
1715 * { 'user': 'barney', 'age': 36, 'active': true },
1716 * { 'user': 'fred', 'age': 40, 'active': false },
1717 * { 'user': 'pebbles', 'age': 1, 'active': true }
1718 * ];
1719 *
1720 * _.result(_.find(users, function(chr) {
1721 * return chr.age < 40;
1722 * }), 'user');
1723 * // => 'barney'
1724 *
1725 * // using the `_.matches` callback shorthand
1726 * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
1727 * // => 'pebbles'
1728 *
1729 * // using the `_.matchesProperty` callback shorthand
1730 * _.result(_.find(users, 'active', false), 'user');
1731 * // => 'fred'
1732 *
1733 * // using the `_.property` callback shorthand
1734 * _.result(_.find(users, 'active'), 'user');
1735 * // => 'barney'
1736 */
1737 var find = createFind(baseEach);
1738
1739 module.exports = find;
1740
1741
1742/***/ }),
1743/* 15 */
1744/***/ (function(module, exports, __webpack_require__) {
1745
1746 var baseForOwn = __webpack_require__(16),
1747 createBaseEach = __webpack_require__(35);
1748
1749 /**
1750 * The base implementation of `_.forEach` without support for callback
1751 * shorthands and `this` binding.
1752 *
1753 * @private
1754 * @param {Array|Object|string} collection The collection to iterate over.
1755 * @param {Function} iteratee The function invoked per iteration.
1756 * @returns {Array|Object|string} Returns `collection`.
1757 */
1758 var baseEach = createBaseEach(baseForOwn);
1759
1760 module.exports = baseEach;
1761
1762
1763/***/ }),
1764/* 16 */
1765/***/ (function(module, exports, __webpack_require__) {
1766
1767 var baseFor = __webpack_require__(17),
1768 keys = __webpack_require__(21);
1769
1770 /**
1771 * The base implementation of `_.forOwn` without support for callback
1772 * shorthands and `this` binding.
1773 *
1774 * @private
1775 * @param {Object} object The object to iterate over.
1776 * @param {Function} iteratee The function invoked per iteration.
1777 * @returns {Object} Returns `object`.
1778 */
1779 function baseForOwn(object, iteratee) {
1780 return baseFor(object, iteratee, keys);
1781 }
1782
1783 module.exports = baseForOwn;
1784
1785
1786/***/ }),
1787/* 17 */
1788/***/ (function(module, exports, __webpack_require__) {
1789
1790 var createBaseFor = __webpack_require__(18);
1791
1792 /**
1793 * The base implementation of `baseForIn` and `baseForOwn` which iterates
1794 * over `object` properties returned by `keysFunc` invoking `iteratee` for
1795 * each property. Iteratee functions may exit iteration early by explicitly
1796 * returning `false`.
1797 *
1798 * @private
1799 * @param {Object} object The object to iterate over.
1800 * @param {Function} iteratee The function invoked per iteration.
1801 * @param {Function} keysFunc The function to get the keys of `object`.
1802 * @returns {Object} Returns `object`.
1803 */
1804 var baseFor = createBaseFor();
1805
1806 module.exports = baseFor;
1807
1808
1809/***/ }),
1810/* 18 */
1811/***/ (function(module, exports, __webpack_require__) {
1812
1813 var toObject = __webpack_require__(19);
1814
1815 /**
1816 * Creates a base function for `_.forIn` or `_.forInRight`.
1817 *
1818 * @private
1819 * @param {boolean} [fromRight] Specify iterating from right to left.
1820 * @returns {Function} Returns the new base function.
1821 */
1822 function createBaseFor(fromRight) {
1823 return function(object, iteratee, keysFunc) {
1824 var iterable = toObject(object),
1825 props = keysFunc(object),
1826 length = props.length,
1827 index = fromRight ? length : -1;
1828
1829 while ((fromRight ? index-- : ++index < length)) {
1830 var key = props[index];
1831 if (iteratee(iterable[key], key, iterable) === false) {
1832 break;
1833 }
1834 }
1835 return object;
1836 };
1837 }
1838
1839 module.exports = createBaseFor;
1840
1841
1842/***/ }),
1843/* 19 */
1844/***/ (function(module, exports, __webpack_require__) {
1845
1846 var isObject = __webpack_require__(20);
1847
1848 /**
1849 * Converts `value` to an object if it's not one.
1850 *
1851 * @private
1852 * @param {*} value The value to process.
1853 * @returns {Object} Returns the object.
1854 */
1855 function toObject(value) {
1856 return isObject(value) ? value : Object(value);
1857 }
1858
1859 module.exports = toObject;
1860
1861
1862/***/ }),
1863/* 20 */
1864/***/ (function(module, exports) {
1865
1866 /**
1867 * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
1868 * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
1869 *
1870 * @static
1871 * @memberOf _
1872 * @category Lang
1873 * @param {*} value The value to check.
1874 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
1875 * @example
1876 *
1877 * _.isObject({});
1878 * // => true
1879 *
1880 * _.isObject([1, 2, 3]);
1881 * // => true
1882 *
1883 * _.isObject(1);
1884 * // => false
1885 */
1886 function isObject(value) {
1887 // Avoid a V8 JIT bug in Chrome 19-20.
1888 // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
1889 var type = typeof value;
1890 return !!value && (type == 'object' || type == 'function');
1891 }
1892
1893 module.exports = isObject;
1894
1895
1896/***/ }),
1897/* 21 */
1898/***/ (function(module, exports, __webpack_require__) {
1899
1900 var getNative = __webpack_require__(22),
1901 isArrayLike = __webpack_require__(26),
1902 isObject = __webpack_require__(20),
1903 shimKeys = __webpack_require__(30);
1904
1905 /* Native method references for those with the same name as other `lodash` methods. */
1906 var nativeKeys = getNative(Object, 'keys');
1907
1908 /**
1909 * Creates an array of the own enumerable property names of `object`.
1910 *
1911 * **Note:** Non-object values are coerced to objects. See the
1912 * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
1913 * for more details.
1914 *
1915 * @static
1916 * @memberOf _
1917 * @category Object
1918 * @param {Object} object The object to query.
1919 * @returns {Array} Returns the array of property names.
1920 * @example
1921 *
1922 * function Foo() {
1923 * this.a = 1;
1924 * this.b = 2;
1925 * }
1926 *
1927 * Foo.prototype.c = 3;
1928 *
1929 * _.keys(new Foo);
1930 * // => ['a', 'b'] (iteration order is not guaranteed)
1931 *
1932 * _.keys('hi');
1933 * // => ['0', '1']
1934 */
1935 var keys = !nativeKeys ? shimKeys : function(object) {
1936 var Ctor = object == null ? undefined : object.constructor;
1937 if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
1938 (typeof object != 'function' && isArrayLike(object))) {
1939 return shimKeys(object);
1940 }
1941 return isObject(object) ? nativeKeys(object) : [];
1942 };
1943
1944 module.exports = keys;
1945
1946
1947/***/ }),
1948/* 22 */
1949/***/ (function(module, exports, __webpack_require__) {
1950
1951 var isNative = __webpack_require__(23);
1952
1953 /**
1954 * Gets the native function at `key` of `object`.
1955 *
1956 * @private
1957 * @param {Object} object The object to query.
1958 * @param {string} key The key of the method to get.
1959 * @returns {*} Returns the function if it's native, else `undefined`.
1960 */
1961 function getNative(object, key) {
1962 var value = object == null ? undefined : object[key];
1963 return isNative(value) ? value : undefined;
1964 }
1965
1966 module.exports = getNative;
1967
1968
1969/***/ }),
1970/* 23 */
1971/***/ (function(module, exports, __webpack_require__) {
1972
1973 var isFunction = __webpack_require__(24),
1974 isObjectLike = __webpack_require__(25);
1975
1976 /** Used to detect host constructors (Safari > 5). */
1977 var reIsHostCtor = /^\[object .+?Constructor\]$/;
1978
1979 /** Used for native method references. */
1980 var objectProto = Object.prototype;
1981
1982 /** Used to resolve the decompiled source of functions. */
1983 var fnToString = Function.prototype.toString;
1984
1985 /** Used to check objects for own properties. */
1986 var hasOwnProperty = objectProto.hasOwnProperty;
1987
1988 /** Used to detect if a method is native. */
1989 var reIsNative = RegExp('^' +
1990 fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
1991 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
1992 );
1993
1994 /**
1995 * Checks if `value` is a native function.
1996 *
1997 * @static
1998 * @memberOf _
1999 * @category Lang
2000 * @param {*} value The value to check.
2001 * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
2002 * @example
2003 *
2004 * _.isNative(Array.prototype.push);
2005 * // => true
2006 *
2007 * _.isNative(_);
2008 * // => false
2009 */
2010 function isNative(value) {
2011 if (value == null) {
2012 return false;
2013 }
2014 if (isFunction(value)) {
2015 return reIsNative.test(fnToString.call(value));
2016 }
2017 return isObjectLike(value) && reIsHostCtor.test(value);
2018 }
2019
2020 module.exports = isNative;
2021
2022
2023/***/ }),
2024/* 24 */
2025/***/ (function(module, exports, __webpack_require__) {
2026
2027 var isObject = __webpack_require__(20);
2028
2029 /** `Object#toString` result references. */
2030 var funcTag = '[object Function]';
2031
2032 /** Used for native method references. */
2033 var objectProto = Object.prototype;
2034
2035 /**
2036 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
2037 * of values.
2038 */
2039 var objToString = objectProto.toString;
2040
2041 /**
2042 * Checks if `value` is classified as a `Function` object.
2043 *
2044 * @static
2045 * @memberOf _
2046 * @category Lang
2047 * @param {*} value The value to check.
2048 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
2049 * @example
2050 *
2051 * _.isFunction(_);
2052 * // => true
2053 *
2054 * _.isFunction(/abc/);
2055 * // => false
2056 */
2057 function isFunction(value) {
2058 // The use of `Object#toString` avoids issues with the `typeof` operator
2059 // in older versions of Chrome and Safari which return 'function' for regexes
2060 // and Safari 8 which returns 'object' for typed array constructors.
2061 return isObject(value) && objToString.call(value) == funcTag;
2062 }
2063
2064 module.exports = isFunction;
2065
2066
2067/***/ }),
2068/* 25 */
2069/***/ (function(module, exports) {
2070
2071 /**
2072 * Checks if `value` is object-like.
2073 *
2074 * @private
2075 * @param {*} value The value to check.
2076 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
2077 */
2078 function isObjectLike(value) {
2079 return !!value && typeof value == 'object';
2080 }
2081
2082 module.exports = isObjectLike;
2083
2084
2085/***/ }),
2086/* 26 */
2087/***/ (function(module, exports, __webpack_require__) {
2088
2089 var getLength = __webpack_require__(27),
2090 isLength = __webpack_require__(29);
2091
2092 /**
2093 * Checks if `value` is array-like.
2094 *
2095 * @private
2096 * @param {*} value The value to check.
2097 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
2098 */
2099 function isArrayLike(value) {
2100 return value != null && isLength(getLength(value));
2101 }
2102
2103 module.exports = isArrayLike;
2104
2105
2106/***/ }),
2107/* 27 */
2108/***/ (function(module, exports, __webpack_require__) {
2109
2110 var baseProperty = __webpack_require__(28);
2111
2112 /**
2113 * Gets the "length" property value of `object`.
2114 *
2115 * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
2116 * that affects Safari on at least iOS 8.1-8.3 ARM64.
2117 *
2118 * @private
2119 * @param {Object} object The object to query.
2120 * @returns {*} Returns the "length" value.
2121 */
2122 var getLength = baseProperty('length');
2123
2124 module.exports = getLength;
2125
2126
2127/***/ }),
2128/* 28 */
2129/***/ (function(module, exports) {
2130
2131 /**
2132 * The base implementation of `_.property` without support for deep paths.
2133 *
2134 * @private
2135 * @param {string} key The key of the property to get.
2136 * @returns {Function} Returns the new function.
2137 */
2138 function baseProperty(key) {
2139 return function(object) {
2140 return object == null ? undefined : object[key];
2141 };
2142 }
2143
2144 module.exports = baseProperty;
2145
2146
2147/***/ }),
2148/* 29 */
2149/***/ (function(module, exports) {
2150
2151 /**
2152 * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
2153 * of an array-like value.
2154 */
2155 var MAX_SAFE_INTEGER = 9007199254740991;
2156
2157 /**
2158 * Checks if `value` is a valid array-like length.
2159 *
2160 * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
2161 *
2162 * @private
2163 * @param {*} value The value to check.
2164 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
2165 */
2166 function isLength(value) {
2167 return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
2168 }
2169
2170 module.exports = isLength;
2171
2172
2173/***/ }),
2174/* 30 */
2175/***/ (function(module, exports, __webpack_require__) {
2176
2177 var isArguments = __webpack_require__(31),
2178 isArray = __webpack_require__(32),
2179 isIndex = __webpack_require__(33),
2180 isLength = __webpack_require__(29),
2181 keysIn = __webpack_require__(34);
2182
2183 /** Used for native method references. */
2184 var objectProto = Object.prototype;
2185
2186 /** Used to check objects for own properties. */
2187 var hasOwnProperty = objectProto.hasOwnProperty;
2188
2189 /**
2190 * A fallback implementation of `Object.keys` which creates an array of the
2191 * own enumerable property names of `object`.
2192 *
2193 * @private
2194 * @param {Object} object The object to query.
2195 * @returns {Array} Returns the array of property names.
2196 */
2197 function shimKeys(object) {
2198 var props = keysIn(object),
2199 propsLength = props.length,
2200 length = propsLength && object.length;
2201
2202 var allowIndexes = !!length && isLength(length) &&
2203 (isArray(object) || isArguments(object));
2204
2205 var index = -1,
2206 result = [];
2207
2208 while (++index < propsLength) {
2209 var key = props[index];
2210 if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
2211 result.push(key);
2212 }
2213 }
2214 return result;
2215 }
2216
2217 module.exports = shimKeys;
2218
2219
2220/***/ }),
2221/* 31 */
2222/***/ (function(module, exports, __webpack_require__) {
2223
2224 var isArrayLike = __webpack_require__(26),
2225 isObjectLike = __webpack_require__(25);
2226
2227 /** Used for native method references. */
2228 var objectProto = Object.prototype;
2229
2230 /** Used to check objects for own properties. */
2231 var hasOwnProperty = objectProto.hasOwnProperty;
2232
2233 /** Native method references. */
2234 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
2235
2236 /**
2237 * Checks if `value` is classified as an `arguments` object.
2238 *
2239 * @static
2240 * @memberOf _
2241 * @category Lang
2242 * @param {*} value The value to check.
2243 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
2244 * @example
2245 *
2246 * _.isArguments(function() { return arguments; }());
2247 * // => true
2248 *
2249 * _.isArguments([1, 2, 3]);
2250 * // => false
2251 */
2252 function isArguments(value) {
2253 return isObjectLike(value) && isArrayLike(value) &&
2254 hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
2255 }
2256
2257 module.exports = isArguments;
2258
2259
2260/***/ }),
2261/* 32 */
2262/***/ (function(module, exports, __webpack_require__) {
2263
2264 var getNative = __webpack_require__(22),
2265 isLength = __webpack_require__(29),
2266 isObjectLike = __webpack_require__(25);
2267
2268 /** `Object#toString` result references. */
2269 var arrayTag = '[object Array]';
2270
2271 /** Used for native method references. */
2272 var objectProto = Object.prototype;
2273
2274 /**
2275 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
2276 * of values.
2277 */
2278 var objToString = objectProto.toString;
2279
2280 /* Native method references for those with the same name as other `lodash` methods. */
2281 var nativeIsArray = getNative(Array, 'isArray');
2282
2283 /**
2284 * Checks if `value` is classified as an `Array` object.
2285 *
2286 * @static
2287 * @memberOf _
2288 * @category Lang
2289 * @param {*} value The value to check.
2290 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
2291 * @example
2292 *
2293 * _.isArray([1, 2, 3]);
2294 * // => true
2295 *
2296 * _.isArray(function() { return arguments; }());
2297 * // => false
2298 */
2299 var isArray = nativeIsArray || function(value) {
2300 return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
2301 };
2302
2303 module.exports = isArray;
2304
2305
2306/***/ }),
2307/* 33 */
2308/***/ (function(module, exports) {
2309
2310 /** Used to detect unsigned integer values. */
2311 var reIsUint = /^\d+$/;
2312
2313 /**
2314 * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
2315 * of an array-like value.
2316 */
2317 var MAX_SAFE_INTEGER = 9007199254740991;
2318
2319 /**
2320 * Checks if `value` is a valid array-like index.
2321 *
2322 * @private
2323 * @param {*} value The value to check.
2324 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
2325 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
2326 */
2327 function isIndex(value, length) {
2328 value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
2329 length = length == null ? MAX_SAFE_INTEGER : length;
2330 return value > -1 && value % 1 == 0 && value < length;
2331 }
2332
2333 module.exports = isIndex;
2334
2335
2336/***/ }),
2337/* 34 */
2338/***/ (function(module, exports, __webpack_require__) {
2339
2340 var isArguments = __webpack_require__(31),
2341 isArray = __webpack_require__(32),
2342 isIndex = __webpack_require__(33),
2343 isLength = __webpack_require__(29),
2344 isObject = __webpack_require__(20);
2345
2346 /** Used for native method references. */
2347 var objectProto = Object.prototype;
2348
2349 /** Used to check objects for own properties. */
2350 var hasOwnProperty = objectProto.hasOwnProperty;
2351
2352 /**
2353 * Creates an array of the own and inherited enumerable property names of `object`.
2354 *
2355 * **Note:** Non-object values are coerced to objects.
2356 *
2357 * @static
2358 * @memberOf _
2359 * @category Object
2360 * @param {Object} object The object to query.
2361 * @returns {Array} Returns the array of property names.
2362 * @example
2363 *
2364 * function Foo() {
2365 * this.a = 1;
2366 * this.b = 2;
2367 * }
2368 *
2369 * Foo.prototype.c = 3;
2370 *
2371 * _.keysIn(new Foo);
2372 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
2373 */
2374 function keysIn(object) {
2375 if (object == null) {
2376 return [];
2377 }
2378 if (!isObject(object)) {
2379 object = Object(object);
2380 }
2381 var length = object.length;
2382 length = (length && isLength(length) &&
2383 (isArray(object) || isArguments(object)) && length) || 0;
2384
2385 var Ctor = object.constructor,
2386 index = -1,
2387 isProto = typeof Ctor == 'function' && Ctor.prototype === object,
2388 result = Array(length),
2389 skipIndexes = length > 0;
2390
2391 while (++index < length) {
2392 result[index] = (index + '');
2393 }
2394 for (var key in object) {
2395 if (!(skipIndexes && isIndex(key, length)) &&
2396 !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
2397 result.push(key);
2398 }
2399 }
2400 return result;
2401 }
2402
2403 module.exports = keysIn;
2404
2405
2406/***/ }),
2407/* 35 */
2408/***/ (function(module, exports, __webpack_require__) {
2409
2410 var getLength = __webpack_require__(27),
2411 isLength = __webpack_require__(29),
2412 toObject = __webpack_require__(19);
2413
2414 /**
2415 * Creates a `baseEach` or `baseEachRight` function.
2416 *
2417 * @private
2418 * @param {Function} eachFunc The function to iterate over a collection.
2419 * @param {boolean} [fromRight] Specify iterating from right to left.
2420 * @returns {Function} Returns the new base function.
2421 */
2422 function createBaseEach(eachFunc, fromRight) {
2423 return function(collection, iteratee) {
2424 var length = collection ? getLength(collection) : 0;
2425 if (!isLength(length)) {
2426 return eachFunc(collection, iteratee);
2427 }
2428 var index = fromRight ? length : -1,
2429 iterable = toObject(collection);
2430
2431 while ((fromRight ? index-- : ++index < length)) {
2432 if (iteratee(iterable[index], index, iterable) === false) {
2433 break;
2434 }
2435 }
2436 return collection;
2437 };
2438 }
2439
2440 module.exports = createBaseEach;
2441
2442
2443/***/ }),
2444/* 36 */
2445/***/ (function(module, exports, __webpack_require__) {
2446
2447 var baseCallback = __webpack_require__(37),
2448 baseFind = __webpack_require__(61),
2449 baseFindIndex = __webpack_require__(62),
2450 isArray = __webpack_require__(32);
2451
2452 /**
2453 * Creates a `_.find` or `_.findLast` function.
2454 *
2455 * @private
2456 * @param {Function} eachFunc The function to iterate over a collection.
2457 * @param {boolean} [fromRight] Specify iterating from right to left.
2458 * @returns {Function} Returns the new find function.
2459 */
2460 function createFind(eachFunc, fromRight) {
2461 return function(collection, predicate, thisArg) {
2462 predicate = baseCallback(predicate, thisArg, 3);
2463 if (isArray(collection)) {
2464 var index = baseFindIndex(collection, predicate, fromRight);
2465 return index > -1 ? collection[index] : undefined;
2466 }
2467 return baseFind(collection, predicate, eachFunc);
2468 };
2469 }
2470
2471 module.exports = createFind;
2472
2473
2474/***/ }),
2475/* 37 */
2476/***/ (function(module, exports, __webpack_require__) {
2477
2478 var baseMatches = __webpack_require__(38),
2479 baseMatchesProperty = __webpack_require__(50),
2480 bindCallback = __webpack_require__(57),
2481 identity = __webpack_require__(58),
2482 property = __webpack_require__(59);
2483
2484 /**
2485 * The base implementation of `_.callback` which supports specifying the
2486 * number of arguments to provide to `func`.
2487 *
2488 * @private
2489 * @param {*} [func=_.identity] The value to convert to a callback.
2490 * @param {*} [thisArg] The `this` binding of `func`.
2491 * @param {number} [argCount] The number of arguments to provide to `func`.
2492 * @returns {Function} Returns the callback.
2493 */
2494 function baseCallback(func, thisArg, argCount) {
2495 var type = typeof func;
2496 if (type == 'function') {
2497 return thisArg === undefined
2498 ? func
2499 : bindCallback(func, thisArg, argCount);
2500 }
2501 if (func == null) {
2502 return identity;
2503 }
2504 if (type == 'object') {
2505 return baseMatches(func);
2506 }
2507 return thisArg === undefined
2508 ? property(func)
2509 : baseMatchesProperty(func, thisArg);
2510 }
2511
2512 module.exports = baseCallback;
2513
2514
2515/***/ }),
2516/* 38 */
2517/***/ (function(module, exports, __webpack_require__) {
2518
2519 var baseIsMatch = __webpack_require__(39),
2520 getMatchData = __webpack_require__(47),
2521 toObject = __webpack_require__(19);
2522
2523 /**
2524 * The base implementation of `_.matches` which does not clone `source`.
2525 *
2526 * @private
2527 * @param {Object} source The object of property values to match.
2528 * @returns {Function} Returns the new function.
2529 */
2530 function baseMatches(source) {
2531 var matchData = getMatchData(source);
2532 if (matchData.length == 1 && matchData[0][2]) {
2533 var key = matchData[0][0],
2534 value = matchData[0][1];
2535
2536 return function(object) {
2537 if (object == null) {
2538 return false;
2539 }
2540 return object[key] === value && (value !== undefined || (key in toObject(object)));
2541 };
2542 }
2543 return function(object) {
2544 return baseIsMatch(object, matchData);
2545 };
2546 }
2547
2548 module.exports = baseMatches;
2549
2550
2551/***/ }),
2552/* 39 */
2553/***/ (function(module, exports, __webpack_require__) {
2554
2555 var baseIsEqual = __webpack_require__(40),
2556 toObject = __webpack_require__(19);
2557
2558 /**
2559 * The base implementation of `_.isMatch` without support for callback
2560 * shorthands and `this` binding.
2561 *
2562 * @private
2563 * @param {Object} object The object to inspect.
2564 * @param {Array} matchData The propery names, values, and compare flags to match.
2565 * @param {Function} [customizer] The function to customize comparing objects.
2566 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
2567 */
2568 function baseIsMatch(object, matchData, customizer) {
2569 var index = matchData.length,
2570 length = index,
2571 noCustomizer = !customizer;
2572
2573 if (object == null) {
2574 return !length;
2575 }
2576 object = toObject(object);
2577 while (index--) {
2578 var data = matchData[index];
2579 if ((noCustomizer && data[2])
2580 ? data[1] !== object[data[0]]
2581 : !(data[0] in object)
2582 ) {
2583 return false;
2584 }
2585 }
2586 while (++index < length) {
2587 data = matchData[index];
2588 var key = data[0],
2589 objValue = object[key],
2590 srcValue = data[1];
2591
2592 if (noCustomizer && data[2]) {
2593 if (objValue === undefined && !(key in object)) {
2594 return false;
2595 }
2596 } else {
2597 var result = customizer ? customizer(objValue, srcValue, key) : undefined;
2598 if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
2599 return false;
2600 }
2601 }
2602 }
2603 return true;
2604 }
2605
2606 module.exports = baseIsMatch;
2607
2608
2609/***/ }),
2610/* 40 */
2611/***/ (function(module, exports, __webpack_require__) {
2612
2613 var baseIsEqualDeep = __webpack_require__(41),
2614 isObject = __webpack_require__(20),
2615 isObjectLike = __webpack_require__(25);
2616
2617 /**
2618 * The base implementation of `_.isEqual` without support for `this` binding
2619 * `customizer` functions.
2620 *
2621 * @private
2622 * @param {*} value The value to compare.
2623 * @param {*} other The other value to compare.
2624 * @param {Function} [customizer] The function to customize comparing values.
2625 * @param {boolean} [isLoose] Specify performing partial comparisons.
2626 * @param {Array} [stackA] Tracks traversed `value` objects.
2627 * @param {Array} [stackB] Tracks traversed `other` objects.
2628 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2629 */
2630 function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
2631 if (value === other) {
2632 return true;
2633 }
2634 if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
2635 return value !== value && other !== other;
2636 }
2637 return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
2638 }
2639
2640 module.exports = baseIsEqual;
2641
2642
2643/***/ }),
2644/* 41 */
2645/***/ (function(module, exports, __webpack_require__) {
2646
2647 var equalArrays = __webpack_require__(42),
2648 equalByTag = __webpack_require__(44),
2649 equalObjects = __webpack_require__(45),
2650 isArray = __webpack_require__(32),
2651 isTypedArray = __webpack_require__(46);
2652
2653 /** `Object#toString` result references. */
2654 var argsTag = '[object Arguments]',
2655 arrayTag = '[object Array]',
2656 objectTag = '[object Object]';
2657
2658 /** Used for native method references. */
2659 var objectProto = Object.prototype;
2660
2661 /** Used to check objects for own properties. */
2662 var hasOwnProperty = objectProto.hasOwnProperty;
2663
2664 /**
2665 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
2666 * of values.
2667 */
2668 var objToString = objectProto.toString;
2669
2670 /**
2671 * A specialized version of `baseIsEqual` for arrays and objects which performs
2672 * deep comparisons and tracks traversed objects enabling objects with circular
2673 * references to be compared.
2674 *
2675 * @private
2676 * @param {Object} object The object to compare.
2677 * @param {Object} other The other object to compare.
2678 * @param {Function} equalFunc The function to determine equivalents of values.
2679 * @param {Function} [customizer] The function to customize comparing objects.
2680 * @param {boolean} [isLoose] Specify performing partial comparisons.
2681 * @param {Array} [stackA=[]] Tracks traversed `value` objects.
2682 * @param {Array} [stackB=[]] Tracks traversed `other` objects.
2683 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
2684 */
2685 function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
2686 var objIsArr = isArray(object),
2687 othIsArr = isArray(other),
2688 objTag = arrayTag,
2689 othTag = arrayTag;
2690
2691 if (!objIsArr) {
2692 objTag = objToString.call(object);
2693 if (objTag == argsTag) {
2694 objTag = objectTag;
2695 } else if (objTag != objectTag) {
2696 objIsArr = isTypedArray(object);
2697 }
2698 }
2699 if (!othIsArr) {
2700 othTag = objToString.call(other);
2701 if (othTag == argsTag) {
2702 othTag = objectTag;
2703 } else if (othTag != objectTag) {
2704 othIsArr = isTypedArray(other);
2705 }
2706 }
2707 var objIsObj = objTag == objectTag,
2708 othIsObj = othTag == objectTag,
2709 isSameTag = objTag == othTag;
2710
2711 if (isSameTag && !(objIsArr || objIsObj)) {
2712 return equalByTag(object, other, objTag);
2713 }
2714 if (!isLoose) {
2715 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
2716 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
2717
2718 if (objIsWrapped || othIsWrapped) {
2719 return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
2720 }
2721 }
2722 if (!isSameTag) {
2723 return false;
2724 }
2725 // Assume cyclic values are equal.
2726 // For more information on detecting circular references see https://es5.github.io/#JO.
2727 stackA || (stackA = []);
2728 stackB || (stackB = []);
2729
2730 var length = stackA.length;
2731 while (length--) {
2732 if (stackA[length] == object) {
2733 return stackB[length] == other;
2734 }
2735 }
2736 // Add `object` and `other` to the stack of traversed objects.
2737 stackA.push(object);
2738 stackB.push(other);
2739
2740 var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
2741
2742 stackA.pop();
2743 stackB.pop();
2744
2745 return result;
2746 }
2747
2748 module.exports = baseIsEqualDeep;
2749
2750
2751/***/ }),
2752/* 42 */
2753/***/ (function(module, exports, __webpack_require__) {
2754
2755 var arraySome = __webpack_require__(43);
2756
2757 /**
2758 * A specialized version of `baseIsEqualDeep` for arrays with support for
2759 * partial deep comparisons.
2760 *
2761 * @private
2762 * @param {Array} array The array to compare.
2763 * @param {Array} other The other array to compare.
2764 * @param {Function} equalFunc The function to determine equivalents of values.
2765 * @param {Function} [customizer] The function to customize comparing arrays.
2766 * @param {boolean} [isLoose] Specify performing partial comparisons.
2767 * @param {Array} [stackA] Tracks traversed `value` objects.
2768 * @param {Array} [stackB] Tracks traversed `other` objects.
2769 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
2770 */
2771 function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
2772 var index = -1,
2773 arrLength = array.length,
2774 othLength = other.length;
2775
2776 if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
2777 return false;
2778 }
2779 // Ignore non-index properties.
2780 while (++index < arrLength) {
2781 var arrValue = array[index],
2782 othValue = other[index],
2783 result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
2784
2785 if (result !== undefined) {
2786 if (result) {
2787 continue;
2788 }
2789 return false;
2790 }
2791 // Recursively compare arrays (susceptible to call stack limits).
2792 if (isLoose) {
2793 if (!arraySome(other, function(othValue) {
2794 return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
2795 })) {
2796 return false;
2797 }
2798 } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
2799 return false;
2800 }
2801 }
2802 return true;
2803 }
2804
2805 module.exports = equalArrays;
2806
2807
2808/***/ }),
2809/* 43 */
2810/***/ (function(module, exports) {
2811
2812 /**
2813 * A specialized version of `_.some` for arrays without support for callback
2814 * shorthands and `this` binding.
2815 *
2816 * @private
2817 * @param {Array} array The array to iterate over.
2818 * @param {Function} predicate The function invoked per iteration.
2819 * @returns {boolean} Returns `true` if any element passes the predicate check,
2820 * else `false`.
2821 */
2822 function arraySome(array, predicate) {
2823 var index = -1,
2824 length = array.length;
2825
2826 while (++index < length) {
2827 if (predicate(array[index], index, array)) {
2828 return true;
2829 }
2830 }
2831 return false;
2832 }
2833
2834 module.exports = arraySome;
2835
2836
2837/***/ }),
2838/* 44 */
2839/***/ (function(module, exports) {
2840
2841 /** `Object#toString` result references. */
2842 var boolTag = '[object Boolean]',
2843 dateTag = '[object Date]',
2844 errorTag = '[object Error]',
2845 numberTag = '[object Number]',
2846 regexpTag = '[object RegExp]',
2847 stringTag = '[object String]';
2848
2849 /**
2850 * A specialized version of `baseIsEqualDeep` for comparing objects of
2851 * the same `toStringTag`.
2852 *
2853 * **Note:** This function only supports comparing values with tags of
2854 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
2855 *
2856 * @private
2857 * @param {Object} object The object to compare.
2858 * @param {Object} other The other object to compare.
2859 * @param {string} tag The `toStringTag` of the objects to compare.
2860 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
2861 */
2862 function equalByTag(object, other, tag) {
2863 switch (tag) {
2864 case boolTag:
2865 case dateTag:
2866 // Coerce dates and booleans to numbers, dates to milliseconds and booleans
2867 // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
2868 return +object == +other;
2869
2870 case errorTag:
2871 return object.name == other.name && object.message == other.message;
2872
2873 case numberTag:
2874 // Treat `NaN` vs. `NaN` as equal.
2875 return (object != +object)
2876 ? other != +other
2877 : object == +other;
2878
2879 case regexpTag:
2880 case stringTag:
2881 // Coerce regexes to strings and treat strings primitives and string
2882 // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
2883 return object == (other + '');
2884 }
2885 return false;
2886 }
2887
2888 module.exports = equalByTag;
2889
2890
2891/***/ }),
2892/* 45 */
2893/***/ (function(module, exports, __webpack_require__) {
2894
2895 var keys = __webpack_require__(21);
2896
2897 /** Used for native method references. */
2898 var objectProto = Object.prototype;
2899
2900 /** Used to check objects for own properties. */
2901 var hasOwnProperty = objectProto.hasOwnProperty;
2902
2903 /**
2904 * A specialized version of `baseIsEqualDeep` for objects with support for
2905 * partial deep comparisons.
2906 *
2907 * @private
2908 * @param {Object} object The object to compare.
2909 * @param {Object} other The other object to compare.
2910 * @param {Function} equalFunc The function to determine equivalents of values.
2911 * @param {Function} [customizer] The function to customize comparing values.
2912 * @param {boolean} [isLoose] Specify performing partial comparisons.
2913 * @param {Array} [stackA] Tracks traversed `value` objects.
2914 * @param {Array} [stackB] Tracks traversed `other` objects.
2915 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
2916 */
2917 function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
2918 var objProps = keys(object),
2919 objLength = objProps.length,
2920 othProps = keys(other),
2921 othLength = othProps.length;
2922
2923 if (objLength != othLength && !isLoose) {
2924 return false;
2925 }
2926 var index = objLength;
2927 while (index--) {
2928 var key = objProps[index];
2929 if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
2930 return false;
2931 }
2932 }
2933 var skipCtor = isLoose;
2934 while (++index < objLength) {
2935 key = objProps[index];
2936 var objValue = object[key],
2937 othValue = other[key],
2938 result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
2939
2940 // Recursively compare objects (susceptible to call stack limits).
2941 if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
2942 return false;
2943 }
2944 skipCtor || (skipCtor = key == 'constructor');
2945 }
2946 if (!skipCtor) {
2947 var objCtor = object.constructor,
2948 othCtor = other.constructor;
2949
2950 // Non `Object` object instances with different constructors are not equal.
2951 if (objCtor != othCtor &&
2952 ('constructor' in object && 'constructor' in other) &&
2953 !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
2954 typeof othCtor == 'function' && othCtor instanceof othCtor)) {
2955 return false;
2956 }
2957 }
2958 return true;
2959 }
2960
2961 module.exports = equalObjects;
2962
2963
2964/***/ }),
2965/* 46 */
2966/***/ (function(module, exports, __webpack_require__) {
2967
2968 var isLength = __webpack_require__(29),
2969 isObjectLike = __webpack_require__(25);
2970
2971 /** `Object#toString` result references. */
2972 var argsTag = '[object Arguments]',
2973 arrayTag = '[object Array]',
2974 boolTag = '[object Boolean]',
2975 dateTag = '[object Date]',
2976 errorTag = '[object Error]',
2977 funcTag = '[object Function]',
2978 mapTag = '[object Map]',
2979 numberTag = '[object Number]',
2980 objectTag = '[object Object]',
2981 regexpTag = '[object RegExp]',
2982 setTag = '[object Set]',
2983 stringTag = '[object String]',
2984 weakMapTag = '[object WeakMap]';
2985
2986 var arrayBufferTag = '[object ArrayBuffer]',
2987 float32Tag = '[object Float32Array]',
2988 float64Tag = '[object Float64Array]',
2989 int8Tag = '[object Int8Array]',
2990 int16Tag = '[object Int16Array]',
2991 int32Tag = '[object Int32Array]',
2992 uint8Tag = '[object Uint8Array]',
2993 uint8ClampedTag = '[object Uint8ClampedArray]',
2994 uint16Tag = '[object Uint16Array]',
2995 uint32Tag = '[object Uint32Array]';
2996
2997 /** Used to identify `toStringTag` values of typed arrays. */
2998 var typedArrayTags = {};
2999 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
3000 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
3001 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
3002 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
3003 typedArrayTags[uint32Tag] = true;
3004 typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
3005 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
3006 typedArrayTags[dateTag] = typedArrayTags[errorTag] =
3007 typedArrayTags[funcTag] = typedArrayTags[mapTag] =
3008 typedArrayTags[numberTag] = typedArrayTags[objectTag] =
3009 typedArrayTags[regexpTag] = typedArrayTags[setTag] =
3010 typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
3011
3012 /** Used for native method references. */
3013 var objectProto = Object.prototype;
3014
3015 /**
3016 * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
3017 * of values.
3018 */
3019 var objToString = objectProto.toString;
3020
3021 /**
3022 * Checks if `value` is classified as a typed array.
3023 *
3024 * @static
3025 * @memberOf _
3026 * @category Lang
3027 * @param {*} value The value to check.
3028 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
3029 * @example
3030 *
3031 * _.isTypedArray(new Uint8Array);
3032 * // => true
3033 *
3034 * _.isTypedArray([]);
3035 * // => false
3036 */
3037 function isTypedArray(value) {
3038 return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
3039 }
3040
3041 module.exports = isTypedArray;
3042
3043
3044/***/ }),
3045/* 47 */
3046/***/ (function(module, exports, __webpack_require__) {
3047
3048 var isStrictComparable = __webpack_require__(48),
3049 pairs = __webpack_require__(49);
3050
3051 /**
3052 * Gets the propery names, values, and compare flags of `object`.
3053 *
3054 * @private
3055 * @param {Object} object The object to query.
3056 * @returns {Array} Returns the match data of `object`.
3057 */
3058 function getMatchData(object) {
3059 var result = pairs(object),
3060 length = result.length;
3061
3062 while (length--) {
3063 result[length][2] = isStrictComparable(result[length][1]);
3064 }
3065 return result;
3066 }
3067
3068 module.exports = getMatchData;
3069
3070
3071/***/ }),
3072/* 48 */
3073/***/ (function(module, exports, __webpack_require__) {
3074
3075 var isObject = __webpack_require__(20);
3076
3077 /**
3078 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
3079 *
3080 * @private
3081 * @param {*} value The value to check.
3082 * @returns {boolean} Returns `true` if `value` if suitable for strict
3083 * equality comparisons, else `false`.
3084 */
3085 function isStrictComparable(value) {
3086 return value === value && !isObject(value);
3087 }
3088
3089 module.exports = isStrictComparable;
3090
3091
3092/***/ }),
3093/* 49 */
3094/***/ (function(module, exports, __webpack_require__) {
3095
3096 var keys = __webpack_require__(21),
3097 toObject = __webpack_require__(19);
3098
3099 /**
3100 * Creates a two dimensional array of the key-value pairs for `object`,
3101 * e.g. `[[key1, value1], [key2, value2]]`.
3102 *
3103 * @static
3104 * @memberOf _
3105 * @category Object
3106 * @param {Object} object The object to query.
3107 * @returns {Array} Returns the new array of key-value pairs.
3108 * @example
3109 *
3110 * _.pairs({ 'barney': 36, 'fred': 40 });
3111 * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
3112 */
3113 function pairs(object) {
3114 object = toObject(object);
3115
3116 var index = -1,
3117 props = keys(object),
3118 length = props.length,
3119 result = Array(length);
3120
3121 while (++index < length) {
3122 var key = props[index];
3123 result[index] = [key, object[key]];
3124 }
3125 return result;
3126 }
3127
3128 module.exports = pairs;
3129
3130
3131/***/ }),
3132/* 50 */
3133/***/ (function(module, exports, __webpack_require__) {
3134
3135 var baseGet = __webpack_require__(51),
3136 baseIsEqual = __webpack_require__(40),
3137 baseSlice = __webpack_require__(52),
3138 isArray = __webpack_require__(32),
3139 isKey = __webpack_require__(53),
3140 isStrictComparable = __webpack_require__(48),
3141 last = __webpack_require__(54),
3142 toObject = __webpack_require__(19),
3143 toPath = __webpack_require__(55);
3144
3145 /**
3146 * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
3147 *
3148 * @private
3149 * @param {string} path The path of the property to get.
3150 * @param {*} srcValue The value to compare.
3151 * @returns {Function} Returns the new function.
3152 */
3153 function baseMatchesProperty(path, srcValue) {
3154 var isArr = isArray(path),
3155 isCommon = isKey(path) && isStrictComparable(srcValue),
3156 pathKey = (path + '');
3157
3158 path = toPath(path);
3159 return function(object) {
3160 if (object == null) {
3161 return false;
3162 }
3163 var key = pathKey;
3164 object = toObject(object);
3165 if ((isArr || !isCommon) && !(key in object)) {
3166 object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
3167 if (object == null) {
3168 return false;
3169 }
3170 key = last(path);
3171 object = toObject(object);
3172 }
3173 return object[key] === srcValue
3174 ? (srcValue !== undefined || (key in object))
3175 : baseIsEqual(srcValue, object[key], undefined, true);
3176 };
3177 }
3178
3179 module.exports = baseMatchesProperty;
3180
3181
3182/***/ }),
3183/* 51 */
3184/***/ (function(module, exports, __webpack_require__) {
3185
3186 var toObject = __webpack_require__(19);
3187
3188 /**
3189 * The base implementation of `get` without support for string paths
3190 * and default values.
3191 *
3192 * @private
3193 * @param {Object} object The object to query.
3194 * @param {Array} path The path of the property to get.
3195 * @param {string} [pathKey] The key representation of path.
3196 * @returns {*} Returns the resolved value.
3197 */
3198 function baseGet(object, path, pathKey) {
3199 if (object == null) {
3200 return;
3201 }
3202 if (pathKey !== undefined && pathKey in toObject(object)) {
3203 path = [pathKey];
3204 }
3205 var index = 0,
3206 length = path.length;
3207
3208 while (object != null && index < length) {
3209 object = object[path[index++]];
3210 }
3211 return (index && index == length) ? object : undefined;
3212 }
3213
3214 module.exports = baseGet;
3215
3216
3217/***/ }),
3218/* 52 */
3219/***/ (function(module, exports) {
3220
3221 /**
3222 * The base implementation of `_.slice` without an iteratee call guard.
3223 *
3224 * @private
3225 * @param {Array} array The array to slice.
3226 * @param {number} [start=0] The start position.
3227 * @param {number} [end=array.length] The end position.
3228 * @returns {Array} Returns the slice of `array`.
3229 */
3230 function baseSlice(array, start, end) {
3231 var index = -1,
3232 length = array.length;
3233
3234 start = start == null ? 0 : (+start || 0);
3235 if (start < 0) {
3236 start = -start > length ? 0 : (length + start);
3237 }
3238 end = (end === undefined || end > length) ? length : (+end || 0);
3239 if (end < 0) {
3240 end += length;
3241 }
3242 length = start > end ? 0 : ((end - start) >>> 0);
3243 start >>>= 0;
3244
3245 var result = Array(length);
3246 while (++index < length) {
3247 result[index] = array[index + start];
3248 }
3249 return result;
3250 }
3251
3252 module.exports = baseSlice;
3253
3254
3255/***/ }),
3256/* 53 */
3257/***/ (function(module, exports, __webpack_require__) {
3258
3259 var isArray = __webpack_require__(32),
3260 toObject = __webpack_require__(19);
3261
3262 /** Used to match property names within property paths. */
3263 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
3264 reIsPlainProp = /^\w*$/;
3265
3266 /**
3267 * Checks if `value` is a property name and not a property path.
3268 *
3269 * @private
3270 * @param {*} value The value to check.
3271 * @param {Object} [object] The object to query keys on.
3272 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
3273 */
3274 function isKey(value, object) {
3275 var type = typeof value;
3276 if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
3277 return true;
3278 }
3279 if (isArray(value)) {
3280 return false;
3281 }
3282 var result = !reIsDeepProp.test(value);
3283 return result || (object != null && value in toObject(object));
3284 }
3285
3286 module.exports = isKey;
3287
3288
3289/***/ }),
3290/* 54 */
3291/***/ (function(module, exports) {
3292
3293 /**
3294 * Gets the last element of `array`.
3295 *
3296 * @static
3297 * @memberOf _
3298 * @category Array
3299 * @param {Array} array The array to query.
3300 * @returns {*} Returns the last element of `array`.
3301 * @example
3302 *
3303 * _.last([1, 2, 3]);
3304 * // => 3
3305 */
3306 function last(array) {
3307 var length = array ? array.length : 0;
3308 return length ? array[length - 1] : undefined;
3309 }
3310
3311 module.exports = last;
3312
3313
3314/***/ }),
3315/* 55 */
3316/***/ (function(module, exports, __webpack_require__) {
3317
3318 var baseToString = __webpack_require__(56),
3319 isArray = __webpack_require__(32);
3320
3321 /** Used to match property names within property paths. */
3322 var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
3323
3324 /** Used to match backslashes in property paths. */
3325 var reEscapeChar = /\\(\\)?/g;
3326
3327 /**
3328 * Converts `value` to property path array if it's not one.
3329 *
3330 * @private
3331 * @param {*} value The value to process.
3332 * @returns {Array} Returns the property path array.
3333 */
3334 function toPath(value) {
3335 if (isArray(value)) {
3336 return value;
3337 }
3338 var result = [];
3339 baseToString(value).replace(rePropName, function(match, number, quote, string) {
3340 result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
3341 });
3342 return result;
3343 }
3344
3345 module.exports = toPath;
3346
3347
3348/***/ }),
3349/* 56 */
3350/***/ (function(module, exports) {
3351
3352 /**
3353 * Converts `value` to a string if it's not one. An empty string is returned
3354 * for `null` or `undefined` values.
3355 *
3356 * @private
3357 * @param {*} value The value to process.
3358 * @returns {string} Returns the string.
3359 */
3360 function baseToString(value) {
3361 return value == null ? '' : (value + '');
3362 }
3363
3364 module.exports = baseToString;
3365
3366
3367/***/ }),
3368/* 57 */
3369/***/ (function(module, exports, __webpack_require__) {
3370
3371 var identity = __webpack_require__(58);
3372
3373 /**
3374 * A specialized version of `baseCallback` which only supports `this` binding
3375 * and specifying the number of arguments to provide to `func`.
3376 *
3377 * @private
3378 * @param {Function} func The function to bind.
3379 * @param {*} thisArg The `this` binding of `func`.
3380 * @param {number} [argCount] The number of arguments to provide to `func`.
3381 * @returns {Function} Returns the callback.
3382 */
3383 function bindCallback(func, thisArg, argCount) {
3384 if (typeof func != 'function') {
3385 return identity;
3386 }
3387 if (thisArg === undefined) {
3388 return func;
3389 }
3390 switch (argCount) {
3391 case 1: return function(value) {
3392 return func.call(thisArg, value);
3393 };
3394 case 3: return function(value, index, collection) {
3395 return func.call(thisArg, value, index, collection);
3396 };
3397 case 4: return function(accumulator, value, index, collection) {
3398 return func.call(thisArg, accumulator, value, index, collection);
3399 };
3400 case 5: return function(value, other, key, object, source) {
3401 return func.call(thisArg, value, other, key, object, source);
3402 };
3403 }
3404 return function() {
3405 return func.apply(thisArg, arguments);
3406 };
3407 }
3408
3409 module.exports = bindCallback;
3410
3411
3412/***/ }),
3413/* 58 */
3414/***/ (function(module, exports) {
3415
3416 /**
3417 * This method returns the first argument provided to it.
3418 *
3419 * @static
3420 * @memberOf _
3421 * @category Utility
3422 * @param {*} value Any value.
3423 * @returns {*} Returns `value`.
3424 * @example
3425 *
3426 * var object = { 'user': 'fred' };
3427 *
3428 * _.identity(object) === object;
3429 * // => true
3430 */
3431 function identity(value) {
3432 return value;
3433 }
3434
3435 module.exports = identity;
3436
3437
3438/***/ }),
3439/* 59 */
3440/***/ (function(module, exports, __webpack_require__) {
3441
3442 var baseProperty = __webpack_require__(28),
3443 basePropertyDeep = __webpack_require__(60),
3444 isKey = __webpack_require__(53);
3445
3446 /**
3447 * Creates a function that returns the property value at `path` on a
3448 * given object.
3449 *
3450 * @static
3451 * @memberOf _
3452 * @category Utility
3453 * @param {Array|string} path The path of the property to get.
3454 * @returns {Function} Returns the new function.
3455 * @example
3456 *
3457 * var objects = [
3458 * { 'a': { 'b': { 'c': 2 } } },
3459 * { 'a': { 'b': { 'c': 1 } } }
3460 * ];
3461 *
3462 * _.map(objects, _.property('a.b.c'));
3463 * // => [2, 1]
3464 *
3465 * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
3466 * // => [1, 2]
3467 */
3468 function property(path) {
3469 return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
3470 }
3471
3472 module.exports = property;
3473
3474
3475/***/ }),
3476/* 60 */
3477/***/ (function(module, exports, __webpack_require__) {
3478
3479 var baseGet = __webpack_require__(51),
3480 toPath = __webpack_require__(55);
3481
3482 /**
3483 * A specialized version of `baseProperty` which supports deep paths.
3484 *
3485 * @private
3486 * @param {Array|string} path The path of the property to get.
3487 * @returns {Function} Returns the new function.
3488 */
3489 function basePropertyDeep(path) {
3490 var pathKey = (path + '');
3491 path = toPath(path);
3492 return function(object) {
3493 return baseGet(object, path, pathKey);
3494 };
3495 }
3496
3497 module.exports = basePropertyDeep;
3498
3499
3500/***/ }),
3501/* 61 */
3502/***/ (function(module, exports) {
3503
3504 /**
3505 * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
3506 * without support for callback shorthands and `this` binding, which iterates
3507 * over `collection` using the provided `eachFunc`.
3508 *
3509 * @private
3510 * @param {Array|Object|string} collection The collection to search.
3511 * @param {Function} predicate The function invoked per iteration.
3512 * @param {Function} eachFunc The function to iterate over `collection`.
3513 * @param {boolean} [retKey] Specify returning the key of the found element
3514 * instead of the element itself.
3515 * @returns {*} Returns the found element or its key, else `undefined`.
3516 */
3517 function baseFind(collection, predicate, eachFunc, retKey) {
3518 var result;
3519 eachFunc(collection, function(value, key, collection) {
3520 if (predicate(value, key, collection)) {
3521 result = retKey ? key : value;
3522 return false;
3523 }
3524 });
3525 return result;
3526 }
3527
3528 module.exports = baseFind;
3529
3530
3531/***/ }),
3532/* 62 */
3533/***/ (function(module, exports) {
3534
3535 /**
3536 * The base implementation of `_.findIndex` and `_.findLastIndex` without
3537 * support for callback shorthands and `this` binding.
3538 *
3539 * @private
3540 * @param {Array} array The array to search.
3541 * @param {Function} predicate The function invoked per iteration.
3542 * @param {boolean} [fromRight] Specify iterating from right to left.
3543 * @returns {number} Returns the index of the matched value, else `-1`.
3544 */
3545 function baseFindIndex(array, predicate, fromRight) {
3546 var length = array.length,
3547 index = fromRight ? length : -1;
3548
3549 while ((fromRight ? index-- : ++index < length)) {
3550 if (predicate(array[index], index, array)) {
3551 return index;
3552 }
3553 }
3554 return -1;
3555 }
3556
3557 module.exports = baseFindIndex;
3558
3559
3560/***/ }),
3561/* 63 */
3562/***/ (function(module, exports) {
3563
3564 module.exports = [{"cca2":"AW","cca3":"ABW"},{"cca2":"AF","cca3":"AFG"},{"cca2":"AO","cca3":"AGO"},{"cca2":"AI","cca3":"AIA"},{"cca2":"AX","cca3":"ALA"},{"cca2":"AL","cca3":"ALB"},{"cca2":"AD","cca3":"AND"},{"cca2":"AE","cca3":"ARE"},{"cca2":"AR","cca3":"ARG"},{"cca2":"AM","cca3":"ARM"},{"cca2":"AS","cca3":"ASM"},{"cca2":"AQ","cca3":"ATA"},{"cca2":"TF","cca3":"ATF"},{"cca2":"AG","cca3":"ATG"},{"cca2":"AU","cca3":"AUS"},{"cca2":"AT","cca3":"AUT"},{"cca2":"AZ","cca3":"AZE"},{"cca2":"BI","cca3":"BDI"},{"cca2":"BE","cca3":"BEL"},{"cca2":"BJ","cca3":"BEN"},{"cca2":"BF","cca3":"BFA"},{"cca2":"BD","cca3":"BGD"},{"cca2":"BG","cca3":"BGR"},{"cca2":"BH","cca3":"BHR"},{"cca2":"BS","cca3":"BHS"},{"cca2":"BA","cca3":"BIH"},{"cca2":"BL","cca3":"BLM"},{"cca2":"BY","cca3":"BLR"},{"cca2":"BZ","cca3":"BLZ"},{"cca2":"BM","cca3":"BMU"},{"cca2":"BO","cca3":"BOL"},{"cca2":"BR","cca3":"BRA"},{"cca2":"BB","cca3":"BRB"},{"cca2":"BN","cca3":"BRN"},{"cca2":"BT","cca3":"BTN"},{"cca2":"BV","cca3":"BVT"},{"cca2":"BW","cca3":"BWA"},{"cca2":"CF","cca3":"CAF"},{"cca2":"CA","cca3":"CAN"},{"cca2":"CC","cca3":"CCK"},{"cca2":"CH","cca3":"CHE"},{"cca2":"CL","cca3":"CHL"},{"cca2":"CN","cca3":"CHN"},{"cca2":"CI","cca3":"CIV"},{"cca2":"CM","cca3":"CMR"},{"cca2":"CD","cca3":"COD"},{"cca2":"CG","cca3":"COG"},{"cca2":"CK","cca3":"COK"},{"cca2":"CO","cca3":"COL"},{"cca2":"KM","cca3":"COM"},{"cca2":"CV","cca3":"CPV"},{"cca2":"CR","cca3":"CRI"},{"cca2":"CU","cca3":"CUB"},{"cca2":"CW","cca3":"CUW"},{"cca2":"CX","cca3":"CXR"},{"cca2":"KY","cca3":"CYM"},{"cca2":"CY","cca3":"CYP"},{"cca2":"CZ","cca3":"CZE"},{"cca2":"DE","cca3":"DEU"},{"cca2":"DJ","cca3":"DJI"},{"cca2":"DM","cca3":"DMA"},{"cca2":"DK","cca3":"DNK"},{"cca2":"DO","cca3":"DOM"},{"cca2":"DZ","cca3":"DZA"},{"cca2":"EC","cca3":"ECU"},{"cca2":"EG","cca3":"EGY"},{"cca2":"ER","cca3":"ERI"},{"cca2":"EH","cca3":"ESH"},{"cca2":"ES","cca3":"ESP"},{"cca2":"EE","cca3":"EST"},{"cca2":"ET","cca3":"ETH"},{"cca2":"FI","cca3":"FIN"},{"cca2":"FJ","cca3":"FJI"},{"cca2":"FK","cca3":"FLK"},{"cca2":"FR","cca3":"FRA"},{"cca2":"FO","cca3":"FRO"},{"cca2":"FM","cca3":"FSM"},{"cca2":"GA","cca3":"GAB"},{"cca2":"GB","cca3":"GBR"},{"cca2":"GE","cca3":"GEO"},{"cca2":"GG","cca3":"GGY"},{"cca2":"GH","cca3":"GHA"},{"cca2":"GI","cca3":"GIB"},{"cca2":"GN","cca3":"GIN"},{"cca2":"GP","cca3":"GLP"},{"cca2":"GM","cca3":"GMB"},{"cca2":"GW","cca3":"GNB"},{"cca2":"GQ","cca3":"GNQ"},{"cca2":"GR","cca3":"GRC"},{"cca2":"GD","cca3":"GRD"},{"cca2":"GL","cca3":"GRL"},{"cca2":"GT","cca3":"GTM"},{"cca2":"GF","cca3":"GUF"},{"cca2":"GU","cca3":"GUM"},{"cca2":"GY","cca3":"GUY"},{"cca2":"HK","cca3":"HKG"},{"cca2":"HM","cca3":"HMD"},{"cca2":"HN","cca3":"HND"},{"cca2":"HR","cca3":"HRV"},{"cca2":"HT","cca3":"HTI"},{"cca2":"HU","cca3":"HUN"},{"cca2":"ID","cca3":"IDN"},{"cca2":"IM","cca3":"IMN"},{"cca2":"IN","cca3":"IND"},{"cca2":"IO","cca3":"IOT"},{"cca2":"IE","cca3":"IRL"},{"cca2":"IR","cca3":"IRN"},{"cca2":"IQ","cca3":"IRQ"},{"cca2":"IS","cca3":"ISL"},{"cca2":"IL","cca3":"ISR"},{"cca2":"IT","cca3":"ITA"},{"cca2":"JM","cca3":"JAM"},{"cca2":"JE","cca3":"JEY"},{"cca2":"JO","cca3":"JOR"},{"cca2":"JP","cca3":"JPN"},{"cca2":"KZ","cca3":"KAZ"},{"cca2":"KE","cca3":"KEN"},{"cca2":"KG","cca3":"KGZ"},{"cca2":"KH","cca3":"KHM"},{"cca2":"KI","cca3":"KIR"},{"cca2":"KN","cca3":"KNA"},{"cca2":"KR","cca3":"KOR"},{"cca2":"XK","cca3":"UNK"},{"cca2":"KW","cca3":"KWT"},{"cca2":"LA","cca3":"LAO"},{"cca2":"LB","cca3":"LBN"},{"cca2":"LR","cca3":"LBR"},{"cca2":"LY","cca3":"LBY"},{"cca2":"LC","cca3":"LCA"},{"cca2":"LI","cca3":"LIE"},{"cca2":"LK","cca3":"LKA"},{"cca2":"LS","cca3":"LSO"},{"cca2":"LT","cca3":"LTU"},{"cca2":"LU","cca3":"LUX"},{"cca2":"LV","cca3":"LVA"},{"cca2":"MO","cca3":"MAC"},{"cca2":"MF","cca3":"MAF"},{"cca2":"MA","cca3":"MAR"},{"cca2":"MC","cca3":"MCO"},{"cca2":"MD","cca3":"MDA"},{"cca2":"MG","cca3":"MDG"},{"cca2":"MV","cca3":"MDV"},{"cca2":"MX","cca3":"MEX"},{"cca2":"MH","cca3":"MHL"},{"cca2":"MK","cca3":"MKD"},{"cca2":"ML","cca3":"MLI"},{"cca2":"MT","cca3":"MLT"},{"cca2":"MM","cca3":"MMR"},{"cca2":"ME","cca3":"MNE"},{"cca2":"MN","cca3":"MNG"},{"cca2":"MP","cca3":"MNP"},{"cca2":"MZ","cca3":"MOZ"},{"cca2":"MR","cca3":"MRT"},{"cca2":"MS","cca3":"MSR"},{"cca2":"MQ","cca3":"MTQ"},{"cca2":"MU","cca3":"MUS"},{"cca2":"MW","cca3":"MWI"},{"cca2":"MY","cca3":"MYS"},{"cca2":"YT","cca3":"MYT"},{"cca2":"NA","cca3":"NAM"},{"cca2":"NC","cca3":"NCL"},{"cca2":"NE","cca3":"NER"},{"cca2":"NF","cca3":"NFK"},{"cca2":"NG","cca3":"NGA"},{"cca2":"NI","cca3":"NIC"},{"cca2":"NU","cca3":"NIU"},{"cca2":"NL","cca3":"NLD"},{"cca2":"NO","cca3":"NOR"},{"cca2":"NP","cca3":"NPL"},{"cca2":"NR","cca3":"NRU"},{"cca2":"NZ","cca3":"NZL"},{"cca2":"OM","cca3":"OMN"},{"cca2":"PK","cca3":"PAK"},{"cca2":"PA","cca3":"PAN"},{"cca2":"PN","cca3":"PCN"},{"cca2":"PE","cca3":"PER"},{"cca2":"PH","cca3":"PHL"},{"cca2":"PW","cca3":"PLW"},{"cca2":"PG","cca3":"PNG"},{"cca2":"PL","cca3":"POL"},{"cca2":"PR","cca3":"PRI"},{"cca2":"KP","cca3":"PRK"},{"cca2":"PT","cca3":"PRT"},{"cca2":"PY","cca3":"PRY"},{"cca2":"PS","cca3":"PSE"},{"cca2":"PF","cca3":"PYF"},{"cca2":"QA","cca3":"QAT"},{"cca2":"RE","cca3":"REU"},{"cca2":"RO","cca3":"ROU"},{"cca2":"RU","cca3":"RUS"},{"cca2":"RW","cca3":"RWA"},{"cca2":"SA","cca3":"SAU"},{"cca2":"SD","cca3":"SDN"},{"cca2":"SN","cca3":"SEN"},{"cca2":"SG","cca3":"SGP"},{"cca2":"GS","cca3":"SGS"},{"cca2":"SJ","cca3":"SJM"},{"cca2":"SB","cca3":"SLB"},{"cca2":"SL","cca3":"SLE"},{"cca2":"SV","cca3":"SLV"},{"cca2":"SM","cca3":"SMR"},{"cca2":"SO","cca3":"SOM"},{"cca2":"PM","cca3":"SPM"},{"cca2":"RS","cca3":"SRB"},{"cca2":"SS","cca3":"SSD"},{"cca2":"ST","cca3":"STP"},{"cca2":"SR","cca3":"SUR"},{"cca2":"SK","cca3":"SVK"},{"cca2":"SI","cca3":"SVN"},{"cca2":"SE","cca3":"SWE"},{"cca2":"SZ","cca3":"SWZ"},{"cca2":"SX","cca3":"SXM"},{"cca2":"SC","cca3":"SYC"},{"cca2":"SY","cca3":"SYR"},{"cca2":"TC","cca3":"TCA"},{"cca2":"TD","cca3":"TCD"},{"cca2":"TG","cca3":"TGO"},{"cca2":"TH","cca3":"THA"},{"cca2":"TJ","cca3":"TJK"},{"cca2":"TK","cca3":"TKL"},{"cca2":"TM","cca3":"TKM"},{"cca2":"TL","cca3":"TLS"},{"cca2":"TO","cca3":"TON"},{"cca2":"TT","cca3":"TTO"},{"cca2":"TN","cca3":"TUN"},{"cca2":"TR","cca3":"TUR"},{"cca2":"TV","cca3":"TUV"},{"cca2":"TW","cca3":"TWN"},{"cca2":"TZ","cca3":"TZA"},{"cca2":"UG","cca3":"UGA"},{"cca2":"UA","cca3":"UKR"},{"cca2":"UM","cca3":"UMI"},{"cca2":"UY","cca3":"URY"},{"cca2":"US","cca3":"USA"},{"cca2":"UZ","cca3":"UZB"},{"cca2":"VA","cca3":"VAT"},{"cca2":"VC","cca3":"VCT"},{"cca2":"VE","cca3":"VEN"},{"cca2":"VG","cca3":"VGB"},{"cca2":"VI","cca3":"VIR"},{"cca2":"VN","cca3":"VNM"},{"cca2":"VU","cca3":"VUT"},{"cca2":"WF","cca3":"WLF"},{"cca2":"WS","cca3":"WSM"},{"cca2":"YE","cca3":"YEM"},{"cca2":"ZA","cca3":"ZAF"},{"cca2":"ZM","cca3":"ZMB"},{"cca2":"ZW","cca3":"ZWE"}]
3565
3566/***/ })
3567/******/ ])
3568});
3569;
\No newline at end of file